Ask HN: What non-work task have you automated? - <AUTHOR> <comment><USER6> I have a house plant that is watered automatically, but not based on any pre- determined schedule. I have the plant's livestream and its moisture level available publicly on pleasetakecareofmyplant.com and the decision to water is crowd sourced on reddit.com/r/takecareofmyplant by way of a daily vote.

<comment><USER7> What moisture sensor are you using? That's always been a sticking point for me, where soil moisture sensors just don't work, unlike air moisture sensors.

<comment><USER6> It's very simple -- something like [https://www.amazon.com/Moisture-Humidity- Compatible-Atomic-M...](https://www.amazon.com/Moisture-Humidity-Compatible- Atomic- Market/dp/B00TMD43BS/ref=sr_1_cc_3?s=aps&ie=UTF8&qid=1507756372&sr=1-3-catcorr)

Due to the volume of the pot, it would be difficult to get a true moisture reading, so I place the sensor directly under the spout in order to have noticeable changes.

</comment></comment></comment><comment><USER8> 1\. My former spouse wouldn't answer the home phone when I talked with the kids during the divorce. I wrote an app that texted her and logged the attempt for reporting to the guardian ad litem.

2\. She also wouldn't answer the door when during kids pick-up. The same app texted her when I was outside.

3\. To disprove her allegations I wasn't involved in the kids school and activities I used Android's Locale app to trigger geofenced log entries.

4\. Python and Matplotlib came in quite handy automating timeline generation from PDF docs. Never got that one quite perfect though.

I'm not sure I could have prevailed in getting more time with my kids without the time savings automation gave me. I've seen other fathers stopped cold in Court who were less prepared.

<comment><USER9> Did you have to prove your system was logging real data?

