Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What non-work task have you automated?
586 points by Kevin_S on Oct 11, 2017 | hide | past | favorite | 704 comments



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.


I'm truly amazed that this has been going for over a year now and the internet hasn't murdered it


Some have tried, but it would take some coordinated effort over several weeks at this point to over or underwater the plant. I've found that the folks who consistently vote take it relatively seriously to the point they have discussions about optimal schedules and for the most part stick to them.


I'm glad that these people exist but on the other hand It's hard to imagine what they do in everyday life that this topic is so interesting to them, that they want to feel this responsibility for the plant.


Communities can form around the weirdest of things, and when they do, social ties keep the original reason going.


That's a beautifully succinct explanation of the Internet.


They've also done a lot to enrich the whole community. The daily plant gifs and a monthly voting graphic overview post have been put together by folks in the community.


How did you end up getting people interested/wanting to participate? I feel like that's the biggest hurdle.


this is extremely wasteful

automated gardening would be far more productive, and make significantly more progress


go and write an automated-voting-bot in the with optimal schedule for the plant

fight fire against fire :)


sounds like bitcoin lol


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.


It's very simple -- something like https://www.amazon.com/Moisture-Humidity-Compatible-Atomic-M...

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.


we do this for a ag product

http://www.mywildeye.com/wildeye/soil-moisture-online/

which can use a number of different sensor makes, but http://www.decagon.com/en/soils/volumetric-water-content-sen... seem pretty good


Associated HN discussion currently on the front page:

Please take care of my plant | https://news.ycombinator.com/item?id=15453974 (100+ comments)

And the link: http://www.pleasetakecareofmyplant.com/


This couldn't backfire. I like it.


The worst case scenario was me trying to keep the plant alive, so it was really all upside.


This is fantastic. I had a similar idea but it was for a friend of mine. She constantly made the wrong choices in life and I'm positive things would turn out better if she crowdsourced all of her decision makings.


Very cool! Can you share the hardware setup you have?


Yeah, there are some affiliate links on the main page of the website, then a link in the header to 'how it works' shows a bit more. All of the code is mostly on github. (I was still learning how to use git for this project, so its not perfect)

If you have any more questions feel free to post them in the sub and I can explain more!


Very clever, I like the project. I'm a fan of the pin too.. can there be a fridge magnet version?


haha I can snip off the pin and super glue a magnet to the back of one if you want. They haven't been selling well enough to recoup the initial production cost so I'm hesitant to expand the product line.


Do you have limits to prevent over or under watering?


Yeah, so it's not water on demand. That was my original idea but obviously that posed some risks to the dryness of my floor and the relationship with my landlord.

How it functions is a daily yes/no vote that triggers a watering event for that day.

Edit: Oh, but to I think the real question -- No. It's not my plant anymore as far as I'm concerned. The community can care for it as they see fit. I won't interfere, except to add features, or put up seasonal decorations :)


Sounds like that would defeat the entire purpose, as well as prevent anyone from caring whether they participated.


this is extremely wasteful

automated gardening would be far more productive, and make significantly more progress


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.


This is awesome. You should turn this into a sevice or App -- call it DivorceBot or CustodyBot or FatherTime ?

Considering that close to a MILLION Americans get divorced every year, at a 50% rate i.e. half of marriages are ending up in divorce in the US.

Source: https://www.cdc.gov/nchs/nvss/marriage_divorce_tables.htm


I saw on a reddit discussion that this has already become a service some courts use. I can't remember the name and it might not have been even mentioned ("PM me") but it exists already.


Nicely done! Amazing how slanted family court is that one has to go to such measure to subvert such deceit.

May you and your children be blessed.


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


You might be able to use 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.


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


There isn't a blanket reason why it wouldn't be. In a particular case it's up to the judge, and the judge's decision probably depends on the quality of the experts that can be found to explain it.


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.


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

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


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


Blockchain?


"I was on Mars on 13/10/2017"

Still a lie, even in the blockchain


The SMS part would mean you could in theory subpoena the telco for proof of that part if it came down to it.


They accept paper logs as well. Infact many judges just order paper logs


It was enough for the GAL to make a positive recommendation, and that seemed to be what the Court was after (the recommendation).


What is your email address,rrggrr? Or rather would you email me if you do not want to make it public? See my update email address in my profile.


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.


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.


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.


