Ask HN: What non-work task have you automated? - Kevin_S
======
tylerjaywood
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.

~~~
AceJohnny2
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.

~~~
tylerjaywood
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.

------
rrggrr
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.

~~~
threeaccents
Did you have to prove your system was logging real data?

~~~
aoeuasdf1
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.

~~~
riku_iki
Another question is if this will be admissible in the court.

~~~
weaksauce
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.

~~~
humanrebar
> To disprove her allegations I wasn't involved in the kids school and
> activities...

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

~~~
throwanem
That doesn't mean you don't get sworn.

------
mintplant
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.

~~~
djhworld
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.

~~~
mintplant
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.

~~~
fermuch
Most site also display data in a much easier way if you identify as googlebot

~~~
vintageseltzer
That’s a great way to kill your page rank.

------
sasaf5
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

~~~
Debonnys
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.

~~~
mabbo
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.

~~~
eximius
I'd still be creeped out. What if I want to go secretly shop for a gift?

------
stevesimmons
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...

~~~
inetknght
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.

~~~
j_s
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)

------
aeto
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)

~~~
kristofferR
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.

~~~
aeto
interesting. ive heard this a lot. will port it

~~~
aeto
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/)

~~~
ycombinete
Added. Thank you.

------
artpi
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

~~~
heelhook
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)

~~~
jcun4128
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."

~~~
aknosis
It exists... [https://www.deadmansswitch.net](https://www.deadmansswitch.net)

------
dpcan
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.

~~~
ipsum2
Nice! If you don't mind me asking, how profitable is the room?

~~~
RepressedEmu
I'd also like to know this. I'm fascinated by their business model and I see
them popping up all over.

------
wynnvonn
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 - but
this was _way_ more rewarding.

~~~
shostack
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.

~~~
djhworld
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.

------
tfolbrecht
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!

~~~
kingkool68
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.

~~~
pavel_lishin
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?)

~~~
mfrye0
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.

------
mysterypie
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.

~~~
Grustaf
>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.

~~~
eaandkw2
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.

------
athenot
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.

~~~
Kluny
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.

------
anotherevan
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/)

~~~
jrowley
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)

~~~
stevekemp
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.

------
chaostheory
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.

~~~
rhoursour
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)?

~~~
chaostheory
Not yet - let me clean it up first and I’ll ping you guys

------
jurasource
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]

~~~
shujito
can you elaborate on more details? seems fun/interesting

~~~
jurasource
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!

------
vollmond
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)

~~~
shostack
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).

~~~
vollmond
I looked into it before I started coding, but it seemed the 3.5 support was
pretty slim, at least for the character sheets.

------
jmathai
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)

~~~
mrfusion
This is great! I’ve been wanting to do this for years. I’m still amazing
something everyone should want is so difficult.

------
sleighboy
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.

~~~
OkGoDoIt
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?

~~~
aperrien
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. :/

~~~
sleighboy
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.

------
jcun4128
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)

~~~
jcun4128
Video of it working skip to 23 seconds

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

~~~
jcun4128
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

------
santaclaus
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!

~~~
chrisseaton
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.

~~~
arkades
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.

~~~
chrisseaton
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.

------
cloin
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.

~~~
QuasiAlon
Love both of these. Started working on a similar thing to #2 in python, never
got around to finishing it.

------
peacelilly
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.

~~~
sachleen
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.

~~~
peacelilly
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)

------
schappim
(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.

~~~
thol
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.

------
jerkstate
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.

~~~
santaclaus
Ohh someone should do this for the pot holes in the Bay Area.

~~~
Sohcahtoa82
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)

~~~
netsharc
Time to program the Roomba.. just add image recognition and spray paint
module..

~~~
santaclaus
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.

~~~
Bromskloss
Ah, yes, this will not end well, but I will enjoy reading about it!

------
marvinpinto
I automated downloading and reconciling my financials from all my bank
accounts.

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