<comment><USER10> You might be able to use [https://opentimestamps.org/](https://opentimestamps.org/) to provide evidence over time (i.e. proving it wasn't fabricated all at once).

Still, that doesn't prove that the individual points weren't fabricated at the time.

<comment><USER11> Another question is if this will be admissible in the court.

<comment><USER12> I am not a lawyer but it would seem if you attest to the fact that it is reliable data it would be admissible. Lying under oath and fabricating evidence is still against the law.

<comment><USER13> > To disprove her allegations I wasn't involved in the kids school and > activities...

There don't seem to be any criminal charges here.

<comment><USER14> That doesn't mean you don't get sworn.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I have a system built on top of Calibre's "recipe" scripts which scans a set of RSS feeds every day at 3am for new articles, scrapes and cleans the full content where necessary, bundles them into .mobi ebooks, and sends them to my Kindle's email address. Amazon's network wirelessly delivers them overnight, and I wake up in the morning with a fresh batch of reading material. It's like a personalized newspaper subscription.

Similarly, I have a self-hosted instance of Tiny Tiny RSS set up with an array of custom scraping plugins to pull all the web comics I follow into one feed, which I consume with the Android client. I'd push this through my Kindle delivery system, but then I'd be stuck reading black-and-white versions of color comics.

Along the same lines, there are a few YouTube channels I subscribe to whose content can be enjoyed nearly as well in audio-only form. As a university student, I do a lot of walking most days to get from place to place, and I fill that time listening to audio content. The same server which runs my news- and comic-gathering systems also watches those YouTube channels, pulls down new videos, converts them to audio, and publishes the results as podcast feeds which I can subscribe to through Pocket Casts on my phone.

<comment><USER16> This is cool.

I wonder how effective it is though these days, I'd say 70% of my RSS feeds are either truncated forms of a full article (with a 'click here to continue reading!' link), or just summaries.

<comment><USER15> That's what the scraper scripts are for. For each site that does this, I have a bit of code which visits the article URL and pulls out the full content.

<comment><USER17> Most site also display data in a much easier way if you identify as googlebot

<comment><USER18> That's a great way to kill your page rank.

</comment></comment></comment></comment></comment><comment><USER19> My girlfriend needed to be texted everyday otherwise she would turn sour. So I made an sms generator that randomly composed sentences combining words from three tables and sent to her at random times. It took her many months to notice. When she found out, she was angry for 10 seconds, but that anger faded to curiosity about how the random sentence composer thing worked. After I showed it to her, she got mad at me again for not updating the tables more frequently :P

<comment><USER20> I did something similar, my gf wanted me text her that I got home safely after I left her place. So I automated it that when I disconnected to her WiFi and within a certain time reconnected to mine it would text her. She noticed it when she drove me back home once and still got the text.

<comment><USER21> My wife and I simplified the "where are you" problem by turning on always-on location sharing in Google maps. Some people find it creepy, but as a couple of engineers we're pretty stoked on the efficiency improvement.

<comment><USER22> I'd still be creeped out. What if I want to go secretly shop for a gift?

</comment></comment></comment></comment><comment><USER23> I used Python to automate generating a chronological email/sms/phone contact archive when a home renovation project went wrong. My builder made a bunch of mistakes, tried to fob me off with excuses, and then pretended everything was ok. This integrated log was invaluable in showing discrepancies between what he said at the time and what he subsequently claimed.

My Python script reads my Google Contacts csv extract to identify relevant people, the lxml library parses my mobile phone call and sms logs, the mailbox module reads my email inbox and Sent Items to extract relevant messages, PIL resizes attached images. Then I use docx to reassemble the results chronologically into a Word document suitable for submitting in court proceedings.

The resulting Word document is an intimidating 130 pages long. I have shown my builder enough excerpts for him to accept liability for most defects. I won a County Court judgment against him last week. Now for the financial settlement!

I thought about putting my script up on github, though haven't had time to scrub some personal information from the source code...

<comment><USER24> I use Google Voice and have often wanted pretty much the same thing.

If you could integrate that into an application (Google Contacts integrated message history with Email/SMS/Phone/GV message history) that I could run on my own device, I would pay money for that. I would only be interested if I could run it on my own though, eg specifically _not_ as a third party service; privacy issues.

<comment><USER25> SMS Backup+ for Android can put all texts into your GMail archive (and calls into Google Calendar), knocking out one dependency there.

[https://github.com/jberkel/sms-backup-plus/](https://github.com/jberkel/sms- backup-plus/)

It's actually one of the first apps I always install after I discovered the hard way that Android used to delete corrupted SQLite databases and I lost the SMS DB on my phone.

[https://stackoverflow.com/questions/7764943/what-can-be- done...](https://stackoverflow.com/questions/7764943/what-can-be-done-about- the-fact-that-android-automatically-deletes-corrupt-sqlit)

</comment></comment></comment><comment><USER26> Passive learning. Whenever I come across something cool or interesting, I put it into a chrome extension I made called "Harvest". It sends me email reminders of what I've added on a spaced repetition schedule (1, 7, 17, 35 days into the future) for optimal retention

[https://chrome.google.com/webstore/detail/harvest-grow- your-...](https://chrome.google.com/webstore/detail/harvest-grow-your- mind/dejecgndbecimagkaefkfdaedaimamji)

<comment><USER27> Man, this is awesome. Now that Firefox has become so vastly better than Chrome (who would have expected that a year ago?) you should port it to Firefox too.

<comment><USER26> interesting. ive heard this a lot. will port it

<comment><USER26> Firefox port done: [https://addons.mozilla.org/en-US/firefox/addon/harvest- grow-...](https://addons.mozilla.org/en-US/firefox/addon/harvest-grow-your- mind/)

<comment><USER28> Added. Thank you.

</comment></comment></comment></comment></comment><comment><USER29> I have set up a battery of scripts on google app engine and Im pretty happy with it.

1\. I have a script to automatically buy small amount of BTC every day

2\. For the more knowledge-dense books I read, I write summaries of them ([https://piszek.com/books/](https://piszek.com/books/)). I have a script that puts a random book review to my pocket for reviewing every week

3\. I have an instagram account of lego minifig ([https://www.instagram.com/le.traveller/](https://www.instagram.com/le.traveller/)). I wrote a script that likes other profiles to get traffic

4\. I have a script that parses my bank e-mail statements to fill up my spending spraedsheets

5\. I also have a script that parses incoming email for invoices. That system basically does my taxes

6\. My GTD methodology revolves around Evernote. I have cron jobs that throw me "checklists" with stuff to do around certain times (yearly taxes, etc)

7\. Using Twilio and verified number, my calendar sends personalized SMS with birthday wishes to my family that appear as they are from my number

8\. Also on Twilio I have DIY voicemail that is aware of where in world am I and either routes to my current SIM card or takes a message. I also have a US number that routes any SMS to my current SIM

I recently moved, so I have to rebuild all my Smart-Home hacks. I am currently trying to automate my Intercom at home to play pre-recorded message to postman and let him in automatically

<comment><USER30> I gotta say, #7, if something were to happen to you would be pretty scary. Have you considered that scenario? Tying the delivery of messages to some kind of manual online activity (e.g. recent emails sent)

<comment><USER31> Haha I thought of this too, imagine you're working for clients and you just died and this condition is met and they receive this email saying "If you received this email, then I am probably dead."

<comment><USER32> It exists... [https://www.deadmansswitch.net](https://www.deadmansswitch.net)

</comment></comment></comment></comment><comment><USER33> Does it count if it doesn't FEEEEL like work???

I started an escape room business for fun, and have been enjoying the heck out of writing custom software for the rooms. Both in-room and for administration.

My favorite is a javascript "OS" that I use to put imaginary windowed environments in the room, but the players never actually leave a full-screen browser.

It does full window management and all the regular UI stuff so it feels super normal to the players. My favorite part is that I don't use jQuery. That was just a little challenge I created for myself for fun.

Now my rooms have a login prompt of any kind, and I can then create windows with any kind of HTML/JS/CSS content for solving puzzles, extra clues, etc. I can use an RPi and control maglocks from the computer, light up LED's, or even communicate with wireless props.

I run a kiosk add-on for the browser and physically hack the keyboards so certain keys don't even work in the rooms. No F11 or Ctrl-Alt-Del without access to the netbooks or RPi's locked away in hidden compartments.

I also created a lot of room management software for timers, sending hints into the rooms on tablets, etc.

<comment><USER34> Nice! If you don't mind me asking, how profitable is the room?

<comment><USER35> I'd also like to know this. I'm fascinated by their business model and I see them popping up all over.

</comment></comment></comment><comment><USER36> Dodging the f __*ing lightning in the desert area of FFX. I spent hours in that section as a kid, never managing to dodge more than 20 bolts in a row... When it came out for PC, it was time for revenge!

I captured video input with a simple python+QT script and emitted a button- press whenever the screen flashed. The best part was that the script didn't interfere with my controller - I could run around the area opening chests and battling random encounters, all the while getting closer to the 100-contiguous-dodges prize!

Sure - a memory editor would have had the same effect in 5% of the time - <USER2> this was _way_ more rewarding.

<comment><USER37> On the video game kick, I remember needing to do a massive number of laps in Gran Turismo 3 to unlock something.

Turns out the low-tech solution of using an insanely fast car (Escudo), taping down the controller's gas button and just letting it do laps while grazing the wall worked. Some time later I looked back and had won.

<comment><USER16> I remember using a rubber band to tie the thumbstick of my Xbox controller in a forward position when playing Morrowind.

This made your character run into a wall, but keep running on the spot, thus levelling up your "athletics" stat.

</comment></comment></comment><comment><USER38> One of the biggest automation arena improvements I've made in my life is creating visual cue reminders and systems for a sort of stateful orderliness.

When the laundry basket gets full past the painter tape line, I do a load. I load the dishwasher after dinner, and unload it in the morning regardless of the volume. Got a roomba that runs every other day and cries when it's full of dirt.

I have NFC stickers that link to start webapp timers in my smart phones browser (just a url to googles timer web app, pre populated with time, I get push notifications and all that) tea brewing timer, Laundry+ Dryer, cooking, all cheap NFC sticker+ webapp

I also wrote a bot that alerts me when 3D printer deals from trusted retailers are going on. I just bought two for $160 each, with free shipping!

<comment><USER39> One of the best life hacks I found is to buy those stackable laundry baskets and sort them as you wear them instead of dumping them all in one and sorting right before doing laundry.

<comment><USER40> 99% of my clothing are pants, shorts, underwear, t-shirts and socks, and I've never felt the need to sort them - everything goes into a washer, then a dryer, then gets sorted into dresser/closet. Are your clothes significantly different from mine, or is there an actual benefit to washing your socks separately from your pants?

(Or are you talking about separating things like sheets, towels, etc?)

<comment><USER41> I sort mine too - depends on the color. Darks go in cold and whites generally on hot.

I wear a lot of white sports socks. All of them are pure white after years of having them.

</comment></comment></comment></comment><comment><USER42> Many of automation ideas here bring an edge to one person at the expense of everyone else. The ideas fail completely if too many people start doing the same thing. Actual examples from people on this list:

\- User pokes immigration website repeatedly to submit his application as soon as the site starts accepting. Obviously if everyone did the same thing, no one would benefit. The thing that needs fixing is an immigration system based (partly on) quotas and first come, first serve.

\- User automates sending amorous messages to his girlfriend, so long as she doesn't know they're automated. If enough people did it, girlfriends would eventually find out and the desired effect would be lost (or worse, they'd feel tricked).

\- User automates saving of all store coupons to his loyalty card without ever looking at the coupon. This defeats the idea of coupons (to encourage you to try something you would not have otherwise bought). If everyone did it, coupons would cease to exist.

\- User automates getting into desired university class by hammering the registration site repeatedly. Needless to say, if everyone started doing the same thing, no one would benefit.

\- User automated complaining to the water utility about a problem in front of his house. Once again, it might work for one person, but becomes completely ineffective if everyone does it for problems in front of their houses.

\- User automated late delivery complaints to post office to get compensation. If his script becomes too widely used, the monopoly post office will simply raise prices or stop offering compensation.

<comment><USER43> >if everyone started doing the same thing, no one would benefit

That is true, but I don't think anyone is claiming to make the world better. The question was more how individuals improve their situation, gaining a competitive edge if you will. That will always come at the cost of others, but in this case the hacks are really things almost anyone can do, so it's hard to object on moral grounds.

<comment><USER44> That isn't always true. If everyone started eating healthier and started exercising the world would benefit from a smaller demand of health care. If everyone stopped polluting the environment would be cleaner.

I think what is being talked about is something along the lines of if everyone became a minimalist then most people would be out of a job.

</comment></comment></comment><comment><USER45> About 10 years ago I was in the market for a used Toyota Camry, so I wrote a script that scraped the used car classified and extracted models within a 4 year range and within price & mileage caps. This got plotted out into 4 overlaid point series, producing graphs that roughly looked like 1/x, roughly 2-300 datapoints total.

With that in hand I went to dealer offering the best match, told them which car I wanted and how much I was going to pay for it. Put the graph in front of the salesperson who was floored, went back to his manager, and gave me the car for that price.

That was before I even knew what the term "market price" meant.

<comment><USER46> Love this idea. I'm going to whip something up for monitoring the market for two or three models of hatchback that I'd like to buy at some point in the next year or so.

</comment></comment><comment><USER47> I have an ultrasonic sensor on top of my monitor to tell the computer when I'm in front of it or not. If music is playing when I walk away from my computer, it pauses the music player. When I return, it starts playing again. It will also wake the monitors from power saving mode when I return, too.

[https://www.michevan.id.au/content/are-you- there/](https://www.michevan.id.au/content/are-you-there/)

<comment><USER48> Thats awesome! I have a related system for pausing music, but never thought of using an ultrasonic sensor. I might need to add that in!

[https://news.ycombinator.com/item?id=14151439](https://news.ycombinator.com/item?id=14151439)

<comment><USER49> I have something similar, linked above.

If you're in a cube I wonder if you'd be better suited to an IR-beam break? If you have to walk through an "entrance" you could detect that happening pretty easily - although you'd want to avoid flaps to handle the case of somebody leaving too.

</comment></comment></comment><comment><USER50> Wrote a simple app that emails people automatically asking them if they want to hangout. It reads my calendar and randomly decides whether or not we should hang out. The probability that it'll decide to ask gets higher and higher the longer we don't hangout, which it determines by reading my calendar.

<comment><USER51> Would you happen to have this script up on Github? Also, do you usually send events as part of the invitation (i.e. concerts, coffee e.t.c)?

<comment><USER50> Not yet - let me clean it up first and I'll ping you guys

</comment></comment></comment><comment><USER52> I "automated" (trained?) my kid to make her own breakfast at the weekends so I can sleep longer.

Started when she was around 4, it's easier now she's 7.

Lots of parallels with hacking code:

      * Specific rules (if there are more than 2 stars showing on your clock, it's too early to get up)

      * Trial and error (put cereal in a jar and loosen the lid slightly, put milk in a tiny jug at the bottom of the fridge)

      * Optimisation (if you don't want cereal, don't wake me up, but have a yogurt instead)

      * Enhancement (feed the cat, so it doesn't wake me up either)

I'm not lazy, sleep is important :)

[edited formatting]

<comment><USER53> can you elaborate on more details? seems fun/interesting

<comment><USER52> Now I think about it, we started when she was about 2, leaving a marmite rice cake in a bowl outside her door, with a bottle of water (with a sports cap), that was just enough to delay her slightly.

As she got older, I'd put some greek yoghurt in a bowl with cling film over the top in the fridge, and a plastic cup of water with tin foil over the top and cutlery on the table.

Now I just say "no cartoons before 7", and she sorts her own water out, makes some bread and butter (don't trust her with the toaster yet) and helps herself to yoghurt.

She woke me up at 9 this morning, happy with that!

</comment></comment></comment><comment><USER54> 1\. IFTTT turns off all of my Hue lights at sunrise (task: turn off forgotten lights)

2\. At one point last year, I felt that my mornings were getting slower and slower (causing me to leave later), so I set up a Dash button where I hang my keys. When I left for work, I'd press the button, and the script would log the time to a Sparkfun data feed. After a month, I reviewed it to see just how bad it was (pretty bad). (task: life tracking I didn't have the brainpower for in the morning)

3\. The worst part about D&D is keeping track of all the little variables and math, and none of the character sheets are any good (or if they are, they have 1 or 2 glaring problems, like only allowing 3 classes), so I wrote my own. Uses KnockoutJS to update all the little formulas that change every time you level up or gain skill points, etc. Here it is, though it's not exactly polished for public consumption: [https://github.com/imnotpete/character- builder](https://github.com/imnotpete/character-builder) (task: fiddly math when I'm trying to have fun)

4\. More IFTTT -- if my Roost fire alarm battery detects an alarm, I should receive an email and all my Hue lights will turn on. Unfortunately, the whole Roost process is slow enough that I just get confused when all my lights turn on 5 minutes after I burn the pizza. (task: turn on the lights so I can see to put out a midnight fire or escape my burning house)

<comment><USER37> Have you tried Roll20 for D&D? We used it for our group here at work as it allowed a remote team member to play. Even if you don't use all of it, the character sheet tools and info are pretty solid (albeit missing some things like certain spells).

<comment><USER54> I looked into it before I started coding, but it seemed the 3.5 support was pretty slim, at least for the character sheets.

</comment></comment></comment><comment><USER55> My photo organization workflow.

[https://medium.com/@jmathai/understanding-my-need-for-an- aut...](https://medium.com/@jmathai/understanding-my-need-for-an-automated- photo-workflow-a2ff95b46f8f)

[https://medium.com/@jmathai/introducing-elodie-your- personal...](https://medium.com/@jmathai/introducing-elodie-your-personal- exif-based-photo-and-video-assistant-d92868f302ec)

[https://medium.com/@jmathai/my-automated-photo-workflow- usin...](https://medium.com/@jmathai/my-automated-photo-workflow-using-google- photos-and-elodie-afb753b8c724)

[https://medium.com/@jmathai/one-year-of-using-an- automated-p...](https://medium.com/@jmathai/one-year-of-using-an-automated- photo-organization-and-archiving-workflow-89cf9ad7bddf#.97qsvo3cq)

[https://github.com/jmathai/elodie](https://github.com/jmathai/elodie)

<comment><USER56> This is great! I've been wanting to do this for years. I'm still amazing something everyone should want is so difficult.

</comment></comment><comment><USER57> The grocery chain I shop at has a component of their loyalty card that lets you add certain coupons to your card and they change constantly. All told there may be a few hundred of items offered up daily, most of which I don't buy anyhow. So instead of wasting my time sifting through them to save $10 a month I just wrote a script to add all of them to my card every day at the same time. So long as I go shopping after that time I may have discounts for items I actually purchase deducted at checkout.

<comment><USER58> Safeway does the whole digital coupon thing. It's too much of a hassle to be worthwhile but this could help. Not sure it's worth the effort of writing the script myself though. Do you mind open sourcing it?

<comment><USER59> I wrote a database and interface once that would automatically catalog and run the Safeway Monopoly game, all I had to to was scan in the pieces with an app on my phone. It worked well, but demonstrated just how bad my luck was, after 614 tickets gathered, I won exactly 0 items. :/

<comment><USER57> Planning on using OpenCV to look for the "rare" items on the next go-round and not have to actually scan over all the game pieces manually. The most I can expect is to have some fun writing the code because I'm quite unlikely to win any cash or prizes.

</comment></comment></comment></comment><comment><USER31> I wrote a bot to read the top article titles and comments (10 articles at a time) on Hacker News and it just runs every hour. Plays out loud on my speakers. Uses a rapsberry pi, python and AWS Polly, I put the code up on github if anyone is interested. The voice kind of gets monotonous but I've found Kendra's voice to be the best IMO.

Last edit: since the free tier has a 5 million character per month limit (AWS Polly) I wrote the script to check if my one desktop IP is connected and if so it can run as I'm not always home/desktop off.

So I can keep working and when it plays I pause my music and listen to it. Takes about 20 seconds to do the 10 requests limited to 1500 characters per audio file/synth request.

Edit: to be clear you don't need a raspberry pi, just a computer with web connection, runs python, with audio output and scheduler eg. cron.

I just have a raspberry pi webserver at home that is always on, also does other stuff like measure a solar cell's voltage every 10 minutes. It doesn't do anything useful at this time just gathering data and plotting it on a site/working with ADCs/building web API to receive data (want to make it world wide).

[https://github.com/jdc- cunningham/python_aws_polly_hacker_ne...](https://github.com/jdc- cunningham/python_aws_polly_hacker_news_article_reader)

<comment><USER31> Video of it working skip to 23 seconds

[https://youtu.be/fWfatVYML9o](https://youtu.be/fWfatVYML9o)

<comment><USER31> Odd it broke today, been running for I'd say several weeks. Connection aborted will see what it means. Hasn't been on for a while though since I haven't been on/since I posted about it, coincidence probably.

Nope, now it's working no code changed, guess that one or two requests failed

</comment></comment></comment><comment><USER60> In college I wrote a script to register for classes. I'd input the potentially-full classes I'd like to register for, and it would just hammer the registration site repeatedly until someone removed themselves from the class at which point I'd be registered. I'm still amazed IT didn't pull the network connection to my dorm room or have any kind of rate limiting.

No 8am sessions for me!

<comment><USER61> I occasionally hear about students in US colleges having to compete for places in classes like this. How does it happen? Why does the college admit more people than it has class space for? In the UK they don't enroll more people than they can teach so everyone has a place.

<comment><USER62> Due to variation in demand for classes, which students don't all take at the same time, there's an imperfect prediction of supply.

Additionally, the competition is usually for desireable time slots, rather than to get into a class at all.

<comment><USER61> Ah in the UK each class only runs once a year, and everyone supposed to do that class just all does it together at the same time. If there are electives each elective can take any number of people up to the total number on the course. So no need to compete for places.

</comment></comment></comment></comment><comment><USER63> 1\. A script that pulls the subject of the meetings on my calendar for that day and creates a doc of the same name in a folder on my Drive. At the end of the day, if the doc is unchanged, it deletes the doc. If the doc has changed, it places it in an archive folder to make room for tomorrow's meetings. This encourages me to take notes because my doc has already been created and it's easy to get to. (Shoot this is a work task but I'm still proud of it)

2\. Created 4 labels for Gmail: Archive/After 2 days, Archive/After 8 days, Delete/After 2 days, Delete/After 8 days with filters that apply those labels to filtered messages. Created a Google Sheet with a GApps script attached that takes those labels and deletes or archives after the messages expire. Handy to keep the inbox clean.

<comment><USER64> Love both of these. Started working on a similar thing to #2 in python, never got around to finishing it.

</comment></comment><comment><USER65> Checking the radar. In the midwest, weather comes at you from a long ways away, so I wrote a script to set my desktop background to be the current national radar mosaic every 15 minutes.

Explicitly setting the background programmatically was very unreliable in practice. The beauty of my script is that it simply wgets the image, checks if it is valid, resamples the image using a high quality algorithm (slow but worth it), places it in a folder, and deletes the old image.

My background preference is set to shuffle between images in that folder every minute, therefore my script acts like a pipeline.

<comment><USER66> Do you mind sharing where you get the radar image from? I'm trying to do something similar so I can see how I should dress for my bike commute every morning. The only good/free one I have found is NOAA's RIDGE ([http://www.srh.noaa.gov/jetstream/doppler/ridge_download.htm...](http://www.srh.noaa.gov/jetstream/doppler/ridge_download.html)) but it's low resolution and ugly.

<comment><USER65> I use the national base reflectivity radar.

[https://radar.weather.gov/ridge/Conus/RadarImg/latest.gif](https://radar.weather.gov/ridge/Conus/RadarImg/latest.gif)

</comment></comment></comment><comment><USER67> (This first one made/saved me thousands) I use it both for home and work:

I automated the online creation of late delivery "inquiries" to Australia Post (I.e when an parcel is late or has gone missing).

Australia Post has a service level agreement for prepaid Express Post satchels where if they're late they will give you a satchel for free (or credit your account).

When I applied this to every order my work shipped for the past year, the script accounted for 90% of the day's inquiries I got back thousands of dollars.

The script is written in Rubsy and uses Watir.

Another script I wrote automatically pays my waste collection company via fax. They have the ability to email a PDF invoice but not take payments online.

The script takes the PDF, and fills in my credit card details, adds a signature and faxes it to the company.

<comment><USER68> This is the script I have been looking for, any chance at sharing or selling it?

We did this manually every week to get refunds from Australia post, but with volume it takes a long time to check on them all.

</comment></comment><comment><USER69> I automated complaining once a month to the local water utility about a persistent puddle in the street in front of my home, caused by a leak.

<comment><USER60> Ohh someone should do this for the pot holes in the Bay Area.

<comment><USER70> You could do what one guy did and start spray-painting penises around the pot holes.

(slightly NSFW) [https://www.huffingtonpost.com/2015/04/27/artist-penis- potho...](https://www.huffingtonpost.com/2015/04/27/artist-penis-potholes- wanksy_n_7149810.html)

<comment><USER71> Time to program the Roomba.. just add image recognition and spray paint module..

<comment><USER60> Too many potholes for a Roomba, need a drone with a spray paint can.

Hell, just scrape seeclickfix for reported pothole locations, have the drone fly there and draw a dong, and boom, instant fix.

<comment><USER72> Ah, yes, this will not end well, but I will enjoy reading about it!

</comment></comment></comment></comment></comment></comment><comment><USER73> I automated downloading and reconciling my financials from all my bank accounts.

[https://disjoint.ca/projects/ledger- reconciler](https://disjoint.ca/projects/ledger-reconciler)

<comment><USER74> Holy cow, I've been looking for this but for the US. Anybody know of any?

<comment><USER73> If you're up for it, you can add your own bank/creditcard company/whatever as a plugin to it - I think the examples there are decent. I could also help if need be!

<comment><USER74> Haha thanks! The problem is in the US most banks would need screen-scraping; they don't have APIs, so it's a lot more work to do such a thing.

<comment><USER73> ledger-reconciler uses headless chrome underneath to screen-scrape all its information from banking/creditcard websites. That's how all the plugins hook into it.

It does not use any public or private banking APIs.

Hope that helps!

<comment><USER74> Oh dang I didn't know! I'll check it out at some point then, thanks! :)

</comment></comment></comment></comment></comment></comment><comment><USER75> I recently made a bot that scapes the local apartment listings every five minutes, filters by price and area, and then sends me the new ones in the form of Telegram messages with the basic details, a GIF of the photos (scaled to mobile size), and a map widget.

Getting push notifications with the new apartments is really great, and I'll definitely be making more Telegram bots in the future...

<comment><USER76> mind sharing any more detail? heard of someone doing this before, but just started searching for a new place

<comment><USER77> My top-level post covers a similar approach to this.

</comment></comment></comment><comment><USER78> I used Nightmare ([https://github.com/segmentio/nightmare](https://github.com/segmentio/nightmare)) to automate logging into my 401(k) provider's website and fetching my current balance (no public tickers for the funds). It uploads that number somewhere and then I fetch that somewhere in a Google Sheets spreadsheet where I keep track of my portfolio.

<comment><USER37> Have you had many issues with them changing things that break this connectivity? I use Mint and they seem to have endless issues with that despite having obviously close business relationships.

<comment><USER78> Not really, but I haven't updated the package version in a while.

What is Mint (I assume you're not referring to the Linux distro)?

<comment><USER79> Mint is a financial website/app that hooks into your bank accounts, credit cards, investment accounts, loans, etc. and compiles them all into one place. It also has some built in budgeting tools and such. It's owned by Intuit.

[https://www.mint.com](https://www.mint.com)

<comment><USER78> Oh, sorry. Yeah, I've heard about it. I don't like using services like Mint or Personal Capital because they indeed run into connectivity issues sometimes. I find it not to hard to keep track of things using a simple spreadsheet.

So far I've only had to upgrade my script once, when my 401(k) provider changed the ids of some form fields.

</comment></comment></comment></comment></comment><comment><USER80> I use the public bicycle system of Brussels (Villo) quite a lot to commute. I've written a script that fetches the current status of the stations (number of available bikes & free spots) from [https://opendata.brussels.be](https://opendata.brussels.be)

In the morning, I get an Android notification about the stations around my home, and in the evening around my workplace.

<comment><USER81> I did something similar in Montreal (Bixi) a couple of years ago, in order to determine when I had to leave the house so that there was still a bike left at my station to go to uni.

</comment></comment><comment><USER82> I had a cron job that sends automatically a text to my wife each morning along with a joke, she's in another country so is something I did to keep the communication open

<comment><USER83> This sounds terrible. Even more terrible a lot of people (probably you also) don't find it terrible.

<comment><USER84> No reason to be so harsh. She's married to a techie. This is a techie thing to bring a little bit of happiness is all.

You're acting like he used a markov bot to reply to all his wife's messages.

<comment><USER85> Imagine two Neural Nets trained by husband and wife to do the usual conversations. Now add a solarcell and a speaker- and some noise generator for starters on a gravestone- and long after the couple is gone, the beloved ones arguing goes on.

This is brilliant! No, it is not, this is one of your worser ideas. Oh, Madam is constructive again today. You want me to say my true opion or not.. This is how you always swing that- no matter how rude - its freedom of expression in danger.

<comment><USER86> I feel like this is an SMBC comic not yet illustrated.

</comment></comment></comment></comment></comment><comment><USER87> I've mentioned this before on HN.

\- I've automated taking screenshots of my laptop screen + webcam and fuse them and organise by year/month/day/hour. This gives me a nice lookback at what I was doing on a particular day (assuming I was at my laptop, which I mostly am).

\- I also send my GPS location each 30 minutes, again from my laptop, into a database for a nice visualisation where I was at some time.

\- Automatically move files from my laptop into various folders which are stages of "stagnation" of the file, makes it easy to keep stuff clean.

<comment><USER88> Pretty neat, but that could be dangerous if someone got ahold of that information.

<comment><USER87> I guess, in reality the information is quite boring.

</comment></comment></comment><comment><USER47> I have an old analogue modem which I use to pick up caller ID information for incoming phone calls using NCID[1].

When a call comes in:

* Automatically pauses the music player on my PC.

* Looks up the number in my address book, and displays the information on my screen. Also sends to the two Kodi/OSMC servers, for people watching TV.

This assumes it is not on my block-list. If it is on my block-list of known scammer and telemarketer numbers then it as automatically answered with a recording of the "This number has been disconnected..." message to try and trick them.

[1] [http://ncid.sourceforge.net/](http://ncid.sourceforge.net/)

<comment><USER89> I used to have a similar setup, except it announced the name/number using festival TTS. Now I've replaced the landline with VoIP and an Asterisk server, so instead I just use a perl script that does the same thing, with the added functionality using my local LDAP server to match names with numbers. Having all my friends, family members and contacts in LDAP has made it easier to automate another task: keeping my antispam white list updated.

<comment><USER47> I use NextCloud (fork of OwnCloud) to manage my contacts[1]. It has a CardDAV interface. Synchronises contacts with my phone, and live lookup for my email client too. Very nice having a single-source-of-truth contact list.

[1] In fact, that's all I use it for. Don't use any of NextCloud's other functionality.

</comment></comment></comment><comment><USER90> I got into programming in 6th grade when I was addicted to the online game Runescape. My parents only allowed me to play 2 hours a day, so i downloaded some bots to farm gold for me.

Within a couple months i got perm banned for macro abuse, and wanted to create a smarter bot. I began making simple edits to scripts to add randomness. I kept getting banned.

By highschool i was putting more effort into coding bots than playing the game. I even started teaching myself how to do some client side modifications via ASM java bytecode injection.

I never made a really great bot, but it was a ton of fun. Over a decade later I am a software dev happy as could be.

<comment><USER91> Some of the best Runescape bots were all written in SCAR ([https://scar- divi.com/](https://scar-divi.com/)). A friend of mine used them for months at a time all on one character to get 99 in many skills. He was never caught and never banned. The scripts were very sophisticated- human style mouse movement, mouse clicks, random event solvers, etc.

</comment></comment><comment><USER92> Built an automatic outdoor watering system using a zwave-controlled power outlet, a 120v AC solenoid valve, and a simple linux server running openHAB. I trigger the watering system using a script that checks the weather and sunset time for that day. If there was no rain and it's 2 hours past sunset, the script turns the watering system on for a set period.

Makes supporting a large garden while frequently traveling doable.

<comment><USER93> What solenoid did you use? I was looking into this and struggled to find an affordable valve for the water, the zwave switch is simple and I love that part of this solution!

<comment><USER92> I've had good luck with the 3/4" brass from both U.S. Solid and HFS. Both are 110 AC and range from $20-30 US on amazon. You'll have to solder on a male plug on both of these, but that's pretty straight forward. I also recommend waterproofing the wiring with some liquid electrical tape.

I've been messing with a 12V DC valve by SparkFun as well. It runs around $8, but it doesn't hold up well under high pressure. Great for a low pressure/gravity fed system though.

Also, you don't have to use zwave for the plug if you don't want. There are all sorts of remote controlled outlets now for whatever wireless standard/protocol you want to do your automation over.

<comment><USER93> Thanks! My entire house is Smartthings / Zwave...so the plug in this case will be perfect for me. Sounds like a fun project overall, appreciate the reply!

</comment></comment></comment></comment><comment><USER94> Here are a few that have been pretty useful to me and my friends:

1) Local events finder. A few friends of mine and I moved from San Francisco to Los Angeles last year and didn't know many people. Even though there is a vibrant event scene down here with hundreds of events every day, we always seemed to find out about the cool ones after they had passed. I wrote a Facebook scraper that would find all of the local businesses and events for each of the businesses. It puts it in a Postgres database and then does some simple sorting based on different signals (e.g. how many likes for the page, how many people RSVPing yes, maybe, no for the event) and spits out a spreadsheet. This has been great to discover events and a huge time saver for planning dates.

2) Photo organizer. I use Dropbox's iOS app to backup photos from my phone to Dropbox. However, it just puts them into one big folder. I wrote a simple Python script to parse the filenames of the photos/videos and put them into a nested folder structure by year/month.

3) Long flight movie digest. I had a few long flights that weren't going to have wifi, so I built a web scraper to pull the movie list from the flight ahead of time and then cross reference it with Rotten Tomatoes so I could get a stack ranking of the movies by Tomatometer rating.

<comment><USER95> is 3) up somewhere? I spend my time from boarding to takeoff frantically googling movies.

<comment><USER94> Not yet, but I am happy to share it. Shoot me an email and I'll dust off the code and send it your way.

</comment></comment></comment><comment><USER96> I have a script on AWS which scrapes the UK National Rail website for my commute every few minutes between set times in the morning and afternoon, and sends me a Slack notification if there are delays or cancellations.

I could check manually but train problems are actually infrequent enough that I usually don't bother, although they are highly disruptive when they do happen.

<comment><USER97> Hey, I work for company that works with UK National Rail. Where are you located? Are you looking for a job? Which technologies have you been using?

<comment><USER98> This is how you catch and jail the bad boy who's scraping your website :P

</comment></comment></comment><comment><USER49> I built a device to show the departure time of trams at the end of my street, to avoid walking to the stop too soon, and having to stand in subzero temperatures for too long.

(I live in Helsinki, and it was the end of last year when I put this together. Temperatures were colder than -20C for a week or two.)

<comment><USER99> Could you give more details about it? What device is it? How does it work?

<comment><USER49> I remember posting about it here in the past, because I was so in love with the service that allowed me - a complete beginner - to get a case 3d-printed cheaply and easily.

The project itself is documented here:

[https://steve.fi/Hardware/helsinki-tram- times/](https://steve.fi/Hardware/helsinki-tram-times/)

It consists of an LCD-screen and an ESP8266 device. (Think "like an arduino, but with on-board wifi". Programmed in C++ it basically polls an online URL to decide what to display with a simple web interface you can point your browser at to change the timezone, the stop-id being monitored, etc.

</comment></comment></comment><comment><USER100> Long time ago, when I was at the university (around 2010), I created a script that was scraping a dating website, browsing every girls profile who were in a reasonable distance from me and store all their details into a database.

Then from this point, I could search for any girls detail I wanted and find the perfect match according to my criterias.

One important drawback with that, is that the website used to send a notification to the girl everytime you were browsing her profile. My scraper was not smart enough to understand that it shouldn't scrape twice the same profile. So I had a bad moment everytime they asked me why I was so interested for in their profiles and why I used to see them, let's say 10 times a day. :D

Ah, and for those who are curious: this little side project never brought me any girls. :D

</comment><comment><USER101> Not sure if this counts because I didn't actually code anything: but using gmail filters to automate my personal email flow has had a huge effect on my day.

<comment><USER102> I'd say it counts.

My favorite filter is anything containing "unsubscribe" goes to a "Mailers" folder never to be seen.

I don't understand how people can deal with having unread emails in their inbox all the time.

<comment><USER103> Am I the only one who clicks the unsubscribe link? I live by Inbox Zero and I've been giving out my email address for over a decade (500+ sites and services in 1Password), but I very rarely receive marketing emails because I always unsubscribe. In the US, it's a law that businesses must comply with opt-out requests.

Do most people feel their inbox is too far gone to manage manually?

<comment><USER102> I ignore them mainly because it's easier. Facebook alone might send me 10 emails a day begging me to come back.

If someone was smart, clicking the unsubscribe link would only validate that the address the mailer was sent to was being used. I suspect that several services do this either via the unsubscribe link or a pixel tracker.

<comment><USER104> Yeah, but that's now illegal, so only the real reprobates do it.

<comment><USER105> Trouble is there are just so many reprobates... (See also robocalls)

<comment><USER104> Most of the unwanted mail I see (at least what makes it past the basic automated filters) is from legitimate companies who think I'd like to hear about product updates every two days rather than Viagra pills or whatever.

</comment></comment></comment></comment></comment></comment></comment><comment><USER106> I got an Amazon IoT button and made some super simple back that will remind me to clean the pet's water fountain every n days. I just push the button when I clean the fountain. I would horrify how gross it was before when I would remember to clean it. It's much more humane now.

Also made Arduino boards that are dedicated timers to blink a light: \- 2 minutes to empty my coffee when brewing in a Aeropress. \- 24 hours to empty the cat's litter box.

Both of the timers are so simple. It doesn't sound like much, but the hyper focus on the task use case makes it actually improve my life in a small way.

</comment><comment><USER107> I have a number of old bookmarks on pinboard that I realized I never visit after I bookmarked it. Some of them I would like to clean up. So I have a heroku job that emails me a random half-dozen bookmarks every morning. I can visit them, and if I don't care about it anymore, delete the bookmark.

<comment><USER108> I need that. Any chance you got it somewhere handy?

<comment><USER107> sure! its a very simple script: [https://github.com/chronick/pinbots](https://github.com/chronick/pinbots)

<comment><USER109> I bookmarked your Github repo and will probably forget about it

<comment><USER107> Yeah, I should probably do something similar with GH stars

</comment></comment></comment></comment></comment><comment><USER110> I used a raspberry pi to control my TV using HDMI-CEC and exposed a subset of the controls through a web API allowing me to turn on/off my TV from my phone or voice controlled from a google home.

I did this because a chromecast will turn on my TV and set it to the correct input, but it wouldn't turn off the TV. Turning the TV off was the only reason I needed to touch my remote control at all. But just recently google added the turning off functionality to chromecasts... so I guess my little project fade away.

<comment><USER111> Side note: what TV do you have? I've found that most Samsungs and many other TVs don't respond to the HDMI-CEC off signal. Was quite disappointed.

<comment><USER110> Hey, I have a Sony. it supports being turned on and to the correct input by a Chromecast using HDMI-CEC. I think, like the other guy said, there may be a setting to enable it on your Samsung. I know someone with a Samsung that it works for (the turning on works for sure, not sure about the changing input and turning off). It may be called something different in your tv settings though... I'm sure you can google it. Good luck!

</comment></comment></comment><comment><USER112> When I connect to the Ethernet cable at home, my laptop automatically goes into hotspot mode, so I can connect to it with my phone. The router I share doesn't have a strong enough signal in my room.

When I connect to the WLAN at uni, my speakers get muted. I'm never the guy who wakes everyone up during a lecture because he left his speakers on.

After 23:00 my browser gets killed and the screen is locked. It has worked quite well to make me go to sleep earlier.

I also have a script to lock my screen every full hour for a break. That has worked less well, since I tend to be in the middle of something and log right back in to finish it "quickly".

Those are all implemented as messy Bash scripts that poll some commands and grep for keywords, but it gets the job done.

</comment><comment><USER113> I did a simple scraping automation of my favourite online clothing stores, storing the clothes (prices per size) in Postgres which would notify me via SMS if something I wanted dropped below a price point I set. Also built a simple front-end for it using React / Apollo (with graphQl and express on the backend) and MobX. The gist was you could select a store from a dropdown, plug-in the product code and it'd go fetch the product / save its url in the DB and scan it every 4 hours or so, then scan the products table to see if the price of the product was set below my desired price and then notify (scheduled via node-cron).

Had it working well, but of course it was against T&Cs for each store and ultimately would have been quite brittle, so I didn't polish it off before moving on. Frustrating because I wanted to use it as a demo to get a first web-dev job but it really wasn't worth completing and deploying. Also, twilio SMS in Australia is IIRC 5c per message which is kinda ridiculous for any serious quantity of texts, I planned to hook it up to a Telegram bot instead.

It was actually useful though because clothing retailers don't often send you a notification if what you want drops in price, particularly when it's an individual price drop due to low stock.

</comment><comment><USER114> Laundry. Just put your dirty clothes into a plastic bag and take them to dry cleaners. Pick up washed and ironed the next day. A huge time savings well worth the cost of service. Also no need to own washing machine, dryer, ironing board etc.

EDIT: Now that I think about it, this was a bad example of automation. Please don't downvote me!

<comment><USER115> In that case, I've also automated flying my own commercial airliner. I just pay someone $400 and I'm automatically flown anywhere in the continental US! Also, I automated bread baking. I just go to the supermarket and go to the bread aisle, and hey presto! Automatic bread.

<comment><USER114> I see your point. Now that I think about it laundry was a bad example of automation.

But to me it feels like automation as I used to do it all myself manually. The amount of time I saved still surprises me. Especially ironing.

<comment><USER116> I empathize with that feeling! I recently "automated" washing dishes by upgrading to an apartment with a dishwasher, and it's an amazing quality of life improvement!

<comment><USER114> You can take that one step further an order food every day. Or go eat out. Then you don't need kitchen and dishes.

</comment></comment></comment></comment></comment><comment><USER117> Automated almost all my bill payments to use my rewards card. I set up alerts on my online banking site so I get texted when each one clears. Saves me a couple hours of grumpy time each month, plus I get a substantial 1% cash back that ends up being about $200/year. Also, you can dispute charges on a credit card if they get it wrong. Can't do that with bill payment service.

<comment><USER118> I've found that some bills (mostly rent -- I still rent) charge a percent fee for paying with credit cards.

<comment><USER119> My landlord charges a flat fee for just using their online portal and my checking account. There's another 3% fee for using a card.

<comment><USER117> That's barbaric! But I guess it's understandable. Credit card companies and ISPs charge your landlord for providing their services, so he passes on the convenience costs to you rather than the people who have more time than money, and can shove an envelope fill of cash under his door.

</comment></comment></comment></comment><comment><USER120> I wrote a bash script to generate a directory structure and some stub files for each semester.

I use feh for my desktop background. I have a directory ~/.wallpapers where I keep symlinks of all the images randomly selected by a cron job to use for my wallpaper. (they can come from various directories) Anyway, whenever I download an image from the internet, I put it in it's relevant directory. And if I think it will also make a good wallpaper, then I prefix the filename with "add_" I have written a python script to search for all image files starting with "add_", and it then renames the file without the prefix, and adds a symlink to the ~/.wallpapers directory

I used to have a bash script on my old laptop that would send an email everyday to a certain government organization, telling them they were assholes.

Probably a few other similarly small things that I have forgotten about, because I automated them.

</comment><comment><USER39> 1) I've built a WordPress site to archive and backup my tweets [https://tweets.kingkool68.com](https://tweets.kingkool68.com) it fetches new tweets every 15 minutes. Source code at [https://github.com/kingkool68/wordpress-twitter- backerupper](https://github.com/kingkool68/wordpress-twitter-backerupper)

2) Whenever I post to Instagram I have a script that automatically posts it to Twitter including the image directly in the tweet like this [https://twitter.com/kingkool68/status/916853781911838721](https://twitter.com/kingkool68/status/916853781911838721)

Source code [https://github.com/kingkool68/ig2twitter](https://github.com/kingkool68/ig2twitter)

<comment><USER121> This should be possible with IFTTT too.

</comment></comment><comment><USER122> Expense tracking. My bank sends me one email every time my card is used.

\- Using the Google Places API I find the related establishment (gives me name, address, phone number, etc)

\- Using the Gmail API I look for a receipt email (if any) by looking for another email with the same dollar amount and the same date

So at any given time I can see all the purchases/payments I've done with rich information about where and exactly when (including time of day).

For some reason banks don't like to tell you the time of a purchase. only the date.

<comment><USER123> What bank do you use that has this feature?

<comment><USER124> Not OP, but Chase can email and send push notifications for any purchase if you set the threshold to $0.

<comment><USER125> I can't believe I never thought of this one. If real-time enough, that sounds like a very useful feature for accounting purposes. You could turn the email into a phone push notification asking you to classify the transaction as business or personal, for example.

That said, does it take negative numbers? Or how would it handle refunds/returns?

<comment><USER122> > If real-time enough

From my experience it seems to be very real-time. They call them "Rapid alerts"

> Or how would it handle refunds/returns?

It doesn't notify you of refunds as far as I know. So you won't be able to track your exact account balance just based on these emails. It's good enough for knowing what's going on IMO.

<comment><USER125> Having now set it up on a few of my credit cards, I can say that speed (and alert types) vary bank-by-bank. One bank sends me notifications for every transaction, another is like Chase but requires $1+ transactions, not $0. A third is delayed in showing _any_ transactions online (or by email) by two days on a regular basis, making its alerts somewhat less useful.

</comment></comment></comment></comment></comment></comment><comment><USER126> I've got two automations that were life changers.

1\. Whenever I start watching Plex on my TV, my home automation turns off the lounge light that reflects in the TV. 2\. If it's after 11pm, the fire is on and we're not playing music on the stereo, it means I've left the fire on - <USER5> it gets turned off.

</comment><comment><USER127> I track my visits to the gym with a geofence trigger with my phone--logs to a google spreadsheet through IFTTT.

<comment><USER128> This I would love to reproduce. How?

<comment><USER80> Here's a recipe (not mine) that logs to Calendar instead: [https://ifttt.com/applets/219749p-when-i-go-to-the-gym- log-i...](https://ifttt.com/applets/219749p-when-i-go-to-the-gym-log-it-in-my- google-calendar)

</comment></comment></comment><comment><USER129> In college everyone's class registration would open at once, and classes would fill up quickly. Some people would even register for more than they were gonna take, to hold it for friends or just to figure their schedule out. If I didn't get into a class I wanted, I had a HTTPS script set to attempt registering for it every 5 minutes. As soon as somebody dropped it - boom it was mine.

<comment><USER130> I did something super similar: In order to graduate on time I had to take an accelerated Spanish course (hard requirement despite years of Spanish in grade school and high school). Problem: The class had a pre-requisite that I hadn't taken yet. Solution: The Uni's registration system allowed for a 4 digit numeric code to be entered to bypass registration restrictions. I wrote a script to brute force that code, registered successfully and graduated on time. Muy bueno! :)

Edit: spelling

<comment> jay-anderson For classes that I needed/wanted to take which had prereqs I tried to show up on the first day of class and get an override signed by the teacher at the end of class. It usually worked. For example in a low-level music theory class I showed up and answered questions during the class (I think I correctly wrote out a d-flat major scale on the board). That was enough to prove to the teacher that I'd be okay in the class.

</comment></comment></comment><comment><USER131> I'm fairly interested in the competitive smash bros scene - a common occurrence is that one might record a few hours worth of gameplay after an event and then be too lazy to split the recording into the individual matches, leaving a lot of recorded dead time where nothing is happening.

I learned how to use the gstreamer and opencv libraries to automate recording gameplay only when a game is in progress - it is still a WIP but the basic functionality works.

I'm looking into using a webcam + barcode labels or an NFC scanner to implement a solution to automate naming the players playing each match. If anyone has an idea on how to track something like that I'd be interested in hearing it.

<comment><USER132> Awesome! Fellow smash player on HN!

GeekyGoonSquad started doing something similar when they were still around/streaming, and automated the uploading to youtube.

Re: automating the player names, on a non-stream set up, I think it will be difficult to get the names from players in a standardised way. My first thought was webcam + the players venue pass to get the competitors name, but even that is a little fiddly.

Best of luck!

<comment><USER131> I've just been fiddling around with things that can be attached to the end of the controller plugin such as rfid stickers, with a reader of some sort near the setup.

</comment></comment></comment><comment><USER133> Before moving to Tokushima, Japan, I wanted to get the best possible information on available apartments. Specifically I wanted to get a map which would show rental / sales prices at different locations, like AirBnB. So I wrote a scraper that went through all the local apartment rental sites and imported the data to Google Earth.

After spending several nights on this app and happily browsing the data, my wife then went to a local rental agency and just got some place they recommended.

While a bit annoyed my effort was in vain, after years of living here and often browsing the local apartment listings, I've come to realize this was actually a really good choice!

</comment><comment><USER134> Wrote a system to scrape a popular hotel website for all the hotels in a particular city and then expose them in a sql + map interface.

I found there was much more information being sent to the browser per room than was being displayed on the actual site, so it was possible to search by room size (square footage) and features like whether the rooms had balconies or not.

<comment><USER135> This would be so useful to me.

I always spend WAY too long picking out hotel rooms when I travel because it's so hard to compare hotels. The prices you see in search results are always for the cheapest room which I typically never want. And there's no way to see prices or sort by room size or amenities.

</comment></comment><comment><USER136> I have toiletries delivered to me once per month (from Amazon).

These being:

* New Toothbrush

* New Floss (I recently had a friend stay over, and asked me where I got the floss, as it was the best he had ever used)

* Toilet roll

* Mouthwash

* Shampoo/Conditioner

* Facecloth's

* Deodorant

They all just show up on my doorstep once per month, I don't even have to think about it!

<comment><USER137> Don't you end up with a lot of unused product?

</comment></comment><comment><USER138> Working on a script to automatically compile the best threads from HN each day and email. Might also send to pocket so I can read on my commute. Will go by thread count and screen out keywords in header to avoid topics I'm not interested in.

I find the most valuable thing in HN are the conversations in comments (sometimes also the least valuable thing, too).

<comment><USER139> When you're done with this, please open-source it on GitHub. Something like this would be very useful.

</comment></comment><comment><USER140> Automating book renewals back when I was in grad school. :shrug:

[http://ro.ht/posts/Automating-Library- renewals/](http://ro.ht/posts/Automating-Library-renewals/)

</comment><comment><USER141> I go to a crossfit gym where you have to "check in" for a spot in your desired class using their app. Sometimes these spots fill up fairly quickly so I automated that. I'm also in the process of making a web interface for my script so all my friends can use it and we are able to attend the same classes.

</comment><comment><USER142> I had three fun ones.

I wanted to learn powershell, and I was interested in the history of worms on the internet, so I made a script to check [https://isc.sans.edu/](https://isc.sans.edu/) and send me an email if the status was not green. Turns out, powershell has an all-in-one function to send an SMTP email, which I thought was hilarious. I used windows task scheduler to run it every hour.

Second, I was struggling with my Cable internet connection, and it was incredibly difficult to nail down what was causing my slow speeds. To help with the diagnostics, I wrote a little python script to download the files that Netflix uses for speedtests (check Fast.com) and logged the average of 10 runs to a file. It similarly used task scheduler to run every 10 minutes and as a result I now have a big old dataset of SpeedTests and unix timestamps which I graphed while playing around with Pillow

I wrote a python bot to Read project Gutenburg books to twitter. This was to participate in a contest that involved seeing which "team" could get a hashtag into more tweets. A twitter bot takes about five minutes to make, as I found a brilliant little Python-Twitter library. Unfortunately, my teammates got cold feet and convinced me to de-rate the bot's posting frequency, meaning we barely lost to a group of 60 or so sorority girls doing it the "correct" way. However, as we did it sort of below-radar, the loophole of automating it is still open and valid.

Currently I'm working on automating the process of creating photoreal scenery for Microsoft Flight Simulator. The FSX scene has built tools to turn open source land-use data into ground scenery like houses and forests, and Microsoft included the SDK and Documentation as part of the game[1], but since high resolution photo-real satellite photography is an incredibly expensive asset, nobody has automated that part of the process. I most likely will not be successful, as I have no source for the photo-real imagery.

Personally, I find that absurd, as my tax dollars as an American likely pay for incredibly high resolution (higher than 1 foot per pixel) satellite imagery of the entire world, and I'm not sure how the NSA providing that to citizens would hurt national security. The Stallman in me feels that I've already paid for that data, and it should be public domain. Hell, even a year old would work fine. The biggest problem would be Google and Microsoft lobbying to prevent the devaluation of their expensive assets.

[1] [https://msdn.microsoft.com/en- us/library/ff798293.aspx](https://msdn.microsoft.com/en- us/library/ff798293.aspx)

<comment><USER143> > I now have a big old dataset of SpeedTests and unix timestamps which I > graphed

This peaked my interest, as my connection is also crappy. Did you actually manage to make improvements with this data though?

<comment><USER142> I managed to confirm that my perceived changes in connection quality were ACTUAL changes in connection quality. I never took the time to do anything better with it though, but it does show that My provider seems to have done SOMETHING, as the speed floor has moved up, and significant events (sometimes as slow as dialup) became significantly rarer. It's also fun because it allows you to get a rough idea of how over provisioned the line is, as you can see day/night cycles.

My cable modem provides a status page with info about signal to noise ratio and other stats. I planned on adding more details to the script by scrapping from that page, but it requires a login first and I've never taken the time to learn how to manage that kind of state, as I do most scripty/webby things with raw requests from python's urllib.request module, like a plebian.

<comment><USER144> If authentication is cookie-based, you can use a Session object in python requests: [http://docs.python- requests.org/en/master/user/advanced/#ses...](http://docs.python- requests.org/en/master/user/advanced/#session-objects).

If it uses http basic auth, it's even easier: [http://docs.python- requests.org/en/master/user/authenticatio...](http://docs.python- requests.org/en/master/user/authentication/#basic-authentication)

Requests is a fantastic library.

<comment><USER142> Thanks for the links! The harddrive in my server died recently so I haven't had a chance to get it up and running again yet, but I will definitely update the script once I do!

</comment></comment></comment></comment></comment><comment><USER145> I share garbage cans with too many other apartments which means that the cans are often full when I take out the trash. My solution to this was to enter the garbage schedule into a raspberry pi, together with an estimated garbage can capacity in days. Now, differently colored LEDs light up on the Pi on days when there's probably still capacity left in the cans (i.e. the LED lights up the day after the garbage disposal and stays on for X days). I briefly considered the ethical implications of this (tragedy of the commons etc.) but when I realized that I produce so little garbage that I don't even use the trash cans every disposal cycle I concluded that what I'm doing here is probably fine. The code for this is a trivial ruby script: [https://github.com/RedNifre/pi_assistant_garbage/blob/master...](https://github.com/RedNifre/pi_assistant_garbage/blob/master/garbage.rb)

I also added blue LEDs for a simplified weather forecast: A 12h clock face cut in 4 quarters, 1 LED per quarter, indicating rain. So if I leave the house in the morning I bring an umbrella if any of the next 12h LEDs is blue, but if I go to buy groceries I only check the current 3h block LED. I'm using openweathermap for this but I wouldn't recommend it, the forecasts are a lot worse than what I get from a simple weather forecast app on Android.

I also wrote a scraper for web comics that turns them into ebooks so I can read them on my ereader.

I'm currently thinking about automating my banking. I had a look at HBCI, but it's so terrible that I then considered website scraping. Then I heard that banks will be required to provide a sane API next year or so so I'm waiting for that first.

</comment><comment><USER146> I use SMBSync2 (android) to back up my photos daily to a network drive. Then I created a nightly job that mounts an encrypted drive, syncs the photos, then unmounts the drive. Finally, I just created a job that uploads the encrypted drive to the cloud. This way I have an offsite backup of my stuff. It's a good feeling knowing I have an encrypted backup and don't have to trust a 3rd party service.

</comment><comment><USER147> I automated applying for jobs a few years back. I wrote a scraper and a classifier that took a look at each job posting, determined if it required skills for technologies I wasn't familiar with, and if not, and it was also a strong enough candidate for requiring skills I'm strong with, it would send one of several appropriate resumes depending on which sort of job it was.

<comment><USER148> I would imagine you've accounted for this, but I'd highly suggest not applying for multiple jobs within the same company, with tweaked resumes/cover letters. I've seen a few of those and they always turn me off. When I'm sifting through dozens of resumes, I really don't want to feel like someone is roboblasting all of our open positions.

<comment><USER149> While I agree with this sentiment, I find it ironic I have no concern from my companies perspective where we will roboblast customers.

</comment></comment></comment><comment><USER150> A few years ago I wrote something which went out and grabbed the top articles from the BBC, Guardian, Economist, Telegraph, and front page of HN and sent them to my Instapaper so I'd have stuff for my commute.

I'd love an app with a bunch of my feeds / socials plugged in which would then load up with content for my commute (which is offline/underground for large portions).

<comment><USER151> I've used ifttt monitoring rss feeds and pushing articles to Pocket for offline reading

</comment></comment><comment><USER152> I automated my resume upload system because Dropbox does not allow static website hosting anymore. Whenever I run an command, it will create an empty folder in AWS. The folder name contains company name and some secret code (to prevent brute-force listing). Therefore I can keep copies for all the resumes I sent.

It must be emphasised that job seeking is not part of work LOL.

</comment><comment><USER153> Don't know if that counts but I have installed automatic switches that turn off TV, blu ray, game console at night. My electricity bill stopped climbing so I guess it works at least a bit.

<comment><USER154> What network connected power strip are you using for that?

</comment></comment><comment><USER155> I got a Nest thermostat a few years ago when I was working from home and sat at my desk most of the day. This meant that I seldom walked past the Nest, meaning that after a while it would assume there was no-one home so would turn the heating off.

I wrote a Windows app [1] in C# that would ping the Nest API to keep me at "home", so long as the PCs screensaver had not come on (in which case I would have probably _actually_ gone out).

Worked well, but when I submitted the app to Nest for approval in their store [2] they asked me to remove this specific feature! It still acts as a handy desktop notifier for Nest thermostats though.

[1] [http://richev.me/nest](http://richev.me/nest)

[2] [https://workswith.nest.com/company/notifier-for-nest-by- rich...](https://workswith.nest.com/company/notifier-for-nest-by-richard- everett/roost-desktop-notifier)

<comment><USER122> Interesting that a product that is marketed as one that "learns" and adapts your specific patterns couldn't learn this common one (someone working from home)

</comment></comment><comment><USER156> Used python and selenium webdriver to scrape free movie pirate sites for URLs and images. The script had to traverse the pirate sites using id tags, and simulate a click in the movie iframe for the site to populate the iframe's src attribute. Then it generates a static html page from that list of URLs. It automatically updates a netflix style website for me and my friends to watch movies. This negates all the pirate sites that spread spam and viruses. The critical path for the project is to build it as a decentralized app into the ethereum block chain, that could never be taken down, but this requires some kind of browser emulation(or external api) in the blockchain. (I won't post the link unless people ask for it)

<comment><USER157> link that thing dude or pm it to me

<comment><USER156> [https://freemovies.services](https://freemovies.services)

</comment></comment></comment><comment><USER158> I try to focus on dividends and not growth when investing, but apparently not very many people do this, because my online brokerage does a really poor job showing this data over time.

I suppose they purposefully avoid forecasting the dividends, since dividends aren't guaranteed... But some companies have payed dividends for decades like clockwork.

Anyway I wanted to do a better job keeping track of it as rough, monthly income, so I wrote a script which scraped the information off the website, ran some basic number crunching and printed the results. (Of course they didn't make this easy... It's not like they have an API for this information, I had to craft the http post, cookie and parse html, etc)

</comment><comment><USER159> Registering my kids for programs run by the City of Toronto (swim classes etc) used to be a nightmare. Registration was at 7am and the site didn't have a queuing mechanism so my wife and I would sit there with two laptops and two tablets hitting F5 repeatedly until we got in. It often took up to an hour to get in, only to find that the programs we wanted were already sold out.

I wrote a script using Selenium WebDriver that would open on multiple windows and keep re-trying until it got in. It would then process the configured list of programs we wanted to register for, find them, add the kid(s) and proceed to the checkout. Manual intervention was required to complete the purchase.

</comment><comment><USER77> Apartment hunting with Clojure: [https://blog.jeaye.com/2017/02/28/clojure- apartments/](https://blog.jeaye.com/2017/02/28/clojure-apartments/)

</comment><comment><USER160> Although not a prime example of _time saving_ automation, I wanted more from my sprinkler timer when I was seeding my lawn so I used a raspberry pi and a 4 channel relay switch to schedule my sprinkler time with cron jobs. This way I could have the sprinklers come on more times a day than my old timer would allow. Now I use it to change schedules based on seasons.

I also made it so I could turn on a single zone for 1 minute from my phone to make troubleshooting leaks in the spring easier.

[https://github.com/callahanrts/sprinklers](https://github.com/callahanrts/sprinklers)

</comment><comment><USER36> Dodging the f __*ing lightning in the desert area of FFX. I remember spending hours in that section as a kid, never managing to dodge more than 20 bolts in a row... When it came out for PC, it was time for revenge!

I captured video input with a simple python+QT script and emitted a button- press whenever the screen flashed. The best part was that the script didn't interfere with my controller - I could run around the area opening chests / battling in random encounters, racking up dodges all the while. Sure - <USER4> memory editor would have had the same effect in 5% of the time - but this was _way_ more rewarding.

</comment><comment><USER161> 1\. In university, my cable provider had frequent slowdowns during busy periods to the point of the connection being unusable. I wrote a monitor script that would try to ping google every few minutes during busy periods and log the output if there was any loss. After a month of doing this and presenting the logs to the provider, they fixed it and I was asked to apply for a job.

2\. I automated swiping right on Tinder on a single virtual Android device. I was working on a version that would spin up a number of virtual devices, connect to them and then swipe right en-masse (yeah, because finding an API is much less work).

<comment><USER162> For what it's worth, swiping right on everything is no longer the best strategy for men on Tinder. Your profile's visibility matters the most, since women swipe right on something like 15% of profiles, and swiping right on everything lowers the internal ELO score of your Tinder profile.

</comment></comment><comment><USER163> ~10 years ago I wanted to be able to take advantage of watching video on this newfangled iPhone thing, but most content was not yet readily available or purchasable in a format that could be played - specifically I wanted to watch The Daily Show and Colbert Report.

I had a chain of apps and scripts which would watch for a forum torrents of those, download them, use handbrake to convert them, add them to my iTunes library, then generate new .torrent files and post the mobile friendly versions back to the forum (gotta keep that ratio up).

Things are much easier and less legally sketchy nowadays :)

</comment><comment><USER164> I have a script that scrapes my broker's website for my core balance and the value of my mutual funds. It then calculates orders to work toward goal percentages while keeping my core balance above a certain level. It then emails me and saves the orders.

This runs once a week. The next day it runs again and puts in the previously calculated orders, giving me a chance to review.

This along with bills on autopay entirely automates my day-to-day finances, besides a rent check I need to snap and cash once a month.

It's been great peace of mind.

</comment><comment><USER165> Its trivial compared to everything else in the thread, but the most valuable automation I've got running is a simple weather forecast to warn me when it's going to rain.

Almost a decade ago I had my wisdom teeth out, and the surgery was more involved than most. Ever since then, I've been getting migraine-like headaches and jaw pain when it's going to rain. If I can get ahead of it by a day, I can usually lessen the impact.

I also use IFTTT to pump these forecasts into a spreadsheet where I track pain levels and diet, in hopes of finding a significant pattern. No grand revelations yet, but I did discover that doubling my caffeine intake a day in advance helps.

It's not completely automated, but I maintain a large spreadsheet of movies and tv series I want to watch (mostly movies). I can put either the title or the IMDB number into the input sheet and it'll pull the relevant (and formatted) information from OMDB (both directly and through an addon in Sheets). It gives me an average score between IMDB, Metacritic, RottenTomatoes Users and Critics. As of right now I have 2530 films total, with 1733 to watch.

Outside of these, automating consistent things like certain bills, and a simple script to backup my chaotic '_Process' folder free up a few minutes per month, which will add up over the next fifty years (basically an extra day or two.)

</comment><comment><USER166> When I was looking for a job several years ago, I started developing the bad habit of just staring at my Gmail inbox, waiting for replies to emails, and eventually offer letters and the like. I used Zapier to set up a rule so that when an email arrived from a specific email domain, it would send me a text.

Seems silly, but it put my mind at ease. I knew that I'd get notified when an important email arrived, and it freed up my mind to focus on other things.

</comment><comment><USER167> If you include home automation:

\- Holliday decoration / lights

\- Security

\- Morning routine (Elliptical on, TV on, Audible book queued up, etc)

\- Irrigation

If you don't include home:

\- Putting important events like what day the trash should be taken out onto my calendar (taking into account snow delays and holidays)

\- My personal tweeting

\- Exercise planning / tracking (as much as possible). What is not possible (like recording actual reps) I put as easy to use voice commands on my Alexa

\- And I also farm out minor stuff to a virtual personal assistant, which has an API

<comment><USER168> Hi which va service do you use/recommend ?

<comment><USER167> I'm currently trying out FancyHands [https://www.fancyhands.com/](https://www.fancyhands.com/)

A task is 20 minutes, if it takes longer they ask you to use more than one credit on a single task. And there was one task so far that took so long I ended up doing it myself (they refunded my credit for that one). But overall it has been decent. I haven't tried others yet.

I picked them because their minimum fee is reasonable. As it is I have trouble using all five tasks they give you. (it rolls over to the next month)

For example, the last thing I had them do was to call the landfill and schedule my trash bin to be replaced because the lid broke and put it on my calendar. It is a pain in the neck thing (they don't always pick up the phone... you have to wait on hold... etc) so the assistant probably saved me a lot of aggravation.

They have an affiliate link but it uses my real name and this is an anonymous account so no affiliate referral for me :)

</comment></comment></comment><comment><USER169> This feels like it was work sort of, but I was program director of my college radio station, WKDU in Philadelphia in 2005 or so. It was a volunteer position, and I was to oversee programming quality and the schedule, etc.

One of my duties was to randomly listen to radio shows to check for errors and issues, and make sure people are actually doing their shows.

We had a live stream, so I used some linux stream ripper and cron jobs to record the stream into 3 hour chunks (the default show length) and then time stamp them. This made it really easy for me to spot check shows and have a record in case issues came up.

There was one freshman DJ that I didn't really care for, and he had a 6am slot (It's early, but it's drive time, so you actually get a ton of listeners). He kept skipping his show and as the program director, that made me mad.

I ran into him one day and asked if he had done his show that morning and he said yes, and I was like "ok great!" But I went home and listened to his mp3... and he had not been on air.

Later at school I again ran into him, chewed him out for lying to my face, and then saw him crying afterwards.

The beauty of automation.

</comment><comment><USER170> CD ripping. Initial audio pass in an older version of EAC, which hands off to the scripts. Those validate the audio against the AccurateRip + CUETools databases and file the rip appropriately if there's a failure (e.g. "might be a different pressing" vs. "few enough bad samples to be repairable" vs. "completely aborted the rip", etc.). Then a second pass on the disc to extract subcode data and embed any TOC/subcode differences as comments in the cuesheet. Then, based on that, automatically generate a de-emphasized version for discs with the PRE flag set anywhere, then extract additional metadata (full release date, disc number, featured artists) from the title data I manually entered in EAC, compress to FLAC, embed the cuesheet, transcode .m4a copies, and file.

Automatically adding sort-artist fields to the cuesheet/.m4a files is next (I have a good source in the software that I use for cataloging the collection). I also need to write something that backports changes made to the tags in the .m4a files to the original cuesheet...

</comment><comment><USER171> I. I live in China, so pollution can be a problem at times. Usually I don't bother to check the Air Quality Index, but it's useful to know when it's really bad, so I wrote a small script to connect to aqicn API and display the index in my desktop panel (along with weather and temperature :)

II. This year my school's schedule is really hard to interpret, with 4-days rotations out of 6 every week, plus fridays also rotating themselves... I wrote a script that checked the schedule, the holidays, fetched the list of classes for each student and created a .csv file ready to be imported in their calendar. Sadly I didn't bother to build a GUI for it, so I'm the only one using it.

III. Wrote a script to automatically swith color profile in my terminal and panel. Still have to figure out how to switch gtk colors though.

IV. I wanted to use mpd to listen to music, but be able to stream some music from youtube if I wanted to. I used youtube-dl to fetch stream URLs and titles for songs, and add them to MPD playlist.

<comment><USER172> Hello Pinusc,

About number II - I am in California and school calendar is hard to keep up. I am writing an app for it. I will be interested in knowing how you are approaching this - especially for Chinese schools.

My e-mail is meera.bavadekar at gmail.com Please feel free to drop a line.

</comment></comment><comment><USER173> A few months ago we changed our grocery shopping habits. Instead of going to a store a few times a week, we now order ingredients via an app and get them delivered the next day. Usually we order two times a week. When ordering, we plan what we are going to eat in the next 3-4 days.

Every time when we order we think of recipes to cook and their ingredients. Then we add every ingredient to the app. We also add essential ingredients like milk or eggs if we need them.

Automating this process sounded fun. The idea was born to speed up our grocery shopping by ordering recipes and their ingredients via the (reverse engineered) supermarket API.

I blogged about it: [https://adrian-philipp.com/post/learning-elixir-second- side-...](https://adrian-philipp.com/post/learning-elixir-second-side-project- part1). Source: [https://github.com/adri/picape](https://github.com/adri/picape)

</comment><comment><USER174> I got tired to skim hundreds of RSS feeds, some very noisy. So I created an NLP and ML-powered RSS proxy that scores each message for "interestingness" and re-delivers it. "Interestingness" is a purely subjective classification based on explicit and implicit feedback. Still work in progress, but in production (one client, me). It's a new take on an old project. The old one used beautiful soup, bag-of-words features and SVMs and learned too slowly. The new one uses boilerpipe, sentence vector mapping and logistic regression and is good enough. It's not me, it is the whole field that has improved so much in a decade. I haven't thought about anyone else using it. If you want to try, you'll have to fight through the installation a bit. Open an issue if needed. [https://github.com/piccolbo/rightload](https://github.com/piccolbo/rightload)

</comment><comment><USER175> I wrote a script that switches my outside lamps exactly at sunrise and sunset. It checks the times and schedules the switch command using cron. It runs on a Pi, for several years already without much trouble. ([https://myrpi.nl/node/60](https://myrpi.nl/node/60), sorry it's in dutch)

</comment><comment><USER157> One of first scripts I ever wrote in python scraped a radio station for songs and added them to a spotify playlist.

[https://github.com/ReedRichards/python/blob/master/edge/html...](https://github.com/ReedRichards/python/blob/master/edge/htmlParse.py)

</comment><comment><USER176> I hunted down a Black Friday deal which was active only for a couple of minutes at random times using a Python script which was checking the price for different models and was sending emails if the prices fell.

Though I've ended up returning the product and learned to bake much tastier bread, without a need for a bread maker. :P

<comment><USER177> I suspect Jim Lahey might have helped bring about the tastier bread without the machine :)

[http://nymag.com/restaurants/features/bread-jim- lahey-2011-1...](http://nymag.com/restaurants/features/bread-jim- lahey-2011-12/)

</comment></comment><comment><USER178> Since Google Reader died and RSS has been slowly dying I wrote a simple scraper thing which sends me emails of new stuff. Eg. I also used it to buy a refurb'd Macbook, it notified me when Apple posted a new one and allowed me to buy it quickly (they only post a couple a day and they go quickly).

</comment><comment><USER179> I've got a few things that come to mind:

Hue lights: The Hue lights in the master bedroom turn on at 9PM, since it's visible from the living room it's kind of a "Hey, you should think about going to bed soon" reminder. They turn off at 11PM as a "If you're still up reading you should probably stop" reminder. This is easy to set up with the Hue app.

More Hue lights: The Hue lights outside turn on a half-hour before dusk and off a half-hour after dawn. This needed to be set up by hand[0], but it's very much a set it and forget it type of thing. Once set up it automatically adjusts to the changing sunrise/sunset times.

Home security: I've got a bunch of cheap wifi cameras and Zoneminder keeping watch on my house. There isn't much automation happening here, but it solves a few problems for me.

Cat feeding: The vet was concerned that one of my cats was losing weight, so I set up a camera on the food dishes. Since the camera is hooked into Zoneminder, I can set it up to only record when there's motion. It's very easy see who comes to eat, how often they come, which food they eat, and roughly how much. This has helped in getting the portion sizes adjusted so that the cats are all happy and healthy.

Document Management: While not fully automated, I've found that putting documents into Mayan EDMS[1] instead of paper files has saved me a LOT of time when I need to find things. There is also huge potential for more automation by extending Mayan to do things with new documents based on their OCR'd contents.

I'm sure I've got others, but these are definitely the big ones for me.

[0] [https://stackoverflow.com/questions/26782957/how-to-use- suns...](https://stackoverflow.com/questions/26782957/how-to-use-sunset-and- sunrise-data)

[1] [https://mayan-edms.org/](https://mayan-edms.org/)

</comment><comment><USER180> Does anyone have a script for integrating with Facebook and grabbing whose birthdays are today? I'd really like to automate it, but this info isn't available via the Graph API, so I kind of gave up on this, but if someone else has done this, I'd love to take a look.

<comment><USER181> You can export friends' birthdays to an ical feed - see here:

[https://www.facebook.com/help/152652248136178/](https://www.facebook.com/help/152652248136178/)

From there you have a lot of options, but what I did is have it feed into my Google Calendar and read it via the Google Calendar API.

</comment></comment><comment><USER182> I was going to a friend's wedding which was outside, I checked multiple weather forecast sites to see if the weather would be good.

Ended up automating it with some PHP scripts then making [https://www.metaweather.com](https://www.metaweather.com)

</comment><comment><USER183> I had just moved to USA from the other side of the world as a student. And, most of the sports I follow like F1, tennis, cricket, football (soccer) were happening mainly in Europe/Asia/Australia, and that means most of the live action happened in the middle of the night for me because of the timezones. I started missing lot of sporting action that I used to follow. I used Linux Mint + Cinnamon back then, so I created an cinnamon applet that displayed live scores, upcoming games and recently finished results on my desktop menubar.

cinnamon-spices.linuxmint.com/applets/view/115

I don't maintain it anymore, and I donated the applet to the linux mint team (they moved many applets to the main linux mint cinnamon spices repo recently)

</comment><comment><USER184> Turning on and off the bedroom heater in 1 hour intervals during the night.

Also It begins warming up the bedroom at 9pm and shuts off at 0830am.

I use TP-LINK HS110 which uses wifi. Super nifty. I can control it remotely also with and app, and by sending packets to it over my local Ethernet.

<comment><USER185> Have a link to the packet thing?

<comment><USER184> Sure, there are a few implementations:

[https://www.google.no/search?q=tplink+hs110+github&oq=tplink...](https://www.google.no/search?q=tplink+hs110+github&oq=tplink+hs110+github)

Not too secure, you're right.

<comment><USER185> thanks that's awesome! pip had it (pyhs100) and so does npm (i should have looked earlier), discovery failed but direct to ip works well. this should be a thing anyways, since i don't think tp-link has an api

</comment></comment></comment></comment><comment><USER186> before 1Password existed, I wrote a little password generator. switched to 1Password when it came along though.

also built a little flash cards app for studying Japanese which auto-generates Japanese sentences for me to read and translate. (simple sentences of the いぬはすしをたべました variety.)

wrote basic beat MIDI generators for drum & bass and moombahton in a few different languages.

tried to write a Ruby -> NXC compiler for the NXT generation of the Lego Mindstorms robotics kit. fortunately there's a better option now because my compiler knowledge was basically zero.

edit: planning to extract a bunch of data from the Health app on my iPhone and run some visualization scripts on it. heart rate from Apple Watch, weight from a Bluetooth scale, etc.

</comment><comment><USER187> I have one app that connects to my Pinboard account and emails me 10 random bookmarks every morning. I've been using Pinboard for years and it is full of stuff that I marked "to read" or read a long time ago that I forgot to go back to. It is surprising how often some old blog post shows back up and is relevant to a discussion I was having in the last few days.

I have another app that emails me the tweets, blog posts, and HN comments of my favorite bloggers every morning. With the rise of tweetstorms, I felt like I was missing a lot of great stuff, but now I don't have to obsessively check twitter/hn/my favorite blogs all day every day. (I really miss RSS)

</comment><comment><USER188> I have a morning routine script that has some yoga exercises, guided meditation, some aerobics, journalling and one hobby that alternates with the day of the week. It is basically a python script with some timers and some TTS from a text file.

</comment><comment><USER189> Scraping state lottery website to determine if the daily lottery jackpot amount for a particular game is greater than my threshold to care enough to consider purchasing a single ticket and sending me a text message in the morning if it is.

<comment><USER190> Does your local lottery authority allow you to purchase tickets online? Could automate the entire workflow.

<comment><USER189> No. I actually scrape two state lottery sites (I live on the border). One state used to allow online purchases but that got nixed due to the possibility of purchasing them while not truly in the state (which would be considered gambling across state lines which has federal laws and regulations).

</comment></comment></comment><comment><USER191> \-- poll/scrape website for campsite availability/openings in tx ([http://texas.reserveworld.com/](http://texas.reserveworld.com/)) \-- compute if solitaire game was solvable (whenever i failed to solve it) ([https://itunes.apple.com/us/app/king- solitaire/id680163617?m...](https://itunes.apple.com/us/app/king- solitaire/id680163617?mt=8)) \-- as reader for screenplay competition, scrape & download my batch of scripts and title/prepare them for reading in dropbox \-- among others..

</comment><comment><USER192> Taking barometric readings, recording and graphing them: [https://sdfjkl.org/blog/2017-08-09-nanobaro/](https://sdfjkl.org/blog/2017-08-09-nanobaro/)

</comment><comment><USER193> Creating Dungeons & Dragons characters. I found that for first time players it is difficult to overcome the initial onslaught of information and rules. So I created a form-based questionnaire that abstracts out most of the uninteresting parts of creating a character, their stats. Based on how a player answered the questions, they are emailed a filled-out character form along with relevant information to their character if they want to read up more.

This saves me and each player a fair bit of time, as every new player gets a personalized starting point, making explanations shorter and more relevant.

<comment><USER194> I'd love to see the code for this, happen to have a public repo?

<comment><USER193> I just made one! It can be found here[0]. Not perfect and relies on a Google Form for now, so a Google account is needed to view and copy the form.

Also, if you want it to take sections of the Player's Handbook, you need a PDF of it! Depending on your PDF, the page numbers may need to be tweaked.

Let me know what you think!

[0] [https://github.com/trevormcdonald/intro_dnd](https://github.com/trevormcdonald/intro_dnd)

</comment></comment></comment><comment><USER195> I have SmartThings at home for various IoT things. Among them I have a garage door controller, and a presence sensor. I put the sensor in my car, and wrote a script that closes the garage door when my car leaves, and open the garage door when my car comes back (with some logic to prevent it from opening unexpected, I documented that part in my blog: [https://wang.yuxuan.org/blog/item/2017/03/smartthings-myq- an...](https://wang.yuxuan.org/blog/item/2017/03/smartthings-myq-and-scala))

</comment><comment><USER196> I automated my housing search. When I moved to a new city (Cape Town, South Africa), there are a wide range of different classified websites that advertise house sharing. The market in Cape Town is extremely competitive and does not favour tenants. I wrote a series of python scripts that trawled through these online classified and automatically created responses to them. The aggregation of content and the auto creation of emails saved me a great deal of time and allowed me to quickly respond to hundreds of adverts from a variety of sites almost as soon as they were created.

</comment><comment><USER197> I had some Vape related items to sell. From where I'm from a lot of people buy and sell these kind of items through Facebook groups. I then made an iMacros bot that would automatically search certain Vape related keywords on Facebook, filter by Groups, and then log the different Facebook groups details along with the number of members so I can pick which groups are worth my time to post on.

I also wanted to make a script to automate the posting of my items but Facebook has gone through extreme lengths to prevent this from happening. I eventually gave up and posted manually.

<comment><USER198> Will the search pick up your terms when they occur in Groups that you've not joined yet? Any chance you can share the code on Github?

<comment><USER197> It's not searching the contents of groups but rather the groups themselves. Using Facebook's search functionality it searches the title or description of the group for my terms. For example:

[https://www.facebook.com/search/groups/?q=vape&ref=top_filte...](https://www.facebook.com/search/groups/?q=vape&ref=top_filter)

My iMacros bot visits that URL and it just goes through the results, parsing the data listed on that page.

Here is the code uploaded as a Gist: [https://gist.github.com/accidentalrebel/79fda4536f799f4a4873...](https://gist.github.com/accidentalrebel/79fda4536f799f4a4873e55aff21a977)

It's been awhile since I last touched this so not sure if it is the lastest or if it still works.

Goodluck!

</comment></comment></comment><comment><USER199> I setup a "photobooth": A couple Canon Selphy printers, a dual-homed wireless RaspberyPi and wrote a Python script that polls a gmail account for a jpeg attachment and round robins it to the printers using CUPS. The script also has gchat support to send the server commands (like blocking your friends' email addresses if they figure out how to spam you) and receive print alerts.

Attaching a picture to an email, hitting send and getting a nice glossy a minute later is pretty cool. Somehow feels a bit more automated and seamless than the usual printing process.

</comment><comment><USER200> Not sure if this qualifies, but I was unimpressed by my bank USAA's transaction visualization efforts. I wanted to see a line graph of my account's withdrawals and deposits. Luckily they have an 'export to CSV' button for a specific time period of transactions, and I wrote a small program to turn these CSVs into graphs using Python's `matplotlib`: [https://github.com/nicolashahn/USAA-Transaction- Graph](https://github.com/nicolashahn/USAA-Transaction-Graph)

</comment><comment><USER185> My kids constantly lose the controller to the tv, so I hooked up a smart outlet and echo dot to be able to turn on TV with my voice. The TV turns on because of "power-on from powerloss" settings most TVs have or default to. The Roku automatically pauses any show when the HDMI goes dormant and plays it when TV comes back.

I also scrape the NASA astronomical pic of the day, I think they have an API now, and save the photo in a background images folder, the desktop background is automatically rotated every 30 minutes pointing at that folder for source.

</comment><comment><USER201> Buying a Roomba has been the greatest upgrade to my household in years!

</comment><comment><USER202> Paying parking tickets in SF. Input my license number and CC info and it would detect and pay parking tickets that came up. There is a CAPTCHA which was trivially solvable with Tessaract OCR.

<comment><USER24> When you say parking tickets, as in plural, it _really_ makes wonder what kind of person would rack up so many parking tickets to make that worthwhile.

I hope it's all in good fun...

<comment><USER202> You ever tried parking in San Francisco? (But seriously, it was very likely not worth it for me to have done this, although I imagine a 'fixed'-like [1] service but that just pays the tickets might be something would pay an extra few dollars for).

[1] [https://techcrunch.com/2016/06/15/fixed-the-app-that- helps-y...](https://techcrunch.com/2016/06/15/fixed-the-app-that-helps-you- fight-tickets-gets-acquired-by-a-law-firm/)

<comment><USER24> Nah, I avoid SF and SV like the plague. Too many people.

</comment></comment></comment></comment><comment><USER203> I'm receiving a weekly ePub compilation of all my pinboard "read later" links via email every Sunday evening.

That was basically my first project using serverless functions and it was a fun thing to build.

</comment><comment><USER47> Wrote a program that tracks Australian movie release dates for movies I'm interested in. Sends a daily email if a release date moves, or there a new movies for me to flag my interest in.

Interfaces with themoviedb.org for plot summary, cast and crew info and such. Interfaces with Google Calendar for writing entries for each movie I'm tracking.

Source is available at [https://github.com/evmcl/movieschedule](https://github.com/evmcl/movieschedule)

</comment><comment><USER204> I am in a entrepreneur support group with 6 other founders. We have a little health contest going to encourage physical activity. We also have a GroupMe (this group has been together for 6 years).

I used Zapier to create a GroupMe bot (webhooks) to watch for posts reporting activity and logs it to a google docs spreadsheet. It also watches for requests to see the current score and reports the score.

The whole thing is just GroupMe, Zapier (with about 10 lines of JavaScript as one of the steps),and a Google doc.

</comment><comment><USER205> Script to export orgmode files to html for viewing on mobile. It runs when the PC goes idle.

Google Sheets add-on to import portfolio positions csv. It's automated enough to eliminate manual data entry but not so easy that I update or check all the time.

Home automation to turn lights off and on after dark and activate motion alarms when we're not home. I have to activate away mode manually and it's too hard to turn off now that we have cats and friends coming to feed them, so more automation is needed.

</comment><comment><USER206> I have access to several different libraries for borrowing books. I made a webpage that would let me type a search term once and search across all of them at once.

</comment><comment><USER83> I have a USB stick 4G modem and I automated the connection setup; it has a web app (starts a small embedded webserver when you plug it in) which I "reverse engineered" and I wrote a small script which makes HTTP requests so I don't need to go to the web interface, login, enter PIN code and click connect every single day multiple times. I just run "telekom connect" and that's it. What a time saver! :D

<comment><USER80> That's one thing I love about Vimperator: its macro system. If you can do the steps using the keyboard, you can just start recording and do it once. Next time a simple key combo will repeat your steps.

I've automated logging in to public Wifi networks and filling in many forms with it.

<comment><USER83> but you still need to open the url in the browser right? which is way slower

<comment><USER80> I always have my browser open; loading the URL in a new tab (and closing it after) is done by the macro too. So not really :)

I guess it could be slower if the site has many large resources (CSS, images, etc) that a script would not download. But since I do it regularly, most of it is cached anyway.

</comment></comment></comment></comment><comment><USER207> A few years ago I decided I wanted a very specific car (only 17 were ever sold in the US with the particular specs I was looking for) and the usual manual methods of searching every single car and classifieds site were too time consuming. I wrote a scraper to check them daily and generate a report of the new results. Six months later I found the perfect one, flew out to pick it up, and had an epic 1,300 mile roadtrip home.

</comment><comment><USER208> I made a script which would automatically check my visa application status a couple of times a day: A simple selenium script which went to the embassy website and downloaded the latest new PDFs for visa decisions, and search the PDF text for my application number.

I wanted to complete it by adding a telegram or text message push, but I got lazy at that point. One script which simply printed out the result on my terminal was good enough.

</comment><comment><USER209> I hooked up a speech to text daemon to listen for "more wine please" to send a text message to the local off licence to deliver a bottle of wine.

<comment><USER112> What are you using for speech-to-text?

</comment></comment><comment><USER210> 14 years ago, when low cost flights became popular in Europe with Ryanair, I moved to London with a friend for a year. To get the cheapest price, we had run a simple perl crawler in a cronjob to monitor the prices and it sent us a text over some free api. We didn't realize that time that this could have been a massive service and over the years many businesses basically executed on the same basic idea.

</comment><comment><USER211> The family isn't much for gambling, but we do have a set of Powerball numbers we play each week. So, I wrote a Perl program to download the winner list each week and check if we have a winner. It has been my go to project in each new language I learn. It's pretty simple but tests a bit of the language (http, I/O) and helps me get in the mindset of the language (e.g. set comparisons vary wildly).

</comment><comment><USER212> I automated child care by giving my daughter my tablet.

</comment><comment><USER213> Lots, my two favorites are:

1\. Automating my raspberry pi to create a timelapse and upload it to youtube and update a simple Ember app [1].

2\. Automating (using Tasker, mentioned here already) the alerting function on a motion detector for the raspberry pi (so if I'm home it does nothing, else sends me the picture via telegram)

[1]. [http://timelapses.psdavey.com](http://timelapses.psdavey.com)

</comment><comment><USER214> I wrote bot to checkout cinema timetables and movie scores (metacritic, rotten tomatoes and our local service) when asked - (me and my girlfriend are a bit movie-nerds). Also when you send him location in Poland it responds with the most accurate weather graphs you can get here. I'm planning to split it to two bots and expand operation of the cinema module to whole country.

<comment><USER215> Where are you based, if I may ask, and where do you get weather graphs from? Fellow Polish citizen here.

</comment></comment><comment><USER216> A script mirrors the best of hacker news to reddit: [https://www.reddit.com/r/hackernews/](https://www.reddit.com/r/hackernews/)

Another script collects me german news into a text-only website: [https://textnews.neocities.org/](https://textnews.neocities.org/)

</comment><comment><USER217> I love music but seldom do I get a chance to search for new music until someone recommends it. So, I created a google app script to search for billboard top rock songs for the week and create a youtube playlist of the same after searching for each song on youtube. It then sends me an email with the playlist link. This way I get to listen to new music with less googling

</comment><comment><USER218> A group of people I played golf with every Saturday needed to manage who was playing / who wasn't, and announce if any spots in our tee times had opened up. Originally somebody did this manually, but he got busy. So I made a website that lets people say whether they're playing or not, maintains the wait list, and lets one guy say what are the tee-times he got.

</comment><comment><USER219> I automated a lot of my eBay trawling.

Created an app that does repeatable searches which scrapes eBay to download all the results - filters out stuff from a kill word list, filters out items from yesterday's list and a bunch of other things.

Turned it into an app 14 years ago - [http://www.auctionsieve.com](http://www.auctionsieve.com)

</comment><comment><USER220> Just a minor thing: when I was looking for jobs and apartments, I would set very specific search options (like posted in the last 3 days, location in nearby cities etc.) and then copy the URL with all the parameters from Firebug. I think all the sites have since implemented their own 'agent' to keep users posted about their saved searches.

</comment><comment><USER221> I've gotten sick of listening to broadcast news on my commute so I've made my own. I scrape r/worldnews, r/news, & r/politics and then put the content through a text-to-voice program. This is done daily so I have hands-free news consumption experience.

If people find this valuable, I'm considering creating a paid service out of it.

<comment><USER222> Umano was a great app that was similar to this. In some unexplained moved, Dropbox bought it and shut them down. It used real people to read the articles but it was definitely worth paying for.

</comment></comment><comment><USER223> I care about outdoor temperature (especially before I go out for a drive in the car), so I put the current local weather in my tmux status bar. It derives your location from your IP address.

[https://jezenthomas.com/showing-the-weather-in- tmux/](https://jezenthomas.com/showing-the-weather-in-tmux/)

</comment><comment><USER224> I wrote a script to log in to my brokerage account nightly and check for new purchases or dividend payments, log all of that to a database, and provide an interface allowing me to see all kinds of statistical information about my investments. I love getting the cron email in the morning saying I got a dividend payment from a stock :)

<comment><USER225> Cool script. Do you have it on github ?

</comment></comment><comment><USER226> Currently running a bot to farm an exploit on Forza 7, using the same macro program that I used a decade ago for runescape.

</comment><comment><USER227> My most recent thing I did after getting a macbook was write a python script that went through interfacelift.com and downloaded all of the desktop images for my specific screen resolution. They sell them all in a zip for like $40 but it felt better getting them for free.(almost free, took about 30 minutes to write the script)

</comment><comment><USER228> A long time ago:

Writing scripts to attack the neighbouring country in the old unix game "empire" (rec.games.empire) during an update (this was actually encouraged by the game). I know that there were also players who logged in automatically to check whether their country got attacked (and then get notified).

That game was a time sink like no other.

</comment><comment><USER229> An alias into my terminal emulator gives me weather, scrapes some news feeds, collects my public IP address, updates a couple of things, and adds stuff like the IP address, along with date and time, to a text file.

Silly things like that.

It no longer gives me a random quote using cowsay. I figured I was too old for that and it was time for me to grow up.

<comment><USER115> Plus, you probably internalized all that cowsay wisdom.

<comment><USER229> I did have it piping jokes to me, but they weren't very funny.

Hmm... I should make the cow tell me the weather.

<comment><USER190> [https://www.youtube.com/watch?v=-KHc9k5s5yU](https://www.youtube.com/watch?v=-KHc9k5s5yU)

<comment><USER229> Yeah, that one amused me. It's almost worth getting an Alexa for that.

</comment></comment></comment></comment></comment><comment><USER230> My gym allows you to book squash courts from midnight, two weeks in advance. All the prime courts are gone by the time I get to work the next morning.

I wrote a scraper with Python and selenium which books a court for my favourite days and times, and adds the appointment to my google calendar. It runs on my raspberry pi on the crontab.

</comment><comment><USER231> I've been scraping match fixtures to support a rudimentary forecasting tool for fantasy football if that counts?

</comment><comment><USER232> I have a cron job which scrapes a bunch of pages and sends me the results to a telegram chat. That includes checking fb messages (because I'm never gonna install the fb app or messenger on my phone), checking for upcoming public holidays, checking when bitcoin goes above/below preset thresholds.

</comment><comment><USER233> For a while, I had Tasker setup to track when I left home, when I arrived at work and the opposite for when I left work for home. I had a vision of analyzing the data to determine optimal traffic times, but never really got around to it. I did get everything dumped into a spreadsheet though.

</comment><comment><USER234> I wrote a simple shared budget tracking tool using Lambda, SES and SNS. [https://blog.yangmillstheory.com/posts/serverless-budget- tra...](https://blog.yangmillstheory.com/posts/serverless-budget-tracking/)

</comment><comment><USER235> I don't have excessive time for social media so to silence my friends' nagging, I automated posting to twitter. My phone records the songs I listen to each day and posts them via a gist. My handle is @joshjstubbs, if you're curious.

</comment><comment><USER236> I automated the birth announcement of my child using Tropo. Basically I had an app where, when I sent it the magical command ("here"), it generated a text and call to all family members with a canned message. Saved me a bunch of time :)

<comment><USER237> This will be especially handy once you also automate the creation of children.

</comment></comment><comment><USER74> Checking the weather. I have a script that checks the temperature and notifies me via email if it's going to be too hot in the next couple of days. (I haven't found a web service that allows customizing the notification thresholds.)

<comment><USER238> I have this same thing.

Maybe their is a market for simple non-intrusive weather notifications.

</comment></comment><comment><USER239> I created a script that was scraping the kimsufi website every X minutes to check if some server was available and would send me the reservation link via Slack.

It was so hard to get their cheapest server back then, they would get sold out really quickly.

</comment><comment><USER39> I have an app called Sweet Home (free) on my Android phone and my wife's Android phone to backup photos videos to our NAS. From there they get backed up off-site to Backblaze so we will always have a copy of our photos each day.

</comment><comment><USER240> I have FRM01 (relay) in car that powers up Raspberry Pi when I unlock car, so Raspberry Pi has enough time to boot before I sit in car. Raspberry Pi has NodeJS & AngularJS app used as infotainment.

<comment><USER67> how do you go about shutting it down safely?

<comment><USER240> I have arduino that knows when car is on/off (reads voltage from steering wheel buttons), and after some time sends Raspberry Pi to power off. Relay leaves 60 seconds for Raspberry to shutdown - if it takes more than 60 seconds, Raspberry will lose power without proper shutdown.

</comment></comment></comment><comment><USER241> I found that through some careful sleuthing, you can find pretty much any font committed to open-source repositories. So now I have a command-line tool to get any font I want (for personal use only).

</comment><comment><USER242> My phone notifies me when the bitcoin price swings more than 5% up or down from the previous value. Perfect for smoothing small price changes while tracking larger movements scale-free.

</comment><comment><USER243> Backups à la Time Machine on a Linux system.

Rsync (with rsync-filter files on every directory to exclude files, similar to .gitignore) to target drive or remote server. Then take BTRFS snapshot.

</comment><comment><USER244> I wrote a Ruby script to scrape stories from literotica.com, joining multi- part stories into one, and then convert it into a .mobi using Calibre for easy reading on the Kindle.

</comment><comment><USER245> When my ISP was failing at their job and denying it, I wrote a script that would post to a website any time pings failed for more than 5 seconds.

My internet got fixed pretty fast after that.

</comment><comment><USER246> This belongs here: [https://github.com/NARKOZ/hacker- scripts](https://github.com/NARKOZ/hacker-scripts)

</comment><comment><USER247> I have written a Phyton script that searches for backend developer jobs with VISA and relocation support in some job listing sites and posts matches to my Slack channel.

</comment><comment><USER248> In my exchange university cafeteria we had a couple of restaurants, each with a different menu. I wrote a small bot that would ping me if there were some dish I like :)

</comment><comment><USER249> The only kind of automation I use is a Python script for downloading fanfiction from fanfiction.net.

Reading through this thread, it seems like I'm living in a parallel world...

</comment><comment><USER250> I havent finished yet, but I'm currently working on creating NAT using Raspi for :

1) Creating time machine backups 2) Accessing external hard drive anywhere

Will create a gist when I do finish.

</comment><comment><USER251> Wrote a script to sort tattoo artists coming to a convention by Instagram followers. Saved me wading through dozens of artists to find one that suits my style.

</comment><comment><USER252> I wrote a couple scripts to collect my daily webcomics and push them to my homepage.

I read them every day first thing in the morning, but I still count that as non-work.

</comment><comment><USER253> Slowly (funny how these projects take longer than you expect lol) I've been automating my personal finance - automating bills, credit cards, etc.

</comment><comment><USER254> Submitting price match claims on my credit card.

</comment><comment><USER255> I just bought a roomba:

[https://www.amazon.com/gp/product/B008LX6OC6/ref=oh_aui_deta...](https://www.amazon.com/gp/product/B008LX6OC6/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1)

Highly recommend it to anyone with a large amount of hardwood floors. We have a couple area rugs, one is pretty thick and it handles the transitions fine.

Floors have never been cleaner, no longer need to vacuum animal fur everyday.

<comment><USER256> Sponsored by Roomba Inc? /s

I think the thread is about what _you_ automated, not what you bought a product for to automate. E.g. if you order a book online, you didn't exactly automate going to the book store.

</comment></comment><comment><USER257> making animated gifs

[https://github.com/ransomw/dotfiles/blob/master/shutils/gifm...](https://github.com/ransomw/dotfiles/blob/master/shutils/gifmaker.sh)

... and some other stuff, but that's probably the most important.

<comment><USER258> why do you extract the frames as jpgs instead of something lossless ? I expect you'll get better quality, smaller gifs with less noise if you use pngs instead.

<comment><USER257> combination of "meh" and "derp" noises on the silly script as i moved on to the next one-off ffmpeg wrapper

[https://github.com/ransomw/dotfiles#add_textsh](https://github.com/ransomw/dotfiles#add_textsh)

</comment></comment></comment><comment> d--b I automated checking the website of the French equivalent of the DMV to be able to book an appointmenT :)

</comment><comment><USER259> Getting text alerts for Star Wars movie tickets as well as the NES and SNES classic :)

</comment><comment><USER260> Created sophisticated music randomizer for the digital music changer in my car.

</comment><comment><USER261> If my Internet goes down at home I just have to plug my phone into the computer, click a confirmation button, and it will switch over to using cell data automatically.

Unfortunately this no longer works well, as hurricane Irma damaged the cell tower near my house and I only get a few hundred Kbps now. :-(

</comment><comment><USER262> I automated waking up at 5:30 AM without feeling miserable when I had a remote work job[0]

It's not terribly sexy and was really simple to get working. I purchased the highest wattage LIFX RGBA bulbs and a high wattage (350W Incandescent equivalent) to replace all of the lighting in my bedroom, where I worked most days[1] and replaced the lighting in my bedroom with them.

I then used IFTTT to do the following:

(1) Over a period of 45 minutes ending at 5:30 AM, all of the LIFX bulbs gradually go from 0% to 100% in a cool blue-white hue. At 5:30, the 350W equivalent turns on (using a Belkin WeMo switch). The 350W turns off at 8:00 AM.

(2) At sunset, but no later than 7:30 PM (northern summers can be much later than this), the lights eliminate the blue hues and shift to warmer colors over a period of 45 minutes

(3) Over a period of 45 minutes ending at 11:15 PM, the LIFX bulbs go from 100% to 0%.

It took me a few weeks to arrive at the exact times and timings for each of these steps, as well as color. I kept a daily log of when I started feeling tired at night and a (very subjective) log of how tired I felt in the morning and what time I actually got out of bed (I had an alarm set, but only as a failsafe which was set for 8:00 AM while "testing" the settings). The 45 minute time frame was landed at after trying as low as 15 minutes. 45 minutes is the longest duration that's allowed or I would have tried longer, but it is _just about_ right. It's _really_ difficult to detect the brightening/dimming while it's happening and impossible for me to tell the color is changing during the day.

Unrelated, but as an aside -- quality of sleep and waking up early is something I struggled with all of my life until I started doing this a few years ago. In my 20s, I was jealous of my friends who regularly went out until 2:00 AM and somehow functioned the following day at 8-9AM when they had to be at work. I could _never_ do that -- I'd literally fall asleep every time my eyes closed if I made that mistake. And worse, I could go to bed at 6:00 PM and 7:00 AM would still feel awful. I followed a few other techniques: Whenever possible (most of the time), I'd follow the rule to "go to bed when I am tired". If it was the afternoon and I started feeling exhausted, I'd go to bed -- sometimes just a nap, on rare occasion, a full afternoon-night's sleep. If I woke up in the middle of the night, I'd get up and do something until I was tired again, but for the first several months, regardless of the day or how tired I felt, I woke up at 5:30 AM. If I awoke within 45 minutes of that time, I'd stop trying to sleep and just "get up"[2]. I'd tried all of these techniques in the past and failed horribly, but after setting my lighting up, I noticed I was waking a _lot_ easier and with a lot less effort. I added back in these techniques and the result was perfect. It's now just "habit" \- I am up early, I'm in bed between 9:00 and 11:30 every night and I rarely wake fully in the middle of the night. I'm rarely tired. All of that said, if life and job circumstances would allow it, I'd prefer doing 8:00 PM to 5:00 AM over a day-job, but doing the day-job shift doesn't bug me a bit anymore.

[0] I'm in an office job, now, so some of what I did doesn't affect me like it used to. I was waking this early, originally, because my team was in the UK and I wanted to maximize the amount of time I spent with them despite the 5-hour time skew.

[1] For whatever reason, working from bed turned out to be very relaxing and helped me to put in longer hours without feeling like I was putting in long hours.

[2] One observation I made was that if I awoke and there was less than an hour before I _had_ to be up -- even if I was still very tired and could fall back asleep within a few minutes -- falling back asleep resulted in me feeling substantially _worse_ when that alarm sounded (and it would stick with me most of the morning). If I get up when my brain wakes up the first time, that tiredness wears off within a half-hour. I ditched the "snooze" habit. I _don 't_ get right out of bed, but gradually work myself out every morning (I have the time, after all, since I'm getting up so early).

</comment><comment><USER263> Dishwashing and cooking became automated after I got married.

<comment><USER98> * groans* at the old joke

</comment></comment><comment><USER264> Texting with my girlfriend. [https://github.com/sjozsef/agf5k](https://github.com/sjozsef/agf5k)

</comment><comment><USER264> Texting with my gf [https://github.com/sjozsef/agf5k](https://github.com/sjozsef/agf5k)

</comment><comment><USER265> btw this thread is gold for all you kids looking to find real world problems to solve -;)

</comment><comment><USER266> craiglist scraping for face-value sold-out concert tickets. has never failed me.

</comment><comment><USER267> I have a daily IFTTT script which posts "This is not normal" on Facebook every morning at 8a.

</comment><comment><USER268> My morning alarm clocks.

</comment><comment><USER269> I was in the US and want to immigrate to Canada because of US broken H1B immigration system ( for me it will take 9 years to get a greencard). Here is what I did -

The immigration website of Saskatchewan province opens up randomly to apply for immigration. I missed it many times because there is no indication other than the "Apply" button being enabled and a small text in their homepage which says "Applications are now 'open' ". They will close the application intake when they have reached X number of applicants. So timing is very important.

So I hacked up a script which diffs their home page every 10 minutes for "open" regex. When there is an "open" keyword in the diff, the python script calls twilio API to make a phone call to me along with an SMS.

So this script was running in AWS for many weeks and one day I got the call. Logged in to Saskatchewan's immigration homepage and applied. Now I am in Canada as a permanent resident. Thanks to Twilio. edit: add H1B to make clear which type of immigration is broken IMO.

(This comment is from my previous HN account, for which I lost my pwd.)

<comment><USER155> [https://visualping.io/](https://visualping.io/) can do this, although it sends email alerts rather than SMS messages.

I used it to notify me of new Hololens events, listed on this page [https://www.microsoftevents.com/profile/web/index.cfm?PKwebI...](https://www.microsoftevents.com/profile/web/index.cfm?PKwebID=0x352651541)

<comment><USER31> How do you deal with the legality of scraping?

I was hired to scrape some economic related pages and build an excel file and email it, I got that done but not sure if I should try to host this and turn it into a service or just set it up for the client and let them deal with it. It's just personal use on their part.

<comment><USER270> > How do you deal with the legality of scraping?

How did Google deal with it, when they started their search engine business?

<comment> benji-york robots.txt

<comment><USER271> [https://www.google.com/killer-robots.txt](https://www.google.com/killer- robots.txt)

</comment></comment></comment></comment></comment></comment><comment><USER272> A lot of great ideas in this thread!! I've automated quite a few work tasks over the years(just as fun IMO) but the ones I've done for 'fun fun' are...

\- I played an online survival game and the server I played on had a live web based map that you could look at, the server chat activity was also visible on this online map and no one playing on the server could tell if anyone was listening in, the problem was that the text disappeared every few seconds - <USER5> I made a script to check if the site changed at all(passively listening for the js event, scrape the text, upload it to my private server via FTP and I setup a webpage that any of my friends could logon to to get the full details(with various sorting/filtering options as needed, nothing over the top, and updated every 30 seconds) this helped me and my clan tremendously because it gave us a deep insight into all the alliances, who raided who at which times, then we'd use this edge to make new allies and we eventually completely crushed the top clan of 18+ people with our smaller group of three.

\- Ran a gaming server for a year or so and I automated checking who had previous bans on steam for any game(it was some online service, don't remember which), got their SteamIDs off of server logs, performed the check, and if certain values showed up on the page it would log the query page to a screenshot(to get a full picture of their activity in case of dispute), log their SteamIDs in a list and the ones who got red flagged got banned nightly.

\- 2 MMORPGs(one top down game, and one 3D game), got to max level on the 2D game without playing a minute of a new character after script was done(python, image recognition, basic evaluation of status/reaction) and returning to a character with plenty of loot when getting home after a day at work was a lot of fun. (some of my purist gaming friends don't agree, but we all get our kicks differently) - I never traded to not affect the economy, was done as a learning challenge, and the results didn't matter a whole lot. Quit playing pretty much right after 'beating' the challenge.

\- Polls, multiple personalities, statistical variance.. the whole 9 yards..

\- Photoshop workflows, and a few other 'art' related programs. I can only do something manually for so long before I'm itching to script it.

\- Web scrapers of all kinds, several image scrapers, one which filled a folder with results from a keyword of your choosing.. another one is classifieds scraper which notifies you when something you're looking for appears, done by indexing current status of the sub category you're interested in, run a diff, pop the older ones, stores all time stamps/ID's/URLs, browses to the new ads and gets relevant fields, formats them all in an XLS sheet for friendlier and ad free browsing(with links to images).

\- Text manipulation for a big keyword project that spanned months, ended up with lots of great data, some of which is no longer available accuracy wise.

\- Scripts to check the status of and update common applications silently and over the home network. Other scripts to check the status of all devices on the network, the 'health' of various services etc..

\- Backups.. file manipulations..(data, names, inserting metadata, reading metadata from thousands files, indexing the results and subsequently performing actions to the files based on the metadata)

\- Some hardware quirks that I ended up fixing with scripts which automated devcon.exe actions and that ran on boot.

\- Online dating, top three spots constantly, and yes, more eyeballs on your profile means more first contact from the ladies. The profile was meticulously written and re-written based on performance(contact stats), with ad copy type hooks intertwined, my record day was 17 new messages.

</comment><comment><USER273> birthday wish messages.

</comment><comment><USER274> I have food pretty much automated using a combination of an electric stacking steamer and automatic chopping/grating machines. It's pretty amazing how much simple, precomputer, technology can do for you if you are disciplined and creative.

<comment><USER275> What automatic chopping/grating machines do you have?

<comment><USER274> I have the communist era UKS Kitchen Robot:

[https://www.google.cz/search?q=kuchy%C5%88sk%C3%BD+robot+uks...](https://www.google.cz/search?q=kuchy%C5%88sk%C3%BD+robot+uks&client=firefox-b&dcr=0&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjNn9vY2-nWAhXGrRoKHZ7mAZgQ_AUICigB&biw=1050&bih=651)

It has a round cheeze gratter and slicer which is turned by an incredibly powerful and slow motor, and whatever it is you wanted sliced or grated can simply be cramed into the thing. It has a number of attachments, including a dough mixer that is actually powerfull enough to work (and to break your arm if you're stupid). The grating/slicing attachment has an outspout and I either put the steamer tray under it or a pot.

<comment><USER275> Interesting. Thanks for the reply!

</comment></comment></comment></comment><comment><USER276> I use www.freshfitnessfood.com to supply food for me, preparing your own meals is for losers! A guy creeps up to my house every morning and drops off delicious and healthy breakfast/lunch/dinner (not a paid advertiser i promise, ha!)</comment>