This is re-implemented by so many. (HN user megous https://news.ycombinator.com/item?id=13226170 Dec 2016.) It would be nice to find a way to share this work, but the variety of tools used often make the customizations too custom (or maybe this is just the most common reason why creators feel there is no reason to share?).

Is anyone aware of any repositories where the customization required to obtain the important content is maintained by a community?


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


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


This is why I gave up on RSS. I wanted to read content quickly without having to navigate to a website.


I think your project is very very cool, and I was thinking maybe we can work together on this. We created a very similar thing, but instead of scraping RSS, we scrapped some well structured pages like newspapers and blogs.

If you are interested in working together please reach me out!

You can check what we did here: https://eink.news


I used to use Youcast (https://github.com/I3arnon/YouCast), which allows Youtube channel or playlist to be consumed as Podcast. I used it with my iPhone podcast app to watch and listen to my favorite Youtube channels when I was off the internet.


Which youtube channels are you referring to? The weather is getting nicer and my walks are getting longer, would appreciate having something great to listen to (versus an audio version of a textbook).


Not OP, but some channels I would recommend that work as audio-only: (mostly science or thought-provoking)

CaspianReport

CrashCourse

ExtraCredits

Innuendo Studios

Kurzgesagt

SciShow (and the sub-channels: SciShow Space and SciShow Psych)

PBS Idea Channel (no new videos, but old content is good)

vlogbrothers

Wendover Productions


This method of downloading a website for later viewing is how Richard Stallman uses the web.

https://stallman.org/stallman-computing.html


I'm currently in the process of doing the exact same thing with my ttrss instance. I am using lxml. I wanted to create "pages" of comics sort of like the funnies, instead of just one big feed, since ttrss can do that already. Would you mind if I looked over your scripts? I'd love to see what your solution was.

I'm also developing something similar to your news scraper but with different end goals. I'd love to talk with you about your approaches in that domain as well.


Wouldn't happen to have this on Github would you?


Been using my tt-rss instance and Fiery Feeds on my iphone for a while now. Fiery Feeds does some magic to get the full articles in case they only display preview snippets.


Very interesting and smart system. Could you possibly share this code on GitHub?


Please share!


So simple!!! Time to build this for my train ride


github please?


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


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.


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.


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


I did the same thing, only at the time I had a wireless charger, so it was setup on my phone to send the text when it was after 8PM and I put my phone on the charger.

One night she stayed over, set the phone down, got the text, and thought it was hilarious and said she did think it was weird that I said the exact same thing every night.

The next day I updated it to pick from one of 10 different text messages!


But what if the murderer took your phone and drove past your home?


Was a fair game still. You were safe at home.


Did the same; my SO wanted me to send her a periodic reminder as a text message on a given hour; I put together a Tasker task that composed a bunch of randomly selected parts into a sentence.

It took about a month or two for her to notice, though I believe that what ultimately did me in was that time when I was talking with her on the phone when the SMS task executed...


I have thought about doing this so many times, and yet dare to make the move. It will be fun at first but not so much after she finds out.


Here's a idea for a compromise: make the SMS bot send you a message with a suggested message. This keeps you in the loop about what messages are being sent but relieves you from having to remember to send up a message or think of one.


Yeah... one day her cat dies, and she gets the automated text you forgot to stop: "Hey babe... hope you're having a great day! xoxo"


That's awesome, what was the sms api/platform that you used and how much?


Nothing fancy, I used "Tasker" on my own android phone. Ugliest thing ever, but I managed to hack it during a bus trip, and it worked.


This makes me wonder, how could one implement something like this over a service like Whatsapp?


I don't use WhatsApp, but if it allows to receive Intents (Android functions to execute something on an app, like sending a message to someone), then you can use Tasker to send the intent you want with the right parameters.


Have not heard of that thanks.

I just assume you have to rent a number/sms service or put a usb cable into your phone to use your existing phone.

Would be cool to interface with it without usb.


Tasker is just an app, there's no need for any cable. Tasker lets you automate stuff on your phone, say send a SMS every day, turn the WIFI on when you are close to your house, etc.


I see. I was looking at it with perpestive of being integrated with a "web coded thing" I don't know how to explain what I'm saying like you wrote something in JavaScript and want to send a message by your phone from JS.

Anyway that is pretty cool what it does.


How did she find out eventually?


Because I implemented the thing during a bus ride, the sending time was not very random, and looking at a stream of messages she suspected I was scheduling them. When I showed her that even the content of the message was automatically generated, that's when she got angry.


Not OP, but in my case, I believe she finally noticed when a text message arrived on-schedule while I was having a coversation on the phone with her...


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


I would pay for this. The key is to start doing it at the very beginning, not just when things go south.

I know of a homeowner that informed his contractor(s) that he blogs daily about the progress of his renovation. The fear alone was sufficient to ensure that his project went smoothly. Plus if the contractors do a good job then they get free PR.


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.


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/

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


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


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.


I just gave it a spin again, after using Chrome for years.

The new Firefox is actually faster than Chrome, on my PCs. Plus of course the mobile version actually supports adblockers. I'm switching back to Firefox, personally.


interesting. ive heard this a lot. will port it



Added. Thank you.


interested in this as well. is there any way I can be notified if you do so?


yes, i will be sure to ping you guys here


me too, thanks


me 3


Would you please alert me as well?


We should automate this somehow…


lol good idea. can you guys add your emails to: https://aetolabs.com/harvest/

i won't spam you, promise. will notify everyone there about updates like the firefox port


You might still want to reply to everyone in this thread manually. I wouldn't know about the mailing list if I didn't stumble upon this page in my Pocket.


How much better? Any reference to a comparison?


Thanks for sharing. I tried it out and it looks great. I had a couple issues. Firstly it has me sign into my Google account on a browser window with no address bar. The only way I could actually verify that it wasn't a fishing site was to use the dev tools. After that it signed me out after a few hours. Hope this helps.


How do you pop the dev tools up on that window?

I tried but can't (same thoughts as you, without verifying it myself, not gonna sign in...)

Hitting F12 or Ctrl+Shift+C on the popup page do nothing.

EDIT: chrome on linux Version 59.0.3071.86 (Official Build) (64-bit)


Using Mac Chrome I was given the option to "inspect" on the right click menu.


understand completely about the google signin. will look into how to display the URL as well to give people peace of mind. one day soon will add a dedicated authentication service.. this was just the easiest way to get up and running.

getting signed out happens for a variety of reasons, probably unrelated to the extension itself. ill keep an eye out though to see if there is a systematic reason

thks for the feedback mate!


This is AMAZING. I am going to use this for its intended purpose because I love passive learning. I also intend on using it as a tool to keep me in check with nags with things that don't end up on my immediate schedule: "Have you written the unit tests for that open source project yet?". Having that show up a few times in random days or months would be great.


Sucks extensions don't work on phones (Chrome) I was doing a similar thing just grabbing topics when you go down a rabbit hole to remember random stuff you learn.


mobile app in the plan


Just downloaded your extension, it looks great! What does the stack look like for this product? I'd love to hear how you went about building this extension.


google extensions are basically all javascript :p and the styling is from https://semantic-ui.com/ backend is node planning to make a simple mobile app so i can save stuff from my phone too. i can do a more detailed writeup later on!


Cool idea. I will probably highlight way too many unimportant-but-seemed-neat-at-the-time facts from Wikipedia, but I'm going to try it out.


hah i do this all the time. added a "delete" button to get rid of the useless-in-hindsight stuff


https://www.memomize.com/ is a similar extension.


thks for the link. i think main difference is that harvest uses spaced repetition for passive learning, i dont want to see every thing every time i open a new tab. i like looking at my momentum backgrounds :)


This is really interesting. What are some of the things you have used this for? One of the examples is a quotation, which makes lots of sense. What else could it be useful for? Formulas, maybe?


I'm trying to expand my Chinese vocab, so I usually do something like "<characters> translation"

eg. 拓展 expand


For that I use Anki with the Chinese Support plugin, which is honestly pretty great. It does not only have characters and translation, but also pronunciation both as Pinyin (I think other romanizations can be configured) and audio (which plays on review, great for training your ear and checking your pronunciation), as well as measure words and characters in the opposite set (simplified vs traditional). And it can fill all of those automatically. Then there's stuff built-in to Anki, like statistics that let me know I've learned precisely 2521 unique characters in total, which is great for motivation. (The numbers must go up!)

I guess you will want to keep using your homegrown program, but maybe this can give you some inspiration for features to implement.


ive actually never tried anki before, but will check it out now. thks for the details!


Skritter is also really good for this.


For formulas, I find Anki to be pretty effective, because it forces me to recall the formula. I also try to put proofs and proof-techniques into Anki so I can maintain knowledge of an area without using it frequently.


That's awesome!


Really cool idea, thanks for sharing!


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


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)


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



I assume my Twilio account would run out of money in that case :)


Why doesn't #7 send a message to you so you can wish them happy birthday?


Because a calendar reminder was already not helping himmer send out the greeting.

Source: doesn’t work for me.


You must miss a lot of meetings and appointments.


Because I frequently change sim cards due to semi-nomadic life and my Grandpa just does not understand timezones and gets cranky if I wish him next day. So I made this to be sure he gets his freakin wishes :)


There are quite a few Android apps to "Schedule SMS". Anyone have a personal recommendation?

https://play.google.com/store/search?q=schedule%20sms

This one gets bonus points for being MIT-licensed:

https://github.com/vinsol/sms-scheduler

To the best of my knowledge it is not possible to send SMS messages in an automated fashion on iPhone, you might as well use calendar reminders.


I like the idea of "a battery of scripts" I wonder about legality if say your code scrapes sites or does something uncool.

Anyway, yeah I've got that problem right now wrote code for a specific stack need to just drop it into a server that's not mine/easy for client to use.

I'm kind of curious about #1 regardless of the price you buy? What if it was like that day the ICO was banned and it dropped like $800 or whatever.


I always buy at the current price, at the same amount of $$$ I'm using "Dollar cost avaraging" approach without any psychology, because how do you decide trigger price?


Wouldn't it be good to buy on the day it dropped $800? Then you have either - more BTC than expected for the same $ - spend less $ on the same amount of BTC