~~~
throwaway613834
Holy cow, I've been looking for this but for the US. Anybody know of any?

~~~
marvinpinto
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!

~~~
throwaway613834
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.

~~~
marvinpinto
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!

~~~
throwaway613834
Oh dang I didn't know! I'll check it out at some point then, thanks! :)

------
mbrock
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...

~~~
nfRfqX5n
mind sharing any more detail? heard of someone doing this before, but just
started searching for a new place

~~~
Jeaye
My top-level post covers a similar approach to this.

------
somethingsimple
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.

~~~
shostack
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.

~~~
somethingsimple
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)?

~~~
laken
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)

~~~
somethingsimple
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.

------
icebraining
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.

~~~
michaf
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.

------
hellothere007
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

~~~
Walkman
This sounds terrible. Even more terrible a lot of people (probably you also)
don't find it terrible.

~~~
strictnein
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.

~~~
louithethrid
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.

~~~
jldugger
I feel like this is an SMBC comic not yet illustrated.

------
wingerlang
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.

~~~
jmcgough
Pretty neat, but that could be dangerous if someone got ahold of that
information.

~~~
wingerlang
I guess, in reality the information is quite boring.

------
anotherevan
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/)

~~~
ThinkingGuy
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.

~~~
anotherevan
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.

------
skate22
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.

~~~
Chromozon
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.

------
alaties
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.

~~~
verelo
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!

~~~
alaties
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.

~~~
verelo
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!

------
PaulMest
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.

~~~
tristansokol
is 3) up somewhere? I spend my time from boarding to takeoff frantically
googling movies.

~~~
PaulMest
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.

------
hoskdoug
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.

~~~
jackpotek
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?

~~~
Quiark
This is how you catch and jail the bad boy who's scraping your website :P

------
stevekemp
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.)

~~~
opayen
Could you give more details about it? What device is it? How does it work?

~~~
stevekemp
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.

------
Mantequilla
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

------
icodemuch
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.

~~~
colemannugent
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.

~~~
LukeLambert
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?

~~~
colemannugent
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.

~~~
emodendroket
Yeah, but that's now illegal, so only the real reprobates do it.

~~~
kbutler
Trouble is there are just so many reprobates... (See also robocalls)

~~~
emodendroket
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.

------
ebrewste
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.

------
headcanon
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.

~~~
j29h
I need that. Any chance you got it somewhere handy?

~~~
headcanon
sure! its a very simple script:
[https://github.com/chronick/pinbots](https://github.com/chronick/pinbots)

~~~
starbugs
I bookmarked your Github repo and will probably forget about it

~~~
headcanon
Yeah, I should probably do something similar with GH stars

------
coda_
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.

~~~
fomojola
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.

~~~
coda_
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!

------
yorwba
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.

------
AWebOfBrown
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.

------
richardknop
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!

~~~
tarboreus
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.

~~~
richardknop
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.

~~~
torinmr
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!

~~~
richardknop
You can take that one step further an order food every day. Or go eat out.
Then you don’t need kitchen and dishes.

------
romdev
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.

~~~
malnourish
I've found that some bills (mostly rent -- I still rent) charge a percent fee
for paying with credit cards.

~~~
spyspy
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.

~~~
romdev
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.

------
executesorder66
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.

------
kingkool68
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)

~~~
charlieegan3
This should be possible with IFTTT too.

------
juancampa
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.

~~~
jdlyga
What bank do you use that has this feature?

~~~
strange_quark
Not OP, but Chase can email and send push notifications for any purchase if
you set the threshold to $0.

~~~
lstamour
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?

~~~
juancampa
> 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.

~~~
lstamour
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.

------
snikch
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 - so
it gets turned off.

------
malingo
I track my visits to the gym with a geofence trigger with my phone--logs to a
google spreadsheet through IFTTT.

~~~
amingilani
This I would love to reproduce. How?

~~~
icebraining
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)

------
ssanders82
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.

~~~
nicholasjarnold
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

~~~
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.

------
shadefinale
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.

~~~
Sholmesy
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!

~~~
shadefinale
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.

------
bemmu
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!

------
dageshi
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.

~~~
colinbartlett
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.

------
jmkni
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!

~~~
bg4
Don't you end up with a lot of unused product?

------
cefthurston
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).

~~~
zanedb
When you're done with this, please open-source it on GitHub. Something like
this would be very useful.

------
rsivapr
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/)

------
phowat
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.

------
mrguyorama
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)

~~~
hacker_9
> 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?

~~~
mrguyorama
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.

~~~
triplenineteen
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.

~~~
mrguyorama
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!

------
RedNifre
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.

------
milge
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.

------
maxk42
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.

~~~
j2bax
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.

~~~
kerbalspacepro
While I agree with this sentiment, I find it ironic I have no concern from my
companies perspective where we will roboblast customers.

------
georgespencer
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).

~~~
burkemw3
I've used ifttt monitoring rss feeds and pushing articles to Pocket for
offline reading

------
flying_sheep
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.

------
wiz21c
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.

~~~
cschneid
What network connected power strip are you using for that?

------
richev
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)

~~~
juancampa
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)

------
live3dio
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)

~~~
someguy101010
link that thing dude or pm it to me

~~~
live3dio
[https://freemovies.services](https://freemovies.services)

------
cdoxsey
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)

------
pards
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.

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

------
imnicuhtine
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)

------
wynnvonn
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 - a
memory editor would have had the same effect in 5% of the time - but this was
_way_ more rewarding.

------
mountainofdeath
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).

~~~
ThrustVectoring
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.

------
ClayM
~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 :)

------
boardwaalk
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.

------
stevewillows
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.)

------
larrywright
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.

------
throwaway2016a
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

~~~
nanospeck
Hi which va service do you use/recommend ?

~~~
throwaway2016a
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 :)

------
vacord
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.

------
Lazlo_Nibble
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...

------
pinusc
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.

~~~
meerab
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.

------
adrip
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)

------
piccolbo
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)

------
teekert
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)

------
someguy101010
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)

------
dessant
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

~~~
L_Rahman
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/)

------
Maro
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).

------
Mister_Snuggles
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/)

------
IgorPartola
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.

~~~
markman3200
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.

------
jasoncartwright
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)

------
pavanred
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)

------
unixhero
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.

~~~
viperscape
Have a link to the packet thing?

~~~
unixhero
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.

~~~
viperscape
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

------
tessierashpool
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.

------
Stwerner
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)

------
akshat_h
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.

------
jrs235
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.

~~~
toomuchtodo
Does your local lottery authority allow you to purchase tickets online? Could
automate the entire workflow.

~~~
jrs235
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).

------
wellpast
\-- 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..

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

------
sronors
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.

~~~
rupertdev
I'd love to see the code for this, happen to have a public repo?

~~~
sronors
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)

------
fishywang
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))

------
ivan1931
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.

------
accidentalrebel
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.

~~~
jpster
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?

~~~
accidentalrebel
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!

------
anonu
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.

------
nicolashahn
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)

------
viperscape
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.

------
jzig
Buying a Roomba has been the greatest upgrade to my household in years!

------
CGamesPlay
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.

~~~
inetknght
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...

~~~
CGamesPlay
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/)

~~~
inetknght
Nah, I avoid SF and SV like the plague. Too many people.

------
chmanie
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.

------
anotherevan
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)

------
jaxn
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.

------
shoover
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.

------
ZeroGravitas
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.

------
Walkman
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

~~~
icebraining
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.

~~~
Walkman
but you still need to open the url in the browser right? which is way slower

~~~
icebraining
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.

------
jonah
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.

------
munimkazia
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.

------
afromatic
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.

~~~
yorwba
What are you using for speech-to-text?

------
f3r3nc
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.

------
protomyth
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).

------
_pmf_
I automated child care by giving my daughter my tablet.

------
patrickdavey
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)

------
iansowinski
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.