Yeah it would be good in that case but would the buy go up since it was cheaper and go down when it was more expensive sort of thing.


Curios, why don't you post summaries on http://www.wikisummaries.org ?


For #6, are you storing checklists in Evernote as well? Just reading through GTD right now, is this to replace the "Weekly Review" concept in the book so it is automated?

I'm looking to implement a GTD-like system myself, and any automation is helpful.


#7 is genius. For lazy folks like me, that is a great way of wishing people bdays :)


Make sure you receive a notification of delivery, so you have an idea of why people are randomly thanking you months after you've forgotten about setting such a thing up.


For everyone who wants to get #7, I have created a mailing list to build this as a service.

http://wishsms.launchrock.com/


Why do you buy BTC every day? Is it cheaper than just buying once?


Helps with the volatility.



Yes!


Do you have any special way of avoiding transaction fees? It would seem to me that buying a small amount daily would rack up lots of transaction fees?


The exchange usually gives better rates to people who do larger transactions, but the monthly volume would be the important indicator, rather than single transaction volume.


I guess it just spreads the cost, as getting one bitcoin at once is getting a bit prohibitive these days.


I just realized that [7] probably works only because of [8] - I always give my Twilio phone number to people and pretend with my family that this is my main number.


That is why he mentioned "verified phone number" I guess. When you have verified your own phone number you can send texts from it as well.


According to twilio's documentation you cannot send sms messages from verified phone numbers, only twilio owned phone numbers.

https://support.twilio.com/hc/en-us/articles/223135427-What-...


Do you happen to have any of these available on GitHub? Particularly #7 would be very useful.


Is the script for #3 up on Github by chance? I'd love see how you went about doing that!


Are you able to preserve the original caller ID when forwarding SMS?


Twillio has to validate the number before allowing you to use it: https://support.twilio.com/hc/en-us/articles/223179848-Using...


That's only for calling. Twilio's docs say they do not support SMS sending from verified (not twilio owned) phone numbers.

https://support.twilio.com/hc/en-us/articles/223135427-What-...


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.


Awesome, not too far away from Spokane, WA!

http://www.getlockedaway.com/

I wonder if there's a market for re-selling experiences to other locations.


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


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


nice. Still dreaming of open my own computer shop or more preferrable something like those japanese gaming/cmputer/anime/movie/manga cafes.


this definitely count, and it doesnt feel like work for me too :)


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.


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.


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.


Super speedway endurance, to get the polyphony formula one car perhaps :) I also had the same strategy.. Very handy as the car was one of 4 randomly gifted and that was one boring track.


I also did this! I think I set the throttle to be controlled by the joystick, then used a rubber band to keep it going. It was so very satisfying for such a low tech solution, and I think the prize was the car I really wanted. Fun memory.


Similarly, the game "Hyper Light Drifter" had a number of challenges, and even a pretty hefty achievement, which required the character to dash really quickly without touching any boundaries.

On PC, you could use a keyboard script to repeatedly press the dash key every 500ms and steer with the mouse. Something that was pretty difficult with a controller.


I loved this game! I got the achievement by going back and forth in the same spot. I used a dual shock controller.


There's a spot in that area where the lightning is deterministic and you can press X repeatedly. Still, your solution is cooler!


I did the same thing!


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!


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.


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


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.


I've been doing the same thing for years. I have two bins each for socks, underwear, and t-shirts. when the dirty one fills, I wash it then dump into the respective clean one. The trick is to buy a full loads worth of socks, and a full loads worth of underwear which is probably an unusually large amount for most people. Throw hardware at the problem!


I do this with the small things that I need to buy, keep one roll of toothpaste (or whatever) that is being used, another in a cupboard. As soon as you take one out of the cupboard, buy new one to put in the cupboard.


Funny how a bit of sorting makes a difference. Sames goes for trash, I plan to have few bags so you can them dump each blindly.


Can you elaborate on your NFC sticker setup and how automated it is? Do you have to initiate anything manually when starting the tea or laundry for example?


https://tfolbrecht.com/automation/dishwashertimer/

So I write those links to the NFC stickers (click one on mobile)

stickers: https://www.ebay.com/i/332153052651?chn=ps&dispItem=1

Write on them with a sharpie, When I go to use it, I tap my smartphone(stock android) and it automatically launches the browser to the webapp


I'm looking to buy a basic 3D printer this week but have no significant knowledge. Mind linking the one you bought?


https://www.newegg.com/Product/Product.aspx?Item=N82E1682884...

Caveat: You have to get around the DRM, and the software it uses to make 3d print file from an STL runs on Windows or MacOS, closed source, no Linux support. I run Windows in a VM for the slicer.


I’d love to get a 3d printer for 160! Can you point me in the right direction? (Or add me to your alert)


Newegg Business, Davinci XYZ jr 1.0

There's DRM on the filament and it's PLA only, but you can buy the key to unlock and rewrite the DRM NFC chip. I use an app on my phone to rewrite the values


DRM on the filament, so you need to buy their filament? How does that work?


The inside of the roll has an NFC chip in it. The NFC has information on color, amount of filament left, temperature settings etc.

I call it DRM because you can't edit it without a reverse engineered NFC key.

Another side to the DRM thing is that if you use inferior input material and the printer has a quality issue, customers are going to blame the printer and not the filament.

Value added DRM I guess


Is that a really good printer? I’m seeing bad reviews?


It's a printer you can get for $160. At that price I would expect more bad reviews because of unrealistic expectations.


It's an okay 3d printer. I use it for making toys, statues, etc. There are various companies that offer 3d printing as a service with different materials, precisions, surface finishes etc like stratasys, 3D hubs, xometry.

These printers are nice to prototype with before sending it to a more costly and less time investment forgiving production printer, or quick around the house jobs/play.

Feel free to reach out if you want help getting started: my username @gmail.com


Can I set up a nfc system like that for iPhone??


I believe iOS11 supports NFC, but it isn't as smooth as tapping and automatically opening the document.


How do you make the roomba cry?


There's a bin full indicator light on the back that turns on when it's full. They don't cry... yet.


Mine plays a sad song when it's full. I think it's the 595?


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.


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

That sounds like success to me, though not everyone will agree.

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

This was circumventing a bad process; people would benefit if everyone did it, because it would demonstrate a need for a better process.

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

If everyone does it then perhaps they’ll fix things—or admit defeat and stop giving people false hope by allowing them to report such things when they have no intention of doing anything about it.

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

Or, just maybe, fix it. One can always hope.


If there is a bug/inefficiency to be exploited, someone will.

Not having coupons/loyalty cards is a good thing. Hammering the immigration website, hammering the university website etc might end up improving the process (hopefully?) that is also a good thing.

In a larger context, how is this different from using one's good looks, parents' connections etc to get an edge over others?


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


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.


Well, this is exactly how financial markets function and why it's so hard to beat the market. I think these people deserve the benefits if they can come up with these solutions; none of them are inherently malicious after all.


> Many of automation ideas here bring an edge to one person at the expense of everyone else.

Except for mine. it’s a win / win when people hang out together


The end result of the immigration one is just the H1B system, where loads of checks turn up at the state departments door one day


Some of those are boarder line DDoS


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.


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.


Very useful! I'd love to get a copy of this script if it still exists.


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/


Which gives me this idea to train my loud music playing neighbor to behave. A sensor listens for his music to go beyond a certain level and triggers my Pi to play loud music back to him. Then stop and check if he has lowered his volume, else rinse and repeat. I know its evil, but apartments in Montreal are so bad.


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


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.


Here's my version of that, via an ESp8266, and MQ:

https://github.com/skx/esp8266/tree/master/d1-distance


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.


Cousin! Do you want to go bowling?


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


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


I like this idea for fostering relationships that I either get anxiety or not sure what to say.

What do you ask them to hang out with? A calendar invite? Or SMS?


Just an email. It was born from a project that died years back as one of my first YC submissions. Sounds like I need to resurrect it and add IM and SMS as a new MVP.


I'm also wondering if you could post that script, that sounds very interesting


I'll either ping you guys or do a ShowHN some time this year


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]


LOL, I found this hilarious because my 5 y/o kid wakes me up when it's time for food. Definitely gonna "fork" your source here and try it out myself :)


I have four kids now, and I learned this automation trick way too late. We helped our older kids with "activities of daily living" longer than we realized we needed to. Now or younger two are doing things on their own years earlier than their older siblings.

We've just generally found that our kids have been ready to do things earlier than we imagined. Each time we've made a transition, we look back and think "why didn't we do that sooner?"


Animal training skills are key to parenthood.


can you elaborate on more details? seems fun/interesting


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!


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


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


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


I got an email about how to do the dash button thing, so I figured I'd post my response here as well. I use this project: https://github.com/hortinstein/node-dash-button

Here's how it works:

1. Figure out the dash button's mac address by network sniffing

2. Set up the dash partially, so it tries to make an order (but don't specify in your account exactly what to order, so it never completes)

3. Sniff the network for that mac address, and run an arbitrary script when you see it (this is the actual action, like my data logging)

4. For good measure, block outgoing requests from that address in your firewall

It's not 100% reliable, but it's still pretty useful.


The Hue Bridge can do #1 on its own, but I don't think it's exposed with the stock app. You can set up a sunrise/sunset trigger based on your geographical location - I use this to turn my outside lights on and off.


I'll have to dig into that. Is it one of the Labs plugins? I certainly don't mind cutting out extra services where I can.


I did it manually, using the debug web page[0] on the bridge to set up the "light sensor"[1], which is really a calculation of sunrise and sunset based on your location.

It takes a few hoops to get the bridge to generate a username and craft the appropriate JSON to set everything up, but Philips has really good documentation on this.

[0] https://developers.meethue.com/documentation/getting-started

[1] https://stackoverflow.com/questions/26782957/how-to-use-suns...


You could do number 2 completely automated with just the IFTTT mobile app. I used to track the time when I arrived and left the office on a gApps spreadsheet but later disabled the task due to battery draining (old iPhone 5).


I recently got three lifx lights and they are bright enough to light my entire room.

Simply having them turn on at sunset is awesome. Such a small but great convenience.



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


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.


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?


https://gist.github.com/danielatdattrixdotcom/bd6a05e3d8c499...

Edit Update: Gist is fixed and working 100%


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


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.


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


Video of it working skip to 23 seconds

https://youtu.be/fWfatVYML9o


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


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!


Similarly the college I attended required a five or six (can't remember now) digit number required for access to class registration. The idea was that you would talk to your advisor beforehand so you didn't sign up for the wrong thing I guess. My advisor seemed to be pretty uninterested in meeting with me over email (never responded to multiple attempts), so I gave up and brute forced it.

Class registration was done by most with the web interface, but I opted to connect to the backing mainframe via a 3270 terminal emulator. Doing so allowed me to write a simple expect script passing in an increasing number as fast as the connection would allow. I didn't bother with rate limiting and am surprised nobody noticed. Took me about 30 minutes and I was in! I was able to use that script at least twice and I wished I had thought of writing it sooner.


That’s brilliant.

My advisor was a jerk who scheduled appointments for about 14 people at the same time, the day he left the country for a month. Wish I had this then, that following semester was brutal.


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.


Also keep in mind that usually in the US, college students can sign up for any class as long as it doesn't have specific prerequisites - at large schools that means you'd be able to take just about any intro-level class you wanted to, regardless of your major. I'm not sure it works like that in the UK.


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.


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.


In England, Chris :-) Scotland is different.

We have a module system, and depending on their topic people have some freedom to pick courses outside their main degree during their first 2 years. (We do 4 years, not 3). I did a module on Philosophy of Science during my Computer Science degree, for instance - pretty interesting.

That said, I haven't heard people complain about classes being full in the same way that they seem to in the USA. I don't know why. Maybe it was because I was in science not arts and there were very few overly popular science classes :-) But across the whole uni, I only heard of a few classes that were so popular they were turning people away. I think one of them prioritised by who was doing that course as their main degree. But I generally heard of very few conflicts, so I don't know what was different. Maybe arts students have a different story?


It's not that the schools enroll more than they can teach. One simple reason is that many classes are just very popular, word gets around that they are great for whichever reason (professor, easy A, really fun project, etc). If a class can only hold 20 people, and its a popular class, its going to fill up as soon as registration opens.

In the end, you aren't left without being able to take classes. Just possibly not the ones you wanted

I doubt this isn't the case in the UK too


In the UK you start a degree as a group and do all the same classes all at the same time as your peers. If you have a choice of classes then each of those choices can accommodate the whole group at the same time if everyone chose it, so classes just can’t be too full. At least this was the case at both use UK universities I’ve been to.


Assuming the site wasn't actually crashing I expect they didn't care or know about it.


I do this currently. I'm surprised our course catalog doesn't ban IPs that hit it every 30 seconds or so.


1 req every 30 seconds is more or less invisible, and universities have comparatively small customer bases. If everyone was doing it, there might be a problem.


My university does require a cooldown period. I heard that someone made his course registration script available to everyone, which I guess was a problem. Unfortunately, the detection system triggers even when you're just manually clicking through the site, which is annoying.


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.


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


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.


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...) but it's low resolution and ugly.


I use the national base reflectivity radar.

https://radar.weather.gov/ridge/Conus/RadarImg/latest.gif


The "shuffle any image in this folder" background option in windows is incredibly cool and underutilized


I have a few dozen images in my folder... never thought of using it as a data feed like this. Awesome.


Using a folder as a queue is pretty common in the Linux world, moving files between them as well to make a pipeline.


Brilliant. I never know what to use for a background and usually keep a solid color. I’m stealing this.


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


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.


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.


Did it work? If so, how many months did it take? If not, how long has it been running for?


I had been running it for 4 months and last month they patched the pothole that the puddle created, so I suspended it. I think I may restart it though, water is starting to seep through the patching.


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


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


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


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.


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


IIRC, boston wrote a mobile app that people could install to auto report potholes. http://www.streetbump.org/

This was five years ago, donno if they've improved it.


That thing was awesome. I lived in Boston at the time and loved reporting potholes- they would usually fix them within a week and post a picture of the "after." Made it really fun to participate.


Why not once a week or once a day?


So the Shawshank Redemption method, eh?


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

https://disjoint.ca/projects/ledger-reconciler