~~~
TeMPOraL
Where are you based, if I may ask, and where do you get weather graphs from?
Fellow Polish citizen here.

------
qznc
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/)

------
khannavidur93
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

------
SamReidHughes
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.

------
nevster
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)

------
container
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.

------
orky56
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.

~~~
EvanKRob
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.

------
yakshaving_jgt
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/)

------
dpcx
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 :)

~~~
ankit428
Cool script. Do you have it on github ?

------
cache_miss
Currently running a bot to farm an exploit on Forza 7, using the same macro
program that I used a decade ago for runescape.

------
jpetersonmn
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)

------
Tepix
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.

------
KGIII
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.

~~~
tarboreus
Plus, you probably internalized all that cowsay wisdom.

~~~
KGIII
I did have it piping jokes to me, but they weren't very funny.

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

~~~
toomuchtodo
[https://www.youtube.com/watch?v=-KHc9k5s5yU](https://www.youtube.com/watch?v=-KHc9k5s5yU)

~~~
KGIII
Yeah, that one amused me. It's almost worth getting an Alexa for that.

------
squash_2017
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.

------
rusk
I've been scraping match fixtures to support a rudimentary forecasting tool
for fantasy football if that counts?

------
ccpizz
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.

------
sircastor
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.

------
liegroup
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/)

------
LordRatte
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.

------
vxxzy
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
:)

~~~
JadeNB
This will be especially handy once you also automate the creation of children.

------
throwaway613834
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.)

~~~
zeronight
I have this same thing.

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

------
Doublon
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.

------
kingkool68
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.

------
t0mo
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.

~~~
schappim
how do you go about shutting it down safely?

~~~
t0mo
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.

------
stevenschmatz
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).

------
rrobukef
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.

------
nextos
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.

------
anon3489071348
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.

------
optimiz3
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.

------
spapas82
This belongs here: [https://github.com/NARKOZ/hacker-
scripts](https://github.com/NARKOZ/hacker-scripts)

------
etoykan
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.

------
javierhonduco
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 :)

------
ASipos
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...

------
satanic_pope
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.

------
togasystems
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.

------
probably_wrong
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.

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

------
caryme
Submitting price match claims on my credit card.

------
dm03514
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.

~~~
lucb1e
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.

------
auvrw
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.

~~~
philsnow
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.

~~~
auvrw
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)

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

------
thejacenxpress
Getting text alerts for Star Wars movie tickets as well as the NES and SNES
classic :)

------
railroad_jerk
Created sophisticated music randomizer for the digital music changer in my
car.

------
davidmurdoch
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. :-(

------
mdip
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).

------
crimsonalucard
Dishwashing and cooking became automated after I got married.

~~~
Quiark
* groans* at the old joke

------
sjozsef
Texting with my girlfriend.
[https://github.com/sjozsef/agf5k](https://github.com/sjozsef/agf5k)

------
sjozsef
Texting with my gf
[https://github.com/sjozsef/agf5k](https://github.com/sjozsef/agf5k)

------
artur_makly
btw this thread is gold for all you kids looking to find real world problems
to solve -;)

------
navels
craiglist scraping for face-value sold-out concert tickets. has never failed
me.

------
dhosek
I have a daily IFTTT script which posts "This is not normal" on Facebook every
morning at 8a.

------
lmmharriman
My morning alarm clocks.

------
t1o5
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.)

~~~
richev
[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)

~~~
jcun4128
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.

~~~
amelius
> How do you deal with the legality of scraping?

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

~~~
benji-york
robots.txt

~~~
gspetr
[https://www.google.com/killer-robots.txt](https://www.google.com/killer-
robots.txt)

------
Tiki
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 - so
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.

------
manav
birthday wish messages.

------
timthelion
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.

~~~
cwkoss
What automatic chopping/grating machines do you have?

~~~
timthelion
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.

~~~
cwkoss
Interesting. Thanks for the reply!

------
egamirorrim
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!)