I've been working on my own classifier for updating my ledger because I struggled too much trying to get other people's stuff to work. I'm getting about ~90% accuracy using a SVM from scikit-learn, but it can only ever be semi-automated. My plan is that every month I'll go through my various accounts and help to update my ledger. One thing that I don't think other software does is automatically remove the duplication when transferring between bank accounts/credit cards.

How does yours deal with transfers between accounts?

I really want a nice auto-completing thing to type in the account names when the classifier gets them wrong (or to add a new account if necessary). The best UI for this is ido or ivy in emacs. But it would be nice to have a tool that runs outside emacs. The best I've found is fzf but it doesn't support tab completion which is a shame.


I handle transfers between accounts manually - as in when I see duplicates show up, I remove one of them. A neat thing that ledger-reconciler does is to print the balance (as listed on the banking website) for each account. That information combined with Ledger's balance report tells me immediately whether something is off and if investigation is needed.

This in itself has saved me so much time that I can deal with manually editing the occassional duplicate entry (internal account transfers). I also keep all my ledger data in git so it's very easy to see what has changed, etc.

Have you looked at the reckon gem[0] for auto-classification? That is basically what this program uses.

[0]: https://github.com/cantino/reckon


I tried reckon amongst other things but couldn't get it to read my CSV files properly. I got frustrated enough that I thought writing my own would be easier.

Putting the account balances in the ledger file is certainly a good idea. At least one of my bank CSVs provides the balances with each transaction. It doesn't seem too hard to automatically merge the transfers between accounts, though. But maybe there is a difficult I haven't thought of yet.

Where there will definitely need some manual tweaking is on the those transactions where ledger really shines: many to many transactions. Have you built in some functional to flag a transaction as TODO when you know it will need manual tweaking later?


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


This might be helpful, though I haven't looked at it in a very long time: https://github.com/madhat2r/plaid2text

Essentially it is some python to download transactions using the plaid API (and requires an account to do so).


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!


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.


Many US banks support OFX (though they may call it QFX, DirectConnect, or simply advertise Quicken support). The OFX spec is a bit of a pain, but there are a number of open-source libraries to query/parse it. I wrote one in Go: https://github.com/aclindsa/ofxgo


Many actually do have APIs, they're just poorly documented in public.


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!


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


Transaction pull can be done in GNUCash with aqbanking. It's not fully automated, as it's a GUI and there's a manual review step. And also the aqbanking interface is terribad.


On a related note, I have gnucash set up to autocreate a ton of transactions 90 days in advance. Rent, salary, typical bills, student loan repayment, etc.

At some point my plan is to automate the following tasks:

1. Sweep checking into savings based on forecasted transactions. Useful since interest is like 10x more in savings. 2. Update asset values daily. 3. Update autocreated transactions as the invoices are emailed to me. 4. Calculate a rebalancing strategy that factors in allowed rollovers and expense ratios.


> On a related note, I have gnucash set up to autocreate a ton of transactions 90 days in advance. Rent, salary, typical bills, student loan repayment, etc.

Why do you need to do the transactions? In Germany, I can simply create a recurring transaction for rent and loan repayment, and utility/phone bills are directly debited from my bank account.


You misunderstand. They're already scheduled largely. This is about writing down in the books in January that I'm going to spend in March. GNUCash's summary view has a column 'future minimum' for each account that uses this data; looking at it informs you when you might go negative without corrective action. Or conversely, tells you how much money you can safely shift out of checking.


Ah, that explains it. Nice idea!


Perhaps something you've already considered, but if you're going to spend time on automation of sweeping extra out of checking, you might want to put that into some index funds rather than a savings account to optimize on return.


This is great, would love to see support for more data sources.


Thanks! Unfortunately I can only add support for things I have access to (bank accounts and such) and I do plan on adding a few more.

To work around this I tried to make it as developer-friendly as I could so we'll see!


ledger-autosync [0] does similar things with more data sources available

[0]: https://github.com/egh/ledger-autosync


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


You could charge for this if you expanded it out to other areas and websites. Might have to work with the data providers to ensure you're not breaking their TOS by scraping their websites, though.


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


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


I used 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.


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.


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


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


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.


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

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


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.


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


You automated a part of your relationship. This is awesome!


Reminds me of this reddit user that automated 'liking' his girlfriend's Instagram posts: https://www.reddit.com/r/Python/comments/70udwq/what_routine...


This is a great suggestion - will add it asap!


I thought so too, until I realize she could immediately call and ask what do I think about the picture.


Like + email with the picture? :)


Just spin up a good computer vision algorithm!


Reminds me of the day when, while helping debugging stuff on my father's old Solaris server, I came across a email_birthday.sh script run by a cronjob every year at my mother's birthday.

They are happily married for more than 40 years and counting ^^.


this is another webjob I did but for my father's business, it sends the company's clients an email and text wishing them happy birthday :)


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


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.


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.


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


No point arguing over whether this was harsh or justified--what matters is how GGP's spouse feels about it.


You might have a case if 'hellothere007 doesn't write the jokes. I interpreted their post as meaning they write the jokes, queue them up with the cron job, and use it to schedule them for delivery at some time more appropriate to the wife's timezone.


Damn am I so old school that I prefer real voice (and believe me, Skype over Hotel networks is awful (and floss alternatives are no better), but that's better than nothing). Automating that part of my life seems so soulless...


I like voice better of course but what I didn't mention is that the cost per minute if I call her is $0.60 and that quickly adds up and she doesn't have internet over there, so if a text costs me $0.003 I might as well be using it


Ahhhh... Now I get it. And was bout to post something along the lines : "well, I shouldn't have judged like that, I don't the complete picture, maybe he has some good reasons...

Now, to be more constructive, where do you get your jokes ? Do you write them yourself or have you some kind of database ?


Did the text message come from a separate account or were you able to use your cell phone number? how did this work?


it was an azure webjob using twilio api to send the message, I randomized the time and the selection of jokes to make it seem like I was doing it :)


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.


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


I guess, in reality the information is quite boring.


What does the stagnation folder structure look like? I have a large data sorting operation of my own to do, and that approach sounds quite maintainable going forward.


It's nothing special at all, just a differently named folders essentially.

The flow is basically:

- All files on desktop older than 1-2 days is moved into Downloads folder (very busy and anything goes in there)

- All files what have been in Downloads folder after ~30 days are moved to "need review" folder.

- Nothing special about "need review" folder, but it's present in my dock so I see if a "new" file has arrived for needing review.

The nice thing about it is that the files slowly trickle into my view, so I usually only have to deal with a few files at a time which makes it very easy to see if I need to throw it or move it somewhere more permanent. My downloads folder used to slowly build up to massive sizes and I usually didn't have the effort to categorise it so it went into some "downloads-date" folder (since there miiiight be something I wanted to save inside it). This no longer happens.


I like 1 and 3. Is it open sourced?


Kind of, here is code and info about the webcam+screenshots http://jontelang.com/blog/2015/08/15/automating-screenshots..... Here's my latest used code (which includes folder separation because I had thousands of images taking ages to load https://gist.github.com/jontelang/f0634a98590fe56f4d7a7c9059...)

And here is some information about the file order-keeping. A bit wall of texty. I didn't program this myself, I use Hazel (super recommended app) http://jontelang.com/blog/2015/08/17/hazel-is-great.html


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/


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.


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.


oooo, thanks for the "number disconnected" idea. This is perfect.


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.


Some of the best Runescape bots were all written in SCAR (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.


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.


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!


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.


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!


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.


I'd be really interested in #1. Even with facebook's open event search and meetup radius based search, still find it hard to find somewhere I'll want to be. Good job.


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


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.


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.


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?


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


That sounds really useful, have you thought about putting it up on Github?


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


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


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/

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.


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


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.


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.


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?


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.


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


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


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.


Unsubscribe has worked great for me too. I was not familiar with the phrase Inbox Zero before, but that is exactly how I maintain my primary email address I use for almost everything now. I typically only receive a handful of emails each day.


> but I very rarely receive marketing emails

How much of other kinds of spam do you receive? Any chance it's correlated with clicking Unsubscribe on some piece of email?


I attempt the click the unsubscribe link for everything I get but some sites seem to double down on the emails after the unsubscribe


I think this is an urban legend.


Might be an urban legend, but I do notice subscribing doesn't stop certain emails


This has a very dangerous failure mode: legitimate emails, such as people's replies to Google Groups (and similar), which either themselves end with

To unsubscribe from this group and stop receiving emails from it, send an email to GROUP+unsubscribe@googlegroups.com.

or which quote other email that ends with the above.


This is a great heuristic vs tediously defining something more precise. Nice.


I set up a bunch of these types of filters. Now my inbox is squeaky clean and everything is auto organized.


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.


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.


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


sure! its a very simple script: https://github.com/chronick/pinbots


I bookmarked your Github repo and will probably forget about it


Yeah, I should probably do something similar with GH stars


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.


I was going to build a "smart-home" style personal solution using my chromecast, but it turns out building a chromecast app requires a $5 registration. Not a lot of money but it was just enough friction to trigger my laziness and I moved on to other things


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.


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!


You should be able to enable the off signal within the Anynet settings, but then for it to stick you also have to disable auto updates.


> But just recently google added the turning off

Thanks for posting this. I was thinking about attaching an IR blaster to a Raspberry Pi to do the same thing.


No problem. ive been thinking of doing the ir blaster recently as well. Id like to be able to change the input on my audio receiver without using the remote.


Hi, I'm a co-founder of https://snips.ai, we are building a 100% on-device Voice AI platform

If you want to use your Raspberry Pi with voice control without relying on Google, you can use the platform for free! We will open-source the code over time


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.


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.


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!


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.


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.


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!


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


Well, I agree that it's convenient. I do this for my work shirts and wash everything else because I'm cheap. But not automation, unless you consider Roman eunuchs to be automated child care.


To be fair I’d imagine that bread making is quite automated these days. There’s a lot of machinery involved and much less people than few decades ago.


It IS a useful exercise to rope that in as automation. Just because a human is playing the part of the levers and pullies or some black box doesn't mean the underlying control system isn't interesting or worth examining in the context of automation.


The word "automatic" literally means without human intervention. It's antonym is "manual," which literally refers to hands. Yes, your subjective experience of having a servant or whatever is similar to the subjective experience you have with automation. But that's pretty close to magical thinking. Outsourced and automated just aren't the same thing. Especially if you're the human stuck making the widget.


This is the norm in NYC if you have a job and no washing machine. However, our wash and fold did screw up my clothes more often than I find acceptable.


Find a new wash. I also had this issue but then I switched to another one just around the corner and never had issue with them.


I just moved to a place with laundry. I prefer it to sending it out actually, but anything is better than going to the laundromat.


thats outsourcing, not automating


Well to me it’s automated as I don’t have to do it manually. I see your point, it’s still done by a human but from my point of view it has been automated.


I feel like you're dehumanizing the people actually doing the work for you.


That was not my intention. Perhaps there is a language barrier as English is my second (or third) language.

To automate something to me means getting the same result without me manually having to do it.

Like hiring a professional to translate a document for me. I’d call that automation but I know now that’s incorrect.


> Perhaps there is a language barrier as English is my second (or third) language.

Ah, that's understandable then.

As someone else said in another comment, passing the work off to another human is usually referred to as "outsourcing". Automation typically refers to passing the work off to a robot or computer.


Well now you need to automate dropoff and pickup as well as payment.


Uber wash & fold?


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.


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


My gas company and electric company are subsidiaries of the same company, and they use identical (read: equally terrible) websites with the same payment gateway. One of them lets me use a credit card and the other makes me pay from a bank account. ¯\_(ツ)_/¯


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.


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.


How did you automate this? Did you use some sort of API or just set it up through the bank's website?


also curious how


No coding. I'm just one of the lucky people who has almost all forward-thinking billers who support auto-pay with a credit card. There's one exception that only allows using a bank account for auto-pay, so I pay that manually through my bank's bill pay service. I've stopped giving out my 20+ year old bank account number to any service provider, because it's no fun to close an account for fraud.

The text message alert is set up on the online banking site - I set it up to send a text message whenever there's a debit >$1. There are a few banks (Chase is one) that even offer real-time alerts where you get texted as soon as the transaction happens, but most will send the alerts at some time of the day. It's a shame that more banks don't implement and advertise that feature to prevent fraud. To me it's comforting to get a text as soon as the card gets swiped.


Citi Double Cash will give you 2% cash back.


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.


1) I've built a WordPress site to archive and backup my tweets https://tweets.kingkool68.com it fetches new tweets every 15 minutes. Source code at 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

Source code https://github.com/kingkool68/ig2twitter


This should be possible with IFTTT too.


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.


What bank do you use that has this feature?


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


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?


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


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.


Wells Fargo. You can get an email for purchases above a certain amount with a minimum of $1


I know with capital one you can set up alerts to send on a purchase value of $X. If you set X sufficiently low you'll hit nearly every purchase.

I would imagine other banks have similar functions.


TD Canada Trust has a similar feature, but with Android notifications if you have the 'TD MySpend' application.


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.


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


This I would love to reproduce. How?


Here's a recipe (not mine) that logs to Calendar instead: https://ifttt.com/applets/219749p-when-i-go-to-the-gym-log-i...


IFTT mobile app > create recipe > set trigger "You enter an area" > Then "Add row to spreadsheet"

You have to do two "applets" though, one for entering and one for leaving, but you might be able to log to the same file


I use Tasker to do something similar. It checks visible cell towers when I unlock and turns on wifi if it sees the tower near my house. (Another script turns off WiFi when the network drops presumably because I've gone out of range).


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.


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


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.


ballsy!


Oracle Peoplesoft?


We had a similar system. The problem wasn't in the classes filling up (though that happened too) but that the system was built for steady-state load and not peak load: if you weren't in and out within 10 seconds of registration starting, you were in for minutes of panic as the registration pages failed to load again and again while the classes you wanted were filled by those luckier than you.

Instead I made an autohotkey script to input my chosen course IDs and submit. Just pasting in a value, <TAB>, pasting in a value, <TAB>, etc.

All done in less time than even the savvy registrants who would copy/paste as fast as they could. An earlier iteration used a programmable keyboard macro: AHK wasn't on the lab computers for my first year.


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.


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!


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.


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!


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.


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.


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!


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


What is this wonderful floss of which you speak?


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


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


I’ve been using hckr news for this and only look over the top 10% of most popular articles.


Automating book renewals back when I was in grad school. :shrug:

http://ro.ht/posts/Automating-Library-renewals/


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.


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


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


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.


I used to do the same with my DSL connection. I noticed that the connection would drop or degrade when it rained sometimes. I started scraping the modem's status page with curl (the status page didn't require logging in), and graphing the SNR and data rates with gnuplot. Then I added temperature and precipitation data scraped from Weather Underground with a Python script to a separate CSV file.

I did confirm that the SNR varied with temperature, with both daily and long-term cycles, assuming from thermal expansion/contraction in the lines and connections. I also observed dropouts when it rained.

The strangest thing was that there was also a hard 12-hour cycle: every morning and evening, at the same times, the SNR would suddenly drop (in the morning) and go up (in the evening) by several dB. I never figured out what it was, but I always guessed it was some equipment turning on or off that caused interference on the line.

One of the coolest parts actually was simply using GNU `date` to parse dates in natural language, so I could run something like `plotmodem 2 months ago to 1 month ago` to graph the data from the previous month, or `plotmodem 2 weeks` to see the last 2 weeks of data. I used `date` to convert natural-language dates to a standard format which I then parsed out of the CSV files with grep.


If authentication is cookie-based, you can use a Session object in python requests: http://docs.python-requests.org/en/master/user/advanced/#ses....

If it uses http basic auth, it's even easier: http://docs.python-requests.org/en/master/user/authenticatio...

Requests is a fantastic library.


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!


Look at scraping Google and Bing maps?


That seems to be the prevailing theory, and in fact there's already a lot of work in the area, but I'm worried of falling afoul of terms of service. Scraping hundreds and hundreds of square miles of 1-foot per pixel satellite data from google might catch their attention


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

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.


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.


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.


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.


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


There's a fine line here...If i was a potential employer, and somehow figured out that you were blasting my company's career/job site, i would actually want to consider you speaking with you about the job. This is because I value resourcefulness, and also because - as part of the job interview - i would like to hear how you made the script; less the tech (though that's important) but more so the algorithm, your thinking on the script creation process, etc. However, if somehow you were to tell me that you did not develop the script, and merely used someone's else's script, than that would turn me off a bit. I would still applaud you for being resourceful, but you'd get way more points in my mind for creating your own. ;-)


I should've been more specific: It was applying to contract work on my behalf.

I basically built myself a sales team that's happy to work for free.


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


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


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.


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.


What network connected power strip are you using for that?


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

[2] https://workswith.nest.com/company/notifier-for-nest-by-rich...


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)


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)


What that is would be an Oracle: http://www.oraclize.it/


link that thing dude or pm it to me



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)


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.



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


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.


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


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.


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


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.


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


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.


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


Hi which va service do you use/recommend ?


I'm currently trying out FancyHands 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 :)


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.


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


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.


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.


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-.... Source: https://github.com/adri/picape


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


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, sorry it's in dutch)


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


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


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


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


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

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


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.


You can export friends' birthdays to an ical feed - see here:

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.


I had, but ~2 years ago they took out that feature from the graph api :( It sent out bday wishes to my friends automagically.


You can export your friends birthdays to a calendar from the bottom right of the Events page, if that's what you're looking for. It stays updated from there.

https://www.facebook.com/events/


You can get the freely available ical(?) link for your birthday events in the events section. No api necessary beyond the URL.

I used this to integrate it into my Google calendar.


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


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)


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.


Have a link to the packet thing?


Sure, there are a few implementations:

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

Not too secure, you're right.


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


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.


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)


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.


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.


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


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


Would you mind sharing the code?


It's a smorgasborg of code. I think it's running in azure on some web app services with scheduled jobs. I should clean it up a bit first. Also, I don't really want to compete with more people for the higher jackpots. ;)


-- poll/scrape website for campsite availability/openings in tx (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...) -- as reader for screenplay competition, scrape & download my batch of scripts and title/prepare them for reading in dropbox -- among others..


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


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.


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


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


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


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.


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.


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?


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

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

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

Goodluck!


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.


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


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.


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


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.


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


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


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


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.


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


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.


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.


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.


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


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.


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


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.


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.


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.


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.


What are you using for speech-to-text?


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.


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


I automated child care by giving my daughter my tablet.


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


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.


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


A script mirrors the best of hacker news to reddit: https://www.reddit.com/r/hackernews/

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


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


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.


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


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.


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.


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.


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/


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


Cool script. Do you have it on github ?


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


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)


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.


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.


Plus, you probably internalized all that cowsay wisdom.


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

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



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


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.


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


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.


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.


I wrote a simple shared budget tracking tool using Lambda, SES and SNS. https://blog.yangmillstheory.com/posts/serverless-budget-tra...


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.


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


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


~$ announce_baby --weight=7.5 --sex=f --time=2017-10-11T17:56 --name=Emma


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


I have this same thing.

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


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.


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.


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.


how do you go about shutting it down safely?


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.


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


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.


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.


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.


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.



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.


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


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


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.


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.


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.


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


Submitting price match claims on my credit card.


I just bought a roomba:

https://www.amazon.com/gp/product/B008LX6OC6/ref=oh_aui_deta...

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.


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.


making animated gifs

https://github.com/ransomw/dotfiles/blob/master/shutils/gifm...

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


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.


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


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


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


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


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


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


Texting with my girlfriend. https://github.com/sjozsef/agf5k



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


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


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


My morning alarm clocks.


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


If you want to build stuff like this in future, check Page.REST a simple API I built. You can pass a query string `contains=TEXT` to check the existence of a word or a phrase.

Here's a Postman collection of all possible options with the API https://app.getpostman.com/run-collection/620bbe44b6ecc6c2e3...


You can maybe add a glitch repo to make it easier to get started.


Thanks! I looked at Glitch but didn't quite get how I can make a shareable sample.


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


Other possible services include https://uptimerobot.com/ and https://www.pingdom.com/

Just set it to check for the presence of a word on the page, etc.


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.


I would not equate scraping with periodic searching for a keyword.

The problematic part is when you scrape data off of websites, and the owners don't want you to do it; as in, they would not even be happy if you manually copied that stuff into an excel file for fun or profit.


I can see that, although automating to decrease views of a page(from checking by refresh)... I suppose the end result is sign up in this case.

So for me I'll set it up for them and them run it.


> How do you deal with the legality of scraping?

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


My counter to this is, without Google's "algorithm" the search results would not be great/find what you want. And in this case websites want to volunteer/agree to index their site for visibility but then you still have to visit the site because conveniently The site summary ends before the content that you want. I don't know how I would find websites unless referred on some website.

I kinda felt the same way about how Netflix started out but I think they probably had a deal to pay a portion of revenue from dvd's that they rented out.


robots.txt



Because this was very important to me and my life forward, I thought it was better to roll my own custom notifier. Moreover, the phone call thing was the most important part which will get attention any time of the day than an email.


So bounce your (unique) e-mail to an SMS-forwarder :)


I like the telegram API :)


Cool! Thanks for that Already using it to track whenever a couple stores here in Japan put the Nintendo Switch back in inventory or lottery sale


This is awesome, thank you.


No Hololens events in London, is that by design?


Wait a while...it took about six months for one to happen here in Sydney. Well worth the wait - half an hour of exclusive use of a Hololens. All the while being recorded for market research purposes, but that seemed like a fair trade.


Did the same thing to get a wedding registration appointment with the Berlin city administration, but used Ghostery instead of AWS+Twilio. The responsible administration department currently doesn’t give out appointments and advises not to plan weddings because they are so understaffed, but I didn’t feel like waiting. Got a notification email from Gostery in the middle of the night, registered the only available slot et voilà!


Isn’t Ghostery an ad-blocker?

I can’t see anything else with that name. All the references in this thread are great tips, so I’d like to track this one down too.


Thanks for commenting - it was Ghost Inspector


Can you please elaborate on the state of your bureaucracy. It'll make me feel better about American politics.


I think it is a passing thing. Germany recently legalized Gay marriage and presumably that lead to a huge backlog of gay people finally wanting to marry.


So we both had life changing events. Its the real winning moment of a programmer when he is able to use his/her skills for a "non-work" task automation. Its more satisfying.


I did a very similar thing to check if my H1B was approved. My use case was simpler - I regexp matched a keyword on the webpage and converted the script to an alexa skill deployed locally. Unfortunately, i wasn't home for the week when the approval happened :P. But it was fun asking alexa to check the status!


I’ve tweaked Gmail filter settings so some Meetup invites appeared as a phone alert, ie nearly everything else filtered into no alert.

London Meetup fill up within minutes that many data science ones allot tickets “randomly” via lottery.

Surely this is a market opportunity?


The problems are too fragmented for a generic alert service to solve.


Did something similar to check availability of a special deal by my ISP.

No need to write code, you only need a shell account on a box somewhere. Put a line like this in your crontab:

    20 9,12,15,18,21 * * * curl -s http://example.com/special-deal-page | grep 'something that needs to appear on the page' | mailx -E -s "it's happening!1!" $MAILTO
This will check every three hours during daytime (which is what I wanted). "mailx -E" will only send an email if the input is not empty. Don't forget to define MAILTO and to test the contraption.


This is pretty much exactly how my https://github.com/lamby/gumtree-sniper works


Pretty concise. I needed a loud phonecall, so used twilio free developer account for that.


I used this same technique to apply for an early interview for the U.S. CBP's Global Entry program. Someone already open-sourced the tool, then I set up a cron job to run it: https://github.com/davidofwatkins/ge-cancellation-checker


Did you make it to SK? There's a few of us here, but not that many...


Yes, made it to SK, but moved to Montreal for better job prospects. Probably will have to move to Toronto because my spouse's can't find a good job due to the strict French language requirements for non IT jobs in Quebec.


I've heard that you need to stay in that province (min 2 yrs) if you go through pnp program. then how come you moved to Quebec?


It’s express entry after provincial nomination. Once PR is given and landed, you are free to move and work anywhere in Canada.


Congrats. It is for sure a life changing hack.

Not sure why you choose to do diff? You could have just searched the dom for the existence of 'Apply' button? Am i missing something?


Frankly, I didn't think much. Just wrote this script in an impulse of a moment when I missed a slot. During that time, I didn't think about how it was done, but the end result. Sure diff would have triggered false positives, luckily didn't get any.


Perhaps you didn't know how the button was supposed to look like? Seems like it's better to get false positives than to miss it.


To be clear, H1B isn’t an immigrant visa. It’s a temporary skilled worker visa. There are other visas designed for skilled immigrants. Someone on an H1B isn’t an immigrant so of course the system would be “broken” when expecting H1B to result in a green card. It’s no different than expecting a tourist visa to be the first step to getting a residency visa. H1B was never implemented as a pathway to permanent residency.

Still that aside, great ‘hack’ and congrats on getting your Canadian residency!


Thats wrong information. H1B is a “dual intent” visa.

Its broken because it was really intended for exceptionally skilled workers. But currently its a lottery. USCIS just takes the word of the company applying for it and grants the visa. This loophole is being exploited by numerous body shops. That is reason why there are low quality H1B workers. There are various other problems like employee mobility, spouses of H1B is not free to work in the land of the free. Country of birth based quotas for permanent residency, rather than skills or points based quotas.


Could you please upload your code on GitHub? May I ask your github profile?


You could write this with simpledomhtlm + php + cron or a raspberry pi (cron) and then send yourself a webhook notification via slack or configure mailgun (mailing client) or firebase android notification (haven't done this).

Inspect the page,find the structure, isolate or if it is easier to just dump the entire plaintext and use strpos to find a specific word.


It made me so happy to read your post! That is such an amazing idea!


Is that for Saskatchewan Immigrant Nominee Program?


Yes. SINP in short.


Why don't you convert this into a paid service? Sounds amazing!


I did, hosted at sinpnotifier.com, Saskatchewan province is not that attractive for skilled immigrants. Had one sale though, then I shut it down.


> Why don't you convert this into a paid service

and

> I did, ...Had one sale though

Yeah, was about to say, it's too small of a niche. Plus the risk that sooner or later, Saskatchewan would update their site to provide the same feature.


Yes, too small of an audience to sell it to. Also I didn't care about the timezones in the script. It will make the call no matter in which timezone you are in (you will get the call in the middle of the night), because Saskatchewan's site do not care, it will close when the quota gets filled and it gets filled fast, within hours !


Well, you'd want to make it a /bit/ more generic, surely? Like, "load this url and send a text to this number if the (page text | diff) matches this regexp"?

Even allow people to create presets that would then be added as a generic thing. You could use it for camping all sorts of intermittent online things (web site specials, online ticket pre-orders, etc.)


There are many sites which already does this. During that situation when I missed a slot, I didn't want to take any chances again by using sites like visualping. I trusted my script and twilio API to work.

First I thought to ring a loud alarm connected with a Pi, but then it will be limited to my apartment. So I went with twilio to give me a phone call. Because I should act immediately and time was of the essence. Emails or SMS might go unnoticed.


Maybe you didn't market it to right crowd? I know a lot of South Asian people who go to Saskatchewan just to get their PR.

There are a lot of Software Engineering/Development jobs in Toronto or bigger cities so people in those fields wont leave these bigger cities.


The problem with monetizing this service is because there are many immigration watsapp groups with many members in it. So when one member buys this service, he can simply broadcast this notification to his watsapp groups. I even made the service free, but no takers. Anyways it worked for me, changed my life !


Ah fair enough. Glad it all worked out for you. I did choose Canada ( well, my dad) for undergrad because of easier immigration policy.


You took the right decision. (well, your dad).


This is interesting - as there do no longer exist equal opportunities between the different castes with this.

Saddle the lawyers, we ride at dawn!


Using one's intelligence and skills to better your life should be celebrated, not lamented as evidence of burdening some other "caste."


I get what you mean, but the same might be said for someone being able to check manually every 10 minutes. Then there is no equal opportunity between the working and workless classes.


Hey, I would be willing to pay for such service. How should I contact you? My contact details are in my profile. Plshlpme


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.


birthday wish messages.


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.


This sounds really cool, could you post more info? Thanks!


What automatic chopping/grating machines do you have?


I have the communist era UKS Kitchen Robot:

https://www.google.cz/search?q=kuchy%C5%88sk%C3%BD+robot+uks...

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.


Interesting. Thanks for the reply!


do share more details about this please

What hardware and software is automating these physical tasks for you?


Dishwashing and cooking became automated after I got married.


* groans* at the old joke


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




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: