Ask HN: What are the things that you have automated in your personal life? - <AUTHOR> <comment><USER2> I have semi-automated cooking for the week ahead.

We recently started cooking meals for the week ahead on Sundays and then freezing them. The aim was to give us more time with the kids and to cut down on housework.

To save time on the Sunday cooking session I have cobbled together a very clunky, and I mean VERY clunky semi-automated cooking system. It comprises a Raspberry PI which controls a couple of WiFi mains switches attached to the induction hob and the slow cooker. A wooden spoon attached to a 360 degree servo motor hangs above the pot on the hob and can be activated by the Pi for stirring. Initially I tried to use one of those cheap three-legged novelty vibrating pot stirrers, but that didn't work out. Thermocouples feed back to the Pi to help control cooking.

The whole thing is controlled by a messy Python script and 'recipes' are JSON based text files. They just define how long each device should stay on, a max temp to turn them off and how often they should be stirred. I get an email when cooking is done.

I plan to add some functionality over the summer to tip in ingredients as needed. The biggest issue is that it doesn't handle chunky food, it works for soups, chili sauce, pasta sauce etc. I'd love to figure out a way to fry and separate mince as you would with a spatula..

<comment><USER3> A friend is getting such a system to production for Indian recipes with Mechnical Chef [1] The demo looks incredibly cool [2]

[1] [http://www.mechanicalchef.com/](http://www.mechanicalchef.com/)

[2] [https://www.youtube.com/watch?v=lBB0ZaN1paE](https://www.youtube.com/watch?v=lBB0ZaN1paE)

<comment><USER4> Your friend is a genius! Any idea, how much is it going to cost? And will they plan to sell it in India?

<comment><USER5> Building a clunky device that imitates human actions is hardly 'genius'. Resourceful maybe. An electrical coffee grinder isn't a normal coffee grinder with some rotating lever attached to it. An electrical coffee grinder has small motors attached to the grinder mechanism in order to make it move. This contraption is fun to build I am sure, but not 'genius'.

Much closer to genius is the thermomix: [https://thermomix.com/](https://thermomix.com/)

<comment><USER6> Here in Australia, Thermomix was recently ordered to pay $4.6 million in penalties for knowingly keeping safety issues relating to one of their appliances secret.

A malfunctioning lid caused hot liquid to escape from the bowl, giving several consumers severe burns. The Court found that Thermomix knew of this risk but still continued to promote and supply the faulty product.

Beware of genius inventions, you may get burned.

<comment><USER7> Sounds like the Cornballer [http://arresteddevelopment.wikia.com/wiki/The_Cornballer](http://arresteddevelopment.wikia.com/wiki/The_Cornballer)

</comment></comment></comment></comment></comment></comment><comment><USER8> My mum did run a B&B, in Italy, on the sea.

Me and my sister do live in different cities. She was quite old, but did not want any help from strangers. She did refuse to use a computer keyboard, since she hated informatization, and her sight was short.

So I did automate a system for her to scan the guests documents, detect the data required by local police for registration via OCR, fill up the form to send those data, and update the web site availability database table. The computer, when powered up, did only show instructions in big text, high contrast instructions, which where repeated by TTS (essentially "please feed the documents in the scanner", "please remove the documents from the scanner").

At the end she got used to using it, and she was quite proud being able to be so independent, since the last days of her lovely life.

<comment><USER9> > detect the data required by local police for registration

What data do the local police require?

<comment><USER10> It is typical to need to give a place of residence when entering a country (even if you are on a travel visa.) Immigration departments will reach out to these places of residence if they are concerned of someone overstaying their visa. The B&B or hotel will show them the copy of the Visa stamped in the passport and their check in and check out time they are in the clear.

Specifically in the case of Italy it seems like it is to be compliant with long standing legislation called TULPS.[1]

1.[https://www.quora.com/Are-hotels-in-Italy-required-to- take-a...](https://www.quora.com/Are-hotels-in-Italy-required-to-take-a-copy- of-a-guests-passport-upon-check-in)

</comment></comment></comment><comment><USER11> I've automated almost all of my diabetes management into a level I basically can look into graphs and decide the level I want my glucose to go.

For glucose monitoring I use Dexcom G5 sensors[0] and xDrip[1] open source monitoring application for Android.

Insulin delivery is handled by a Accu-Chek Spirit Combo[2] pump, that is one of the rare pumps with a Bluetooth connection. The entity deciding the basal rates and corrections is an open source Android app called AndroidAPS[3].

As an insulin I use the fastest available analog Fiasp from Novo Nordisk, that works 10-15 minutes after injection.

All of these combined together has dropped my A1c results from 7.5% to 5.5%, being 90% of the time between 4.0 mmol/l and 8.5 mmol/l, and having no severe hypoglycemias. Basically I got myself some more years to live without any complications and in general I feel much better when I can sleep my nights without worrying and can eat whatever I want whenever I want.

Oh, and a warning to everybody who tries this: Accu-Chek will not cover any damage, there is nobody taking any responsibility of the results from the treatment you get out of the software. For me this works much better than any other treatment, but for others it might be even dangerous.

[0] [https://www.dexcom.com/g5-mobile-cgm](https://www.dexcom.com/g5-mobile- cgm)

[1] [https://github.com/NightscoutFoundation/xDrip/](https://github.com/NightscoutFoundation/xDrip/)

[2] [https://www.accu-chek.com/insulin-pumps-integrated- systems/c...](https://www.accu-chek.com/insulin-pumps-integrated- systems/combo-system/support)

[3] [https://github.com/MilosKozak/AndroidAPS/](https://github.com/MilosKozak/AndroidAPS/)

<comment><USER12> Hey man, look into the keto diet.

<comment><USER13> That is radically dangerous advice, do you have any qualifications in this matter or are you just trying to kill someone?

<comment><USER14> No it is not. He just stated that he/she "look into it".

</comment></comment></comment></comment><comment><USER15> I used DSP to recognize the commercials in the radio broadcast on my stereo receiver and turn down the volume automatically ("adblock for the radio broadcast"). I described it here: [http://blog.rekawek.eu/2016/02/24/radio- adblock/](http://blog.rekawek.eu/2016/02/24/radio-adblock/)

<comment><USER16> > The commercial block starts and finishes with a jingle, so the potential > software should recognize these specific sounds and turn off the volume > between them.

I suppose that many stations don't have such markers though.

<comment><USER15> Indeed. I see two options here.

First is to analyze the other signal features of the commercials (eg. increased volume), although it may be tricky.

The other option is a crowd-sourced solution - pretty much as for the browser adblock - where users can mark samples recognized as ads. Since the publishers often buy campaigns for many stations in the same country or state, it may be a shared database.

On the other hand, the described project only scratches my own itch. I wouldn't try to productise an app that takes away the main source of income for the radio stations.

<comment><USER17> How about a third option, ads are by definition short and repeat a lot.

No fancy ML needed, after a couple of times the filter gets one of these repeating fragments it should be able to block it. Fairness bonus: you get to hear each new ad a couple of times.

<comment><USER18> The problem you have here is that in order to continue listening to songs more than just a couple of times you'd have to able to classify the song versus an ad. Otherwise once the system heard the song a few times it would start blocking it too.

<comment><USER19> Just filter by length.

<comment><USER20> it's radio. the length is infinite. there are pauses in music. there are pauses in speech. Also, he didn't mention anything about delayed listening. The implication was that it happens in real-time so you don't know how long it will be when you need to start dropping the levels.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> I have a robot lawn mower that is wire guided. Instead of the traditional lawn mowers that basically cut the grass in all directions (making a sloppy cut pattern) my mower knows how to cut in straight lines so you get a traditional cut pattern. It also has the ability to dump the grass cuttings into a composting bin.

Basically, I put down wire guide cable into the lawn and into the cement as well. It is all powered by electricity and has a little docking station. When it is scheduled to cut it simply rolls out, goes to the lawn and starts cutting on. After a pre-determined point, it will go back to the compost bin to dump the grass cuttings before going back to cut the lawn again. After it is done with all the cuts it simply returns back to the charging station.

I am trying to add better features to it like weather detection. If rain is scheduled then it will cut the lawn early and then delay cutting it again until the lawn is dry. I am also working on adding an edger component and a weed wacker competent so it can handle those tasks as well. Pretty much, my goal is to have a fully automated robot lawn mower when I am done with this project. So far it only cuts the grass and dumps the waste. I think this wire guided method is far superior to the autonomous robot mowers because most people's yards are in static arrangements that rarely change. So it is better to just add in the wire permanently so you get a perfect cut every time.

<comment><USER22> Please do a writeup on this! One of the reasons I've been dragging my feet on home ownership is I'm not a fan of lawn mowing. Now if only you could also automate shoveling/snowblowing.

<comment><USER23> Husqvarna has a pretty excellent roomba-for-your-yard system. 100% autonomous. It's somewhat expensive, but if that's the only thing that's holding up a home purchase for you, it might be worth at least looking at. Alternatively, you can probably whip something up with some kind of frankenstein assembly of an electric wheelchair base, an electric lawnmower, a Raspberry Pi, and a camera.

[https://www.husqvarna.com/us/products/robotic-lawn- mowers/](https://www.husqvarna.com/us/products/robotic-lawn-mowers/)

</comment></comment></comment><comment><USER24> Funny enough, possibly because I work on embedded software for automating random processes, and also from home, I don't feel the need to automate anything not work related.

When you spend most of your day stuck in front of a monitor, it feels good to get up and turn lights on/off.

<comment><USER25> Me too, at work (PhD student) I take enormous pleasure in writing end to end fully automated pipelines. Nothing that needs to be done more than once isnt automated pretty much. At home, I would never buy or use an Alexa/Google assistant/use Siri or any 'smart' device, I simply don't want to bother with it.

<comment><USER26> Exactly. Anything that needs even very minimal human interaction like pressing a "y" key is not automated at all. It is very common to see in the corporate environment that scripts needs some editing in b/w to be done during its running with editor which can be easily automated using sed.

<comment><USER25> An interesting effect I have noted for me when doing research is that even if it only takes one extra click or changing one parameter to generate a plot, or run some extra analysis, I will only do it selectively and start rationalising it to myself that I know when a certain plot or analysis will help and when it won't.

This becomes especially egregious over month to year long experiments where I run the same experiment every day on end.

There was really no reason not to auto generate every possible plot, every possible analysis every time (and I cannot use ipython notebooks or things like that because it's many distributed things chained together with lots of scheduling).

The productivity gains have been enormous and are hard to overstate. I don't dread any experiment any more because even in a large complicated distributed setup, everything from initialising kerberos tickets to tons of config files, restarting services, running multiple experiments dependent on each other, and generating plots and summaries and committing them to a repo is one command. Anything that's analysed once is evaluated always.

I now almost look forward to setting up new experiments because of the pleasure I get from just chaining together calls from my control utilities.

All I have to do is pull on my laptop and I download a filter with all results pre-generated paper ready. I think a lot of people do this in experiments where everything is on a single machine, but I haven't seen it as excessive from other phd students doing complicated distributed stuff. There is always a lot of manual command line args passing, manually changing some config while instead of just creating dedicated scripts, etc.

<comment><USER27> And as an added bonus, your experiments are more reproducible. Kudos!

</comment></comment></comment></comment></comment><comment><USER28> I'm 25, and single. I'm very social, and I work out regularly. But I find it hard to approach women in the street, and I've always detested loud pubs (My hearing is slightly impaired, which makes it hard for me to communicate in such a place). So I've decided to sign in to OKCupid. I've always heard the dating scene in this site is toxic, but I've had no idea. I've too many toxic and horrible things written plainly in some users profiles ("I date only men with cars, I find it important to date gentlemen", "If you're of middle eastern origin - don't even bother sending a message") and been verbally abused in personal messages ("It's funny you've thought you have a chance with me", or another who've said "The only chance you've got with me is if your penis is 15 inches in length"). I was told I need to walk it off and don't let it get under my skin. But I can't. I've thought about quitting more than once, but the alternative is a status quo I've grown to hate.

But I'm an engineer, so I've decided to automate my OKCupid experience.

Using node & puppeteer I've run a histogram, it showed that in my country, 75% of the profiles are almost completely empty (less than 10 words). I used to manually dislike these profiles (as they'll keep coming back in the search results until you dislike it), but now my script does it for me. The next thing I've done was to sort these profiles - I give higher priority to profiles that have a longer word count, that features keywords I prefer ("fascinating", "studying", "reading", are words that I catch my attention).

It used to be a very basic script, but every negative and toxic encounter has motivated me to keep it going. Right now I'm working on building a frontend to show the script's results. I'm planning on showing "suggested openers" based on the questions the potential match has said or mentioned and adding NLP features (such as sentiment analysis).

<comment><USER29> Good for you!

FYI for all dating folks out there: women do not want you to approach them in the street. Like, let's say, 99.5% of the time.

<comment><USER30> This. I'm legitimately scared when random guys approach me, as I've had guys grope me, try to corner me, etc in past. Sadly, I feel like these are common experiences for women.

<comment><USER31> Yeah this reminds me of the Louis C.K. bit: "How do women still go out with guys, when you consider the fact that there is no greater threat to women than men? We're the number one threat! To women! Globally and historically, we're the number one cause of injury and mayhem to women. We're the worst thing that ever happens to them!"

"If you're a guy, imagine you could only date a half-bear-half-lion. 'Oh, I hope this one's nice! I hope he doesn't do what he's going to do.'"

Every woman I know has had one of those common experiences -- many times -- but honestly when I was younger man I really had no idea what women go through or the frequency of it. My wife has had more than few things happen to her over the years.

<comment><USER32> It's weird that he did so much self aware material about male sexual misconduct. That self awareness kind of makes the Louis J.O. thing a lot more sinister.

</comment></comment></comment></comment></comment><comment><USER33> When I graduated college, the job situation wasn't as hot.

I would take a resume, custom tailor a cover letter, change out a few paragraphs in my resume to fit the specific job title --- and then.. no reply -. So. I scripted it. I would scan craigslist, monster, indeed, etc for emails or company names. The script eventually evolved to guess company homepages and scan for emails on 'career' sections.

Based on the job titles it would automatically change out cover letters. It became smart enough to understand that a word doc or txt format resume was required. It could catch "PUT THIS IN THE SUBJECT" and created a queue for hand verification -- otherwise, it would send out the emails. Once they were sent out it would scan incoming emails to determine if there were any leads - and matched the thread together with a unique email footer.

Hilariously, it flipped job searching. I would get long ranting emails why I wasn't a qualified or the position required someone more 'senior' to build CRUD webpages. OH well, HR blew their time, not mine, ---> delete. When a interested company did call, I had a nice mysql database of all the posts that company made and was ready to return a call prepared.

I got a job quickly after this php script starting running.

<comment><USER34> It would probably never reach scale for obvious reasons, but someone should productize this.

"I'll get you a 20% more high paying job for $1,000"

<comment><USER35> I review resumes periodically for my job and it certainly feels like someone(s) already have.

<comment><USER36> So you can tell which applications were built by software? I was always hesitant to attempt automating job applications

<comment><USER37> Yes, you frequently can tell. There appears to be a number of people doing some form of automation with different degrees of success. Even though it's a clever use of software and when you're hiring for a software engineer it should be promising, it gets annoying and you tend to discard it. I wouldn't suggest attempting it unless you can do it extremely well if it's fully automated, or use it to help simplify the process, but still complete the last steps manually.

We've had a tendency now to introduce a request for a simple bit of information in the job posting as a sort of captcha to filter out automated spamming of applications.

</comment></comment></comment></comment></comment><comment><USER38> I used Tasker to make my phone vibrate in Morse code. Now I don't have to take it out of my pocket to read a notification.

<comment><USER39> > Now I don't have to take it out of my pocket to read a notification.

Definitely going to look into this. I'm a blind screen reader user and, when I had a phone with physical buttons, I could have it in my pocket connected to an external braille device or pair of headphones. I could easily carry on conversations, browse the web, ask for help, all sorts of things without taking it out of my pocket, and nobody had to know I was doing anything.

With a touchscreen phone I can't really do any of that. Even if I can listen to notifications in an earphone with the phone in my pocket, I can't take care of them unless I take the phone out. Plus, wearing earphones and walking around in public when you can't see isn't wise.

<comment><USER40> The AirPods might be a temporary help if you have iOS. You can plug them into your ear when needed and send a command. Probably not the most ideal but Siri seems to be getting better.

</comment></comment></comment><comment><USER41> A few years ago I used Trello to keep track of my tasks for the day in a Kanban board separated by date. I had a large backlog of tasks and then a "Due this Month" "Due this Week" "Due Tomorrow" and "Due Today" sections.

First I wrote code that automatically moved cards between the different sections, so I only ever had to look at the "Due Today" list.

Then I used Twilio to build a bot that gave me a wake up call every morning. I didn't like the TTS that Twilio used so I generated more realistic TTS via Amazon Polly and played it back. Polly has many different voices so I had seven different personas give me my task list for the day. After it read out what I had to do, it then began playing the latest BBC News update right over the phone.

The final phase of this project was a bot that called my girlfriend at the time, told her the weather, and then called me and conferenced us together so we could start our day saying hello to one another.

<comment><USER42> I'm curious: How do you write code for Trello? I didn't realize there was an approach for this

<comment><USER41> Yeah, as mentioned, Trello's API is pretty expansive.

<comment><USER43> Also the data they share online due to security bugs

</comment></comment></comment></comment><comment><USER44> I bought an e-reader called reMarkable [0] that I use every day to read technical stuff on it.

At some point, I got tired of the process to sync files: download the document from the browser, open the reMarkable app and drag the file into it.

I automated this workflow, and now I can just "print" directly to the device [1] the article/document I'm reading.

[0] [https://remarkable.com/](https://remarkable.com/) [1] [https://github.com/juruen/rmapi/blob/master/docs/tutorial- pr...](https://github.com/juruen/rmapi/blob/master/docs/tutorial-print- macosx.md)

<comment><USER45> This is interesting but not available in India , any similar products you know as an Alternative for India?

<comment><USER46> Sony sells something similar:

[https://www.sony.com/electronics/digital-paper- notepad](https://www.sony.com/electronics/digital-paper-notepad)

</comment></comment></comment><comment><USER47> When the dog used to wake me up in the middle of the night to drink water and take him out, I had to do to it manually. Now it's all automated, my body just does it. 90% of brain is asleep.

I look forward to automating diaper changes when the baby arrives. The subconscious brain is an incredible piece of technology.

<comment><USER48> I've always wondered if there is an opportunity for bidets for babies to reduce the mess of changing a diaper. Thoughts?

<comment><USER49> They're not that messy, 90% of nappy changes are just wet not dirty. For the other 10% it would be rare (in my experience of four babies) that things get particularly messy, but if they do you can always fill a baby bath or bathroom sink. Having a dedicated bidet for a baby seems like more unnecessary stuff.

</comment></comment></comment><comment><USER50> SO was complaining that I never text her while at work. Wrote a twilio app to pull random sentimental quotes from rumi and others, fit it into a personalised looking message spelling mistakes included )"thinking of you" etc.), and send it to her at random times of the day from my number. Weird thing is when I mentioned it was automated, she didn't believe me, so we kept it going till she broke up with me eventually.

<comment><USER51> Affection as a service. Automation in 2018 is looking grimmer and grimmer :)

<comment><USER52> This is like boyfriend or girlfriend as a service.

<comment><USER53> It would be more profitable to automate both ends of the relationship, so the humans won't even have to look at their phones while sweet nothings are pinging between servers in your data center/ scalable cloud.

</comment></comment></comment></comment><comment><USER54> I run a Huginn server which has hundreds of recipes. Most scrape websites and send me updates either by pushover or email for things that matter

\-- news sites via rss with heavy keyword filtering for news that's important to me like hometown news etc (Google alerts style)

\-- firmware updates from various devices that wouldn't otherwise notify me like kindle

\-- posts up voted over X times in a period on smaller, specialized subreddits of interest

\- daily digests of message boards I follow

\- flight price alerts from persistent searches on routes I follow

\- account updates via polling over websites like my frequent flyer accounts etc

I also love keyboard macros built into ios and have dozens for commonly used things I type.

<comment><USER55> Nice. I haven't quite jumped from IFTTT/Zapier to Huginn yet but this is something I plan to do as well. Have you compared it with beehive [1]?

[1] [https://github.com/muesli/beehive](https://github.com/muesli/beehive)

<comment><USER54> Seems quite similar, albeit perhaps bit more extensible? I'm just comfortable w/ Huginn now and haven't had the need for anything else.

</comment></comment></comment><comment><USER56> I built an accelerometer-based washing machine sensor which sends a notification to my phone when the washing is done. This is useful because the machine itself has no indication when it's done: [http://www.instructables.com/id/Washing-Machine- Notification...](http://www.instructables.com/id/Washing-Machine-Notification- Sensor/)

<comment><USER57> I did a similar thing, via an esp8266 device and a vibration sensor!

I also automated the display of tram-departures from the tram-stop next to my house with similar hardware.

Otherwise I setup some "wireless buttons" to trigger alerts/actions on my Linux desktop system, and record local temperature/humidity into a time-series database for tracking purposes.

<comment><USER56> What kind of display did you use for the tram-stop times? I wanted to do something similar but worked out that the cost to update the display every minute was too much in terms of battery life even with an epaper display. Also, it was too inconvenient / ugly to use mains power.

<comment><USER58> Not OP but did a similar project, the display method I used was simply to use 9 led lined up, each representing a stop before mine, to show the current position of the tram.

My idea was based on the top part of this display [https://pbs.twimg.com/media/DXGxPtlXkAA0inj.jpg](https://pbs.twimg.com/media/DXGxPtlXkAA0inj.jpg)

<comment><USER56> Interesting! That sounds like a really nice low-tech solution. I like it.

</comment></comment></comment></comment></comment><comment><USER59> Digital archiving of important physical mail is a nice way to go paperless and keep track of documents. Get a good scanner and shredder, then set up a system to track your scanned documents. No more misplacing files and having to stuff cabinets with papers.

Proxy phone number via Twilio or Google Voice for the times when you'd rather not give your real number out.

Audio translations for digital books using espeak + pdftotext + shell scripting. If you didn't know, espeak can output wav files. It's a nice way to read since my commute is 3 hours a day.

Recipe management for putting meals into rotation and generating a shopping list. Check out Gourmet or Krecipes on linux. It could probably be hooked into a grocery delivery service like Prime Pantry or just migrated to one.

General automation with Twilio + serverless cloud functions is pretty good. There's a new Twilio tool for building IVRs (interactive voice response trees, like those phone menus you get when calling a cable company). The super cheap on-demand pricing for cloud functions makes this basically free to run.

I started a personal SMS/Voice service for some of my tasks like what's on [favorite radio station], Bus line directions, shops near me, etc. There's no real point yet but I feel like it could have uses that are actually helpful...

<comment><USER60> Can you give a basic writeup of your physical archiving to digital? A friend did this and I want to do this now

<comment><USER59> There wasn't much to the paper archiving. I bought a fancy scanner[0] and already had a shredder.

To store the files on disk I keep directories marked by topic/year/month/day. The topics are stuff like taxes, finances, bills, etc. The important documents are in a couple encrypted HDDs that I use for backups. I've been thinking of doing an offsite storage like Backblaze B2 but it's probably overkill.

After scanning stuff in, everything gets shredded. There usually aren't many things to save but once they've been scanned they're there forever.

[0] [https://www.amazon.com/Fujitsu-ScanSnap-iX500-Duplex- Scanner...](https://www.amazon.com/Fujitsu-ScanSnap-iX500-Duplex- Scanner/dp/B01G3JYVYM)

<comment><USER61> Offsite backup is not an overkill! Your HDDs can be lost in burglary, water or fire. B2 is cheap, go for it, you may regret not having offsite backup one day. And it does not require much effort, tools like Duplicati can automatically encrypt the data and send it to B2.

</comment></comment></comment></comment><comment><USER62> We (with the wife) automated menu for the week and the shopping list. A database store all recipes (ingredients, time taken...) and the menu composer chose semi-randomly* into the list.

* : Menu composer takes into account :

\- in season vegetables,

\- number of reutilisation of the ingredient,

\- number of reutilisation of the meal,

\- expiration of the ingredients (vegetables can expire rather quickly)

\- various parameters (if it is a busy week or not, number of days you want to cook...)

It's really a relief. No need to decide what to cook after work : it's already decided, and you know you have the right ingredients. Time spend for the shopping is very small.

I want to be able to plug that into an online shopping website, but as always, websites don't display there API so i'm trying to hack into it... (and people still talk about API economy...)

<comment><USER63> This is really fascinating :)

I'd love to use the same system. Is it open source?

<comment><USER64> +1 Would also like to know the inner workings, a general hint to the approach taken would already be awesome

<comment><USER62> i got a sql database :

Recipes table : it tooks some months to fill it with our choices (prefered recipes) and add attributes to that : cold/warm meal, difficulty, time taken, kind of meal (junk, bistrot, classical, exotic...), does it scale (x0.5, x2, x4...).

ingredient_table : each receipe got ingredients. Every kind of ingredrients are on a separate table.

product_table : it is there i display what you can buy from stores : 6/12/24 eggs bundle, 250/500g butter

Then it starts to be ugly, cause there is constraints : loose and hard. Timetable is a hard constraint (i don't want to cook monday evening), so it will be double ration one of the day before, Season is a hard constraint (you buy vegetables when they are in season) Tastes are a hard constraint : you decides what kind of meal you want to eat during the weak

With that you get available recipes and a timetable for cooking and quantity to cook.

Price is a lose constraint, leftovers are a lose constraint, time spent cooking is a lose constraint (could be a hard, if you have enough recipes, but as i like cooking, it's no matter for me)

After, i enumerate all possibilities and each one get a score based on lose constraints : you can use a simple weighted average, exponentially weighted average... You tweak coefs to prefer a nice price or a little time spent and then it's done. Usually a chose randomly between the ten best solutions.

I got enough recipes to cover all hard constraints. I avoid lot of problems doing a big enumeration for all possibilities (it takes a couple of minutes at my scale for 200 recipes), also, hard constraints are pretty easy to deal with, it could be a lot more complicated if user become picky on meals. I'm no coder so i don't know any design pattern or anything that could help me to design a better algo. But, as far as i know, when you can't evaluate all possibilities you have to go the optimization road.

Answers to questions : \- Yeah, there is this website : [https://fr- en.openfoodfacts.org/](https://fr-en.openfoodfacts.org/) (broken TLS it seems) that could be used to pull data on ingredients, \- I don't have plan to open- source it : it's pretty hacky, ugly and probably defy any coding rule (except 4 space ident PEP8). it's not even packeged (i've never done that before...)

</comment></comment></comment></comment><comment><USER65> For the first 9 years of my life, my family either did not have a PC or I was not allowed to use it for more than a few minutes. My parents relaxed a little bit and allowed my brother and i to read for an hour to play video games on the computer for an hour.

I played an online game called runescape where you could trade items to other players, but it was tedious and required a lot of repetitive typing: "buying chaos runes 80gp each".

I downloaded an auto typer but i was paranoid of getting banned. I wanted a more human auto typer so i found a tutorial for making one in visual basic. It was more or less copy and paste, and as a middle schooler i really did not understand the code.

I became really interested in botting after that, downloading, modifying, and eventually creating more sophisticated scripts. Automating the game became the new game for me.

I would come home from school to a banned account, think about how they may have detected me & automate smarter.

To this day I will often spend more time writing code to automate something than i save.

Automation is a way to make the mundane work a fun game

<comment><USER66> Sounds like you should be playing Factorio these days

<comment><USER67> Are you trying to ruin his life?!

<comment><USER68> In all seriousness, Factorio is predictably _extremely_ addictive. I highly recommend beginning either on a long holiday weekend when you have no other obligations, taking 1-2 days of time off, or just not playing it at all.

I honestly don't necessarily regret the time I've spent playing Factorio because it is legitimately fun, but it will claim a very high priority in your brain for quite a while once you pick it up, and will push other things out of the way.

</comment></comment></comment></comment><comment><USER69> Maybe not what anyone was expecting, but we've automated all the cleaning in the house. The clothes get washed, folded, and ironed. The trash gets taken out. All the plants get watered.

How? The oldest form of automation. We pay someone to come and do it. We have a cleaning person come twice a week.

<comment><USER70> Where and how do you afford this?

<comment><USER69> I can only do this because I live abroad in Latin America. Sadly, wages are very low for this kind of work.

Though I did have a cleaning person come twice a month, when I lived in the Pacific Northwest, I could never afford all this much help living in the US.

<comment><USER71> I used to live in Central America and most foreigners from the US had their own maids. Some maids even had their own room in the house and lived with the family (great for babysitting, cleaning, cooking, etc)

</comment></comment></comment></comment><comment><USER72> I wrote a book.

I have a site called [http://www.correlated.org](http://www.correlated.org) that generates funny statistics based on user-submitted data.

After several years of running it, I got a book deal. It was part of a two- part deal that also involved my other (more successful) book "Experimenting With Babies."

For the Correlated book, I wrote a bunch of code involving some seriously gnarly SQL queries and some Natural Language Generation tools, and it basically spat out the book.

There was, of course, extra manual effort needed, but the code got me about 80% there.

Here's a little more about the book:

[http://www.correlated.org/book.html](http://www.correlated.org/book.html)

</comment><comment><USER73> I trained a mobile neural network to feed the dog every morning, and his brother to feed it every night.

<comment><USER74> My mobile neural nets are still in the training stage. Sometimes, they have trouble recognizing when the dogs fifo is full.

Also, though I derive great happiness from this automation effort, I've noticed that the processing units are quite expensive and the maintenance cost is also large. After 5 years, I'm certain I've spent more time training them than if I fed the dog myself and more money that if I hired a 3rd party DwaaS (dog walker as a service).

<comment><USER75> I think part of the problem is the ordering of the canine calorie queue: should it not be approximately lifo rather than fifo? If you are indeed correct, I'm curious to know how the canine has direct access to the caloric morsels at the bottom of the container.

<comment><USER76> I believe they were referring to the canine unit's output queue, which definitely should be fifo. If it switches to lifo, a trip to the troubleshooting specialist is in order.

<comment><USER74> Yes I was referring the fifo in the state machine that runs throughout the canine unit.

But I do agree that the feeding mechanism should definitely be designed as a lifo

</comment></comment></comment></comment></comment><comment><USER77> Ok, I'll bite!

About 20 years ago I inherited enough money to retire on for the rest of my life. But the only evidence of those assets was, a dot matrix printout that anyone could have done in five minutes. So over the next few weeks, I created accounts in the various share registries and online banking websites, and manually cross-checked the printed list against those accounts. All was good, but I wanted to do that on a regular basis, and it was clear that doing it manually, on a regular basis, was not gonna happen.

I am personally -- NSFW SPOILER ALERT!! -- a long time Windows/IE user, and I knew that IE has a comprehensive automation interface. In literally a few lines of VBScript (say), you can programatically start IE, navigate to URLs, parse the DOM, create new local documents, and so on. But although those interfaces are very simple, they're not robust against failures, and have various weird and wonderful corner cases that will sometimes trip you up.

So over the next 10 years or so, I created a robust, general-purpose IE automation wrapper, and wrote some applications on top thereof. The result is that at any time, I can click a few buttons on a handsome user interface, and enter a single master password, at which point my application will automatically log into each share registry and online banking website in turn; download all new and amended data therefrom; transform all data into common formats; store it in a local cache, so it doesn't matter if it later disappears from the website; then creates a single share holdings document, showing all share holdings from all share registries, and a single online banking document, showing all transactions from all accounts at all banks since the start of time. Both documents have dynamic, user-defined sorting and filtering. They also hilite significant changes; check all share holdings against banking credits to confirm that all expected dividends were received; and so on.

In other words, I've completely automated various important financial checks that I simply couldn't do by hand on a regular basis. The downside is, I'm tied to IE - and - several hundred thousand lines of VBScript! If anyone would like to re-write all that code for Chrome or whatever - for free - you're more than welcome to contact me!!!

<comment><USER78> If you wanted to re-write that for Chrome or whatever (including headless) I would suggest Selenium or WebDriver suite, including PhantomJS. However, my knowledge (expert level at the time) is a bit outdated and there are probably new toolkits based on the Selenium/WebDriver protocol, it is a good direction to point you to.

I have had my bank remove records from my online account, or not have the ledger balance add up, so your idea interest me. I contacted the controller of the currency about my bank messing with my records, and they did absolutely nothing.

<comment><USER77> Thanks for the reference to sekenium etc. I know nothing about other browsers' automation capabilities, so i'll takee a look at some stage.

<comment><USER79> I've automated a bunch of tasks thanks to selenium. It's really pretty simple once you get the hang of it. I'd totally recommend.

<comment><USER77> I'll certainky take a look at it

</comment></comment></comment></comment></comment><comment><USER80> I automated all my piracy.

My NAS automatically downloads files as they are released by scene/p2p/pirate groups. Files are extracted (if compressed), renamed, metadata is added, and published on some apps like plex and trakt.

Movies, TV Shows, Music.

<comment><USER81> Sickbeard and couchPotato did that through GUI with a few clicks a few years ago (at least).

<comment><USER82> Sonarr, Lidarr and Radarr do it much better these days :)

</comment></comment></comment><comment><USER83> 1\. some miscellaneous things using IFTTT like cross posting from Instagram to Twitter and Facebook

2\. Smart Home stuff like turning on the light on sunset if I'm home, turning off the lights when I leave home and multifunctional wake up calls using light and music.

3\. And which I guess I'm most proud of: I'm secretary at my local volunteer fire brigade and one of the chores is to send out a weekly email to everyone with a digest of trainings and other appointments in the next week. To get this out of my head, I wrote a serverless function that queries a special google calendar for this, collects titles, start times and notes, generates an email and sends it out to our members. This lets me just manage the appointments within my calendar and takes care of all the mechanics. Fun fact: this works that good that sometimes people come to me with "yeah, about your email..." and I'm like "which E-... OH!"

<comment><USER83> As I just got reminded about this through other comments:

4\. Vacuuming. My roomba has paid for itself several times with the time it's saving me

</comment></comment><comment><USER84> My internet provider Hathway (in Pune, India) used to throw up a login page every now and then throwing all my networked devices out of gear. The captive portal required doing login via browser to start internet again. I wrote automation scripts on Raspberry Pi to figure out when internet access is gone and then to do auto-login. Here is the detailed blog -

[http://gopi-kori.blogspot.com/2013/08/auto-login-to-hathway-...](http://gopi- kori.blogspot.com/2013/08/auto-login-to-hathway-broadband-using.html)

I have also automated all bathroom lights and lights on basin to switch on based on motion sensing using these cheap switches

[https://www.aliexpress.com/item/Home-LED-light-PIR- Infrared-...](https://www.aliexpress.com/item/Home-LED-light-PIR-Infrared- Motion-Sensor-Switch-Human-Body-Induction-Save-Energy-Motion-Automatic- Module/32605808012.html)

This saves energy by solving my problem where I used to forget switching off the lights many times.

<comment><USER85> Not as much fun, but you can request them for a static IP for no extra charge, and the requirement to periodically login will go away. At least, that used to be the case until I moved away from Hathway in Bangalore (about 2 years ago).

</comment></comment><comment><USER86> The most useful thing I have is a little script that logs into my bank, downloads a CSV and sends me the latest transaction via email daily. Saves me time to login to online banking, and also serves as a useful way to search for previous transactions inside my mailbox from time to time.

Besides that I use Home Assistant[0] with a few simple automations. For example, when the lights are on in the bathroom, and it's after dark, increase the heating/towel warmer (using Tado[1]).

Tado has its own home/away detection, plus some schedule for the heaters. It's supposed to save on energy costs.

When we're on holiday, I switch on/off various lights (with some random offset) at night... Or some times I might leave a radio on timer / connected to an IoT power switch. (I don't use any burglar alarms, cameras etc, but I try to deter them with those simple fake occupancy tools)

Philips Hue has a nice way to slowly turn the lights on. Useful to wake up during the dark winter months.

[0] [https://www.home-assistant.io/](https://www.home-assistant.io/)

[1] [https://www.tado.com/](https://www.tado.com/)

<comment><USER87> For your banking script, are you able to use an API with a limited access token? Or does it use your normal credentials. I don't save my various banking credentials anywhere, not even 1password, as they're so sensitive, curious how you do this.

<comment><USER88> I don't hear often about banks providing API access. Only big companies on special contracts may get something like that, but it is usually very limited - talking from my personal experience, but what I learnt from the internet - it's the same everywhere.

But... In Europe thanks to just another EU laws we should have every bank offering an API access for everyone starting from September 2018 IIRC. That would help a lot with automation, I hope generating few api keys with different access permissions would be possible with that.

<comment><USER89> I'm going to be so amazed if the API (PSD2 if you want to Google it) turns out to be what we want.

I'm fully expecting banks to throw extreme security hurdles and probably registration fees in the way if they can.

Hopefully I will be wrong.

<comment><USER90> PSD2 is not what you think it is. It has API access, but not for the end user. Only 'integrators' will have access to these APIs. You will need to request permission to write/deploy software using the APIs. This involves massive bureaucratic overhead and in some cases permission from your country's national bank.

</comment></comment></comment></comment></comment><comment><USER91> Two things:

1\. Automated indoor gardening. I used a raspberry pi hooked up to x10 devices as a way to monitor the temperature of my garden, and run the watering and light cycles. This meant I only had to worry about my garden maybe an hour a week when changing out the nutrients and reservoirs. This saved a huge amount of time, let me go on vacation for long periods of time without having to worry about things, and saved me from forgetfulness. It allowed for me to enjoy my garden a lot more, and look for real issues, like bugs/pests/nutrient deficiencies. Getting an automated process also made each cycle more reproducible.

[https://github.com/cbanek/garden-squid](https://github.com/cbanek/garden- squid)

2\. Automated billpay. This changed my life. By not having to worry about missing bills, it really just took them completely off my radar. Downside: If there was a problem with a bill, I might not notice right away, but in general, there was so little that wasn't actually my fault that it didn't matter. Fidelity has a great automated bill pay system that is free to use, and will send out checks and do e-bills for most utility / credit card companies.

<comment><USER92> I ended up going with a really simple turn a pump in a bucket on for a minute each day which did a lot for plants dying while I was on a 2 week business trip. But I'll check out your project!

</comment></comment><comment><USER93> My WiFi router is turned off automatically at 9PM. No fancy electronics is needed for this, just something like: [https://www.lazada.com.ph/products/24-hours-auto-switch- off-...](https://www.lazada.com.ph/products/24-hours-auto-switch-off-timer- power-outlet-energy-saver-i8085269-s10271506.html)

<comment><USER94> Nice, but why do you turn it off?

<comment><USER93> It enforces no internet before sleep rule. Personally I find it hard to stick to such habits just by my own will. Too often I find some excuse to turn on my laptop just to check one thing, which then turns into one hour wasted browsing random junk.

<comment><USER95> I feel like this is also a good security precaution aswell, decreases attack surface for over 50% of the day.

<comment><USER96> Really good point.

</comment></comment></comment></comment></comment><comment><USER97> I automated my phone integration with my car using Automate.

When I leave my wifi hotspot it turns on bluetooth.

When/if it connects to my car it opens Spotify (but it doesnt start playing yet before I hit play on the steering weel).

If it's in my car's handler (there's a NFC tag there) it assumes I want navigation and it also opens Waze.

When it disconnects it turns on wifi again and keep it on for a few minutes and shut it down if it's not connected to anything.

I'm sure android auto can do all this nowadays, but my car has a 7-years-old ford-sync system, and that's bluetooth only.

<comment><USER46> I have a 2018 Subaru and a Pixel 2 and Android Auto is very unreliable. Every time the phone connects with the head unit, it asks if I want to grant access to contacts and every time I click yes. This seems like something it should remember.

I complained about the poor performance to my dealer and they replaced the stereo but that didn't really fix anything.

I wonder how difficult it would be to automate clicking on the notification to grant access to whatever it is that Android Auto thinks it needs access to?

</comment></comment><comment><USER34> I automated my Investment Portfolio.

My investment thesis is to buy high-growth tech company stocks with an upcoming earnings call in the next 90 days. I have a script that scrapes Yahoo finance and tells me which stocks to buy.

Surprisingly it's worked well, and I've gotten a return of 44% last year

<comment><USER98> With earnings of publicly traded companies in the US reported quarterly by law, how is this distinct from the list of all high-growth tech company stocks?

<comment><USER34> The stock grows/declines severely during earning call. I use that to my advantage/leverage

<comment><USER99> >with an upcoming earnings call in the next 90 days

>quarterly by law

I don't think you answered the GP's question. What is the point of looking at the earnings call date if your script just returns a full list of companies? (Or maybe when you said 90 days you meant a shorter time period?)

<comment><USER34> I did answer it. I will try to illustrate it even further. Public-ally traded companies, regardless whether they're high growth tech or not, tend to have big jumps or declines in stock price on earning calls date.

Take for example Shopify. Their stock is very fast growing, however, you'll always notice a decent bump during earnings calls. I buy 30-60 days before this earnings call, because I anticipate it'll grow in the next 30-60 days (for the earnings call), given the previous growth. I sell on the day of earnings call

<comment><USER98> Ok, so an upcoming earnings call is not a filter, it's a buy signal/trigger.

</comment></comment></comment></comment></comment></comment><comment><USER100> Monthly credit card payments. So money flows from my employer to my checking account to my credit cards. Also of course to my 401K, IRA, Mortgage account, Saving account etc. Which means I don't encounter money much and I like it this way (I generally make sure I live within my means and my money does flow into my investments).

Downsides:

-I'm not actively thinking about money and hence improved investments

-I'm not monitoring credit card errors

-Comcast gradually increased increased my bill from $44/mo to $103/mo without any resistance from my side

<comment><USER101> I started this right after college after reading "Automatic Millionaire" that advocates for "paying yourself first" and automating your finances. Money goes into checking then automated to online savings accounts, one account per purpose (xmas, vacation, kids college, kids sports, big ticket purchase), money goes to 401k/IRA, money goes to stock account. Only bill I need to remember to pay is credit card (although minimum payment is at least made so no late fees), everything else is automated. Only decisions I make are how to rebalance things if I overspend the money left over, which stocks to invest, and periodic rebalancing to make sure things are on track to reach long-term goals. The real savings is "saving me from myself" :)

</comment></comment><comment><USER102> Pushing music onto my phone. I have Termux installed, and can thus run `sshd` on Termux (I have ssh keys copied over), and then copy any music I want into a temporary directory on my desktop and use [https://github.com/ehmry/dir2opus](https://github.com/ehmry/dir2opus) to convert everything to 96kbps opus and push it over using rsync and then cleanup the temporary directory:

`python2 ~/builds/dir2opus/dir2opus -a -b 96 --delete-input . -r && rsync -av --progress -e "ssh -p 8022" . 192.168.1.111:"/sdcard/Music/music-OPUS/" && rm ./* -rf #music`

Likewise audiobooks, but to 24kbps opus:

`python2 ~/builds/dir2opus/dir2opus -a -b 24 --delete-input . -r && rsync -av --progress -e "ssh -p 8022" . 192.168.1.111:"/sdcard/Audiobooks/" && rm ./* -rf #audiobooks`

<comment><USER103> I installed Syncthing[0] on all my devices, and added youtube-dl folder that auto-sync my music as soon as I'm connected to my known networks. It's so easy I've stopped using any cloud things (except for emails).

[0] [https://syncthing.net](https://syncthing.net)

<comment><USER102> I also use Syncthing on my mobile phone, but for actual syncing. The music stuff I'm converting from FLAC to opus, transferring to my mobile and then deleting the opus files from my computer.

I __do __use Syncthing to then sync the (opus) music from my mobile to my work desktop.

</comment></comment></comment><comment><USER104> 1\. When I plug my camera's SD card into the front of my Linux server it automatically copies off any new photos and sorts them into a YYYY/DD/MM folder structure.

2\. I wrote a cryptocurrency trading bot because I'm too lazy/uninterested to actually learn anything about the market. It seemed to do pretty well when the market was flat or going up. Hard to tell if it's doing badly now or if it's just reflecting the state of the market. I almost forgot to include it in this list because it's so thoroughly automated that I rarely bother to check it.

3\. I assisted the owner of pvoutput.org with adding support for the automated data upload format from my PV inverter. Then I wrote a script that automatically polls my electricity meter using a RAVEn USB device to upload the net import/export of power.

4\. Maybe other things that I've forgotten about because they're automated...

<comment><USER105> For #1, do you have any way of detecting dupes? For example if you inserted the same SD Card twice would you get two copies of the photos?

<comment><USER104> I only use one SD card and one camera, so I just store the name of the last file copied (e.g. DSC02745.ARW) and the next time the card is inserted I only copy files that come after that one when sorted by name. It would be pretty easy to extend to multiple cards and/or cameras, but I've never had the need.

</comment></comment></comment><comment><USER106> My son used to ask me every morning whether to wear warm-weather clothes or cool-weather clothes, so I wrote a app that scraped some weather data and served it up in a web page as a temperature graph, along with a recommendation for what kind of clothes to wear.

<comment><USER107> ...you wrote a weather forecast?

<comment><USER108> I think they're saying they slimmed it down to just the parts they needed. A lot of weather sources have very busy web pages.

</comment></comment></comment><comment><USER109> Reading ebooks.

[https://Auditus.cc](https://Auditus.cc)

<comment><USER110> Ahh! The _centraaal_ station! :)

I'd love to have a service like this with wavenet-quality TTS. These are a bit jarring. Although, like low quality audio files, I guess you get used to it pretty quick?

<comment><USER109> It uses AMZN Polly for the backend, switching to Wavenet types would cause an 4x price increase (based on current offerings by the majors clouds). It is a bit difficult to justify because that would exceed the cost of an off-the- shelf audiobook from e.g. Audible. I do however plan to add it as an option.

If you have any ideas etc. drop me an email! (See profile)

</comment></comment></comment><comment><USER111> I automated my bedroom lights in a house share. I have 3 lights: the main cieling and 2 more which are a floor standing and a desk light. For sensors, I have a magnet door switch and a PIR sensor to detect direction of travel (enterring or leaving the room) and a photocel sensor to detect day/night).

The main lihht turns on for 1.5 minutes, then the other 2 switch take over for 'chilled' lighting. If i leave, the lights go on a timer for 10 minutes. If the PIR doesnt pick up movement, or i have not returned, the lights go off. When going to sleep, i have an acarde button as a master switch to either turn on chilled lights or off.

The lights are controlled with 5v relay switches. No intrusive adjustment were made to the main light, as i bought male / female bayonet socket to wire/ wire to bayonet socket adapters.

An Arduino is controlling the whole thing, and the wire used is cheap RGB 4 pin wire off ebay which is i belive 24gauge?

Still a bit buggy after refactoring, but ill get there eventually: [https://github.com/alfanhui/automated_home_lights](https://github.com/alfanhui/automated_home_lights)

</comment><comment><USER112> I first built ATTIC, which aggregated and indexed newly available products from local furniture stores in DC, to serve the personal needs of me and my wife. We were trying to furnish a new home using only locally bought goods, ideally vintage ones. I started with 15 or so stores to save us the time of having to go to each website one by one. It was pretty crude at first, but did the job. It saved us time and in some cases actually gave us an edge in seeing pieces that sell out quickly. Our home has come together well and almost entirely sourced from ATTIC. Mission accomplished.

Four years later it's now available in six cities and indexes hundreds of local independent stores.

[https://attic.city](https://attic.city)

</comment><comment><USER113> The lights in the most reasonably trafficked areas of my apartment are automated. The kitchen and bathroom mainly.

If I'm in the kitchen I'm actively cooking or using the sink and pacing around, so the motion sensor keeps the lights on. After 1 minute of no motion, they turn off. Important to set timers though as the lights are no longer a reminder if something is in the oven or on the stovetop.

For the bathroom, I have a sensor placed precisely to view both inside and out of the shower with the curtain closed. This means the lights won't turn off while someone is in the shower unless they stand really still for 2 minutes. If someone wants to take a bath and won't move much, I can override the sensor to a longer shutoff time.

At 6:30pm I have a light that turns on to simulate that we're home. Looking to move this to a "sunset minus 30 minutes" model soon so it appears more organic.

At 2am, all of the lights turn off in case we forgot, or as a friendly reminder to go to bed. It hasn't worked today. :)

<comment><USER57> We have some battery-powered motion-detector LED lights about 1ft from the ground in our bathroom and hallway.

Makes walking around late at night less painful. (Children's toys end up everywhere!)

<comment><USER49> Now _that 's_ clever. But I'd really love if someone would invent a kind of roomba that puts away toys

<comment><USER114> Toys that put themselves away will get here before the Roomba that puts away toys does.

<comment><USER115> Good luck getting individual LEGO pieces to put themselves away :)

<comment><USER49> You need some kind of katamari damacy style ball of Lego that rolls around collecting pieces and getting bigger

</comment></comment></comment></comment></comment></comment><comment><USER116> I created an API for the waste collection (cardboard, organic, paper etc.) of my city based on some CSV that they publish. I always forget when to put what on the street, now thanks to my API and IFTTT and get a notification on my phone to remind me.

If anyone is interested, the API is here: openerz.herokuapp.com and the city is Zurich, Switzerland.

<comment><USER116> [https://openerz.herokuapp.com](https://openerz.herokuapp.com)

</comment></comment><comment><USER117> 1\. PhotoBooth: Canon Selphy photo printer + Raspberry Pi + Special Gmail address, check for new emails with image attachments, send to printer.

2\. Temperature IoT Monitoring: temperature monitoring in baby room. Takes 1 minute samples of temp and humidity in the room and also records local weather in zip code. HTML Dashboard to keep track of it all. Uses very cheap NodeMCU+wifi board.

3\. Webcam Timelapse: Cheapo Chinese Webcam + RaspberryPi + special no- internet access wifi networking (cause I dont trust the Chinese webcams). Grabs a frame every minute and stitches it into a video .

</comment><comment><USER118> I made a sensor board that has light, motion, temperature and humidity sensors and IR LEDs and put one in every room. I put Sonoffs on the lights and various other devices and wrote a small managing program to coordinate the lot, so lights turn on when you walk into a dark room and turn off if there's no motion or if you turn on another light. The IR LEDs also control the TV/AC/etc.

I've also added various other things to it like Wifi presence notification, so it sends me a notification if a guest arrives, and hooked it up to Kodi and an Amazon Echo so I can say things like "play Iron Man" and it will turn on the TV, put on the movie and turn off the lights.

Not super useful stuff, but it was fun.

<comment><USER119> Really interested in what sensor boards you used to detect everything. Have you shared any of your code at all? Sounds like a really cool project.

<comment><USER118> Yep, here you are:

[https://www.stavros.io/posts/building-cheap-home- sensorcontr...](https://www.stavros.io/posts/building-cheap-home- sensorcontroller/)

I used an ESP8266 with cheapo sensors, the whole board costs like $5 or something. The software is pretty ad-hoc but is not more than 100 lines of code.

</comment></comment></comment><comment><USER120> Finances. Paychecks are direct deposit, monthly bills are auto-pay, and my wife and I each get an allowance deducted weekly from our shared checking account into our separate checking accounts. We do still have a monthly non- automated task where we enter the current state of all of our accounts into a spreadsheet, and copy the totals into another spreadsheet that tracks our finances over time. It has been really helpful to help plan and see our progress.

</comment><comment><USER121> I once made an automatic humidifier controller (aka a humidistat). It consisted a remote-controlled outlet, a RF circuit, a temperature/humidity sensor, a humidifier, a screen, and a AVR microcontroller. The AVR microcontroller is programmed to loop, sleep, and read the measurements from the sensor periodically. If the humidity is below my threshold, it fires up the RF transmitter and switch on the outlet hence the humidifier connected, vice verse.

The remote-controlled outlet is a commercial off-the-shelf product for ordinary consumers. I reverse-engineered the 433 MHz signal using a RTL-SDR receiver and some widely-available programs. Using this outlet instead of making a circuit by myself allowed me to bypass the regulatory issues, as the outlet itself is already UL-certificated - no physical modification at all, if the outlet blew up anyway, I'm not liable for the damages at school.

A simple little thing, but extremely useful. It did a good job for maintaining a prefect humidity in my dorm room and made us survived the dry winter (RH <15% otherwise, due to artificial heating). I tweaked the microcontroller with an oscilloscope to make sure it uses minimum power. The whole controller is powered by 4 AA-batteries, with > 10 days of battery life, and fit on a single breadboard. All I need to do is refill the humidifier with water every morning.

 _The only trap is the unreliability of the humidity sensor, because humidity measurement is inherently hard. >15 USD sensors are reliable, don't attempt the project with cheaper ones, as the only humidity-sensing element they use is a resistor and it was completely unreliable. It was pretty frustrating and lots of fruitless debugging involved because of the crap sensor initially._

</comment><comment><USER122> Watering my plants outside.

Some of them are connected to the water line, so I use a german commercial solution that irrigates 1-2-3 times a day for x seconds.

I just hacked the electric signal of the valve with a cable, sugru and 3d printed parts to control it with a raspi, so it is dynamic, based on the weather and water sensors, so water is not wasted.

Other plants are not connected to the water line pipe. So I use terracota recipients and a raspi controlled deposit of water to add some water the terracota will absorb by capillarity and irrigate the plants this way.

There is no better system to irrigate plants than capillarity.

I fill the deposit manually once a month or so.

I also brought a bread-pizza mass machine as in some countries there is no good bread like in Spain or France, this way I could design my own custom cycles depending on parameters like the weight of the bread I will make. Automating it was super simple.

I created a book reader-digitalizer, all my books are digitalized, OCR.... The hardest thing to do was flipping pages. At first I used vacuum with a super complex system. A year ago or so I simplified it enormously with just a cheap Chinese electrostatic device.

</comment><comment><USER123> Most automation doesn't work for me. I don't keep to a set 9-5 schedule, so anything that assumes a routine fails me. Here's what I do use.

Tado - a smart thermostat, sets the temperature while we're in the house. Heats up water only if we're in. Uses an app to geolocate us.

Lifx - lightbulbs which automatically dimm at 2300 (good reminder to go to bed) and auto switch off a couple of hours after sunrise.

Everything else is either always on (security cameras, smoke detector) or run as needed (Roomba, car charger, electric blanket) or autonomous (Moixa solar battery).

<comment><USER124> > I don't keep to a set 9-5 schedule, so anything that assumes a routine fails > me. Here's what I do use.

This has been a pet bug of mine for a while. My shifts are never the same 2 weeks in a row, and I feed it all into my calendar. But homekit etc won't consume this.

I've botched together a few scripts to set my heating based on the events in my 'work' calendar, so it sets before I get home, not after, and it does seem to work much better than any geofencing or 'learning'.

</comment></comment><comment><USER125> Incredibly minor, but I made a Workflow to log weight + waist circumference to Apple health.

I measure each every morning. Then I press one button, enter both numbers, and get on with my day.

Not full automation, but having waist circumference along with weight has really helped me get a better sense of fat loss while doing strength training.

(Workflow app, for the Workflow)

</comment><comment><USER126> I made SigParser.com to automatically read email signatures in emails and keep SalesForce contacts up to date without having to do it all manually.

</comment><comment><USER127> I have several scripts that make my keyboard behave better, which is "automating" in a sense. I basically have vim-style keys anywhere on the computer, as long as I'm holding caps lock. (So e.g. caps+j is the same as down arrow). This includes some more complex motions like "select current word", and even things like "open two quotes and but the cursor between them."

I also have a script which scrapes my podcast player's website, to give me a list of podcast episodes that I already played. I save this list every day in an excel file, but the script makes this much easier - I run the script, then paste the results into the excel.

<comment><USER49> Autohotkey?

<comment><USER127> Hammerspoon (Mac).

</comment></comment></comment><comment><USER128> I relocated to Germany but never studied German before and at work we all speak only English, so my German knowledge lacks a lot of words, though the grammar is OK. However here one has to deal with a huge number of letters, and there are always unknown words and phrases. So I have created a tool based on tesseract OCR, Qt and offline dictionaries of dict.cc to read letters and all kind of contracts. I also used www.lingvolive.com at the beginning but then the API changed and now I don't have time to update it. Nevertheless it saved me tons of hours, now I can read a tricky letter within 5 minutes instead of an hour.

<comment><USER129> Hi Sergz! I'm building something similar for Chinese, [https://pingtype.github.io](https://pingtype.github.io) \- there are a lot more letters to deal with over here. Do you have a link to your code?

<comment><USER130> I'm also interested in the code, if OP is willing to share.

<comment><USER128> Hey! Here it is [http://school-text.github.io/](http://school- text.github.io/). I'm not ready to share the code, perhaps we could just discuss the topic firstly, though.

<comment><USER130> Thanks! Your comment caught my eye because I also struggle with some letters that I get in German. I'll definitely test out your software, I didn't anticipate that you had it already packaged nicely - I was anticipating some github repo, hence asking for the code.

</comment></comment></comment></comment></comment><comment><USER131> Lights in the garden/living room come on automatically based on sunset time and weather. Fans ventilate the house/shed based on moisture and CO2. I'm in the process of automating the sunscreens on our windows.

So, mostly domotica stuff.

</comment><comment><USER132> Turning on/off outdoor lighting as sunrise / sunset changes over the year.

Raspberry Pi runs a program that gets sunrise sunset data for my lat long, and then turns on off lights depending on that data plus preferences about when the earliest I'd expect someone to be leaving/coming.

Used to have a little timer that plugged into the outlet, but you'd keep having to update the on-off times as the seasons changed, and the clock kept drifting.

There are photo sensitive equivalents plugs, but apparently they don't work great, and they would keep the lights on all night long, and light pollution is a pet-peeve.

<comment><USER133> What exactly does the RPi control? Is it some sort of WiFi or programmable outlet? I've wanted to do this, but wasn't sure how to get the RPi to control the lights.

My mechanical timers have all broken or drifted too.

</comment></comment><comment><USER97> I automated my bugzilla integration.

As a software maintainer, people sends Bugzilla entry in all different forms: Full link, only numbers, BZ<number>, BZ#<Number>.

Of the last tree options, I need to open an random bugzilla link, remove the ID and replace with the sent number. It's like 10 seconds work, but I have to do it 20~40 times a day.

Nowadays, I mouse-select some numbers and press CTRL+B. A 10-lines-python- script is called from gnome. It uses xsel to see what do I have selected and, if it looks like a BZ, it opens firefox will the full link for me.

It's ridiculous simple, but it's a time/sanity saver for me.

</comment><comment><USER134> I've helped few Indian farmers by doing this.

[http://neelkadia.com/fillatank](http://neelkadia.com/fillatank)

</comment><comment><USER135> Screen scraping photos of my kids from a kindergarten website. Recognizing good photos that feature my kids and deleting everything else is manual, though.

Alerts to my phone if the fridge or freezer temperature exceeds a limit or the humidity under my dishwasher starts rising.

Granted, neither are fully automatic and require manual intervention.

<comment><USER136> I wouldn't be that pleased with a childcare facility taking photos of my kid then putting them on the internet. I suspect I'm in a small minority though.

<comment><USER135> It's behind a login and they've asked for parents' consent for each child separately. Everyone with access has agreed not to share any of the photos.

I actually haven't shared my scraper script just because I think someone would then share the pictures (perhaps accidentally).

EDIT: I'll just add that there are no public photos of my kids and I ask anyone who takes photos not to share them outside family. So I do agree with your point.

<comment><USER136> That's less alarming than I'd interpreted, and I didn't mention in the first post - your script is a good idea.

</comment></comment></comment></comment><comment><USER137> Virtual development environments in LXC and KVM [https://github.com/kstenerud/virtual- builders](https://github.com/kstenerud/virtual-builders)

I can spin up a virtual Windows, Mac, or Linux machine, and access it via virtual desktop, from any linux host running LXD 3.0+ (currently Ubuntu 18.04 server). I can go from a freshly installed server to a fully functional, deterministic dev environment in one git clone and build script run.

I also keep a virtual desktop or two around for any long running tasks that require a GUI environment, or for browser tabs I want to keep open long term.

<comment><USER138> Is this automating your personal life? This is like using bash.

<comment><USER137> This is automating the creation of a fresh desktop environment, which would otherwise take hours. For example, I can try out a few different Android dev environments without them leaving ghosts behind to mess with future android dev environments.

</comment></comment></comment><comment><USER139> I once had a long distance girlfriend who lived on the east coast. She would like to see "good morning" texts from me, the problem is that they are 3 hours ahead, so I wrote an On.X bot to do it every morning and pick randomly from a handful of messages

<comment><USER105> Great job.

Only question I'd have is: Could this go wrong e.g. if you were away (and she knew it) but the bot continued. Also typically aren't good morning texts followed by light follow-up conversation?

</comment></comment><comment><USER49> We use a slow cooker which pretty much automates a lot of the process of making dinner. Just chop ingredients and throw them in. Now I just need to build a robot to chop veg

<comment><USER140> Food processor? ;)

<comment><USER141> In French, food processors are even called "robot culinaire"

</comment></comment></comment><comment><USER142> I fall in love with the 18th art. Everyday, I spent around 15 mints to open and see what news from Google Art and Culture and WikiArt.

Until, one day, I'm so lazy to do it, and write the macOS app to fetch feature art and set it as a wallpaper on my personal laptop daily.

It's my rescuer.

[https://github.com/NghiaTranUIT/artify- macos](https://github.com/NghiaTranUIT/artify-macos)

</comment><comment><USER143> In 1998 I was a big fan of _Ultima Online_ and I had just gotten my first rack in a real datacenter (as opposed to an office server room, etc.) with a real backbone connection.

So I loaded Windows 98 onto an old desktop, installed PCAnywhere, the UO client and a macro utility.

The result was a lightning fast, never interrupted connection to UO with a macro'ing character running 24/7 on a headless PC in a datacenter.

</comment><comment><USER144> I wrote a system that automates disappointment. I wrote it once and now the disappointment keeps on coming.

</comment><comment><USER145> I automated searching for a rental property across all the major property websites in my country. In particular I was looking for properties with certain attributes (bathtub, lock up garage etc.), in a specific set of areas (GPS-based areas predefined on a Google Map based on proximity to train station, dog park, nearest shops etc. in suburbs my wife and I liked). None of the existing property websites offered anywhere near that level of search and notification customisation, so I cobbled together a Python script that scraped the websites on a daily basis and ran all the results through a filter. Anything interesting was emailed to us both so we could reply by email and have a conversation about it. My wife and I decided to be super fussy since we didn't need to bother manually searching. After about 6 months my script found a winner and we're now in an awesome place that ticks all of our boxes.

I didn't dare automate the application process... I had nightmares of 450 property managers calling me at once saying "Congratulations". :)

</comment><comment><USER146> Hallway lights come on automatically at sunset.

Heating comes on at 4.30am in cooler months, turns off when we leave to go to work (along with the bedroom, hallways and kitchen lights which come on at 6am)

Heating comes back on at 2pm if outside air temperature is below a certain threshold.

Bathroom floor heating and towel rail switch on and off at various times during the morning, afternoon and evening depending on the day.

<comment><USER147> _Hallway lights come on automatically at sunset._

Does this mean you constantly have light there even when you're not around? Any particular reason for that (maybe the switches for it are placed awkwardly or so?)

<comment><USER148> Security. I do this too.

<comment><USER147> Assuming you mean security nor for yourself (as in, to see where you're walking) but for burglars, thinking about this for a bit I'm not sure if this always works as intended. Would be interesting to see stats. But it's definitely not as simple as 'light on = scare away intruders'. Suppose your hallway light goes on every single day, even if you add some randomess to the timing, a burglar which scouts the neighbourhood a couple of days will quickly figure out the light being on doesn't mean anything with respect to you being at home or not. Moreover it would be convenient for him/her once inside the house since there's more visibility. Unless of course that also means the neighbours can then clearly see someone being in the house. Then again, if your neighbours don't know you're not at home that matters less.

 _edit_ seems it's indeed a point of discussion [https://skeptics.stackexchange.com/questions/8956/is-it- safe...](https://skeptics.stackexchange.com/questions/8956/is-it-safer-to-not- light-your-house-at-night)

</comment></comment></comment></comment><comment><USER149> I've fully automated my supply of fresh local coffee beans using a connected scale. I leave my beans on the scale and the data is sent to a ML system that learns from my consumption and reorders for me so new beans arrive at the right time.

(I'm a beta tester here: [https://www.getbottomless.com](https://www.getbottomless.com) )

<comment><USER150> Neat. Can you suggest a good scale with an API (or other data stream)?

</comment></comment><comment><USER151> I bought a kit and made my truck a push to start. Instead of using a wireless key device their is a hidden switch that makes it seem kooler. I also replace the radio with a zero pi that does some neat things. It is controlled over bluetooth from my phone. I also war drive with it and map wifi for fun and some other things.

</comment><comment><USER152> I'm writing a service that downloads content from Reddit. Usually I just want to see the top video of the week, or maybe the top 5 pics from /r/pics every day or something like that. The service has handlers for various kinds of URLs. For example, if it detects a youtube URL, it utilizes "youtube-dl", or if it's an image link it will use curl, if it is a text post, I might download it as a json object from the reddit API.

This serves two purposes for me: 1\. I can be more specific about how I want to consume reddit. ie, I can fine tune parameters for each subreddit. 2\. The download destination is directly to my NAS, so I can hoard it. (Bit of a datahoarder here)

It's been a fun learning experience identifying the diversity of URLs/Domains that are posted to reddit. Definitely a different perspective.

</comment><comment><USER153> I made a script that scrape many job offer websites and send a notification email when some custom rules match.

<comment><USER49> Nice, I was working on one to scrape remote job sites and send me relevant results to my inbox but I successfully got a new job before I finished it

</comment></comment><comment><USER154> Getting a laser guided vacuum robot. Automating vacuuming is awesome.

Also my cat would disagree about who trains whom, but he uses the regular 'throne' in the restroom.

</comment><comment><USER155> With gmail you can only auto-forward mail to mailboxes which you can prove you own / have access to (by responding to an email challenge generated by google, sent to that mailbox). This meant that I couldn't automatically forward receipts / invoices from e.g. Airbnb, Digital Ocean, Microsoft etc., to Expensify. So I have a cron job that logs into my gmail account every night at 2am, scans for new mail matching certain criteria, and manually forwards it to Expensify's mailbox.

Now I don't have to remember to forward mail to Expensify every time I book an airbnb for business travel, or pay my monthly O365 subscription.

It works great, except for when a company decides to change the format of their emails and I have to update my script to use a new search pattern.

<comment><USER156> 1)you could buy a cheap domain, create email@example.com

2) mail forward setup email@example.com -> regular gmail

3) setup gmail forward address test to email@example.com

4) validate

5) mail forward setup firstname.lastname@example.com -> Expensify's mailbox

6) ^^

<comment><USER155> Ha, yes that would have been much simpler :)

</comment></comment></comment><comment><USER157> I used the VoiceRecognition API to control my music player using voice commands - works great for cooking!

[https://smalldata.tech/blog/2017/11/15/building-a-voice- assi...](https://smalldata.tech/blog/2017/11/15/building-a-voice-assistant-to- control-music)

I also wrote my own little VPN kill swtich - great for ensuring that my browser shuts down if the VPN dies.

[https://smalldata.tech/blog/2018/04/11/building-a-vpn- kill-s...](https://smalldata.tech/blog/2018/04/11/building-a-vpn-kill-switch- on-ubuntu-using-node-js)

</comment><comment><USER158> I use [https://www.home-assistant.io/](https://www.home-assistant.io/) to do a coupple of automations like switching everything which uses power off when I leave home to preserve energy and switching a CCTV cam on at the same time for safety reasons.

But one of the more usefull automations is a text2speach script which fires in the morning between 6 and 11, during workdays, when I'm not asleep but still at home, always 7 minutes before the next train to work leaves. This way I miss the train faar less often.

<comment><USER159> Seconding Home Assistant, it's really the glue that allows for the leveraging of other systems.

I was able to set up something I had wanted for a long time which was to turn off my TV/Stereo/Kodi after idling. I built the conditions which caused the the whole thing to shut off via Harmony hub after 10 minutes of idle after being played.

The one downside is the project moves really fast so you have to keep up with breaking changes sometimes.

</comment></comment><comment><USER160> I made a chapter skipper for VLC because I couldn't find one that worked for shows that don't have the actual intro right at the start of the episode.

[https://gist.github.com/VictorPascu/1886f97927f759ec45977556...](https://gist.github.com/VictorPascu/1886f97927f759ec45977556dad94274)

It causes not responding prompts because I couldn't find a good way to implement a sleep call on the checker, but hey, it works, and I'm lazy enough that I'm willing to burn processor cycles to not get out of bed.

</comment><comment><USER161> Watering my plants. Nothing fancy, just using an automatic watering system.

<comment><USER162> If you're talking outdoor plants, this thing is great: [https://www.rachio.com/](https://www.rachio.com/)

(If indoor, overkill.)

<comment><USER161> Well this is way too fancy (and expensive) for me. I am using a good old Claber system which costed ~ 40 euros with the hoses and drips: [https://www.easywatering.co.uk/claber-products/automatic- wat...](https://www.easywatering.co.uk/claber-products/automatic- watering/claber-drip-starter-kit-with-advanced-timer)

It works perfectly (watering the plants 1-2 times a day depending on the setting I set); I like its simplicity and easy of use!

</comment></comment></comment><comment><USER163> Lots of crazy complicated Outlook and gmail filters that block sales people, spam, and so on.

I wish I could do the same for my phone. Robocalls are out of control now. At least 4 a day, sometimes 20+.

</comment><comment><USER164> I've found that human help is a surprisingly cost-effective means of personal life automation. A cleaner comes by every week to clean our apartment; a company sends over a box of groceries so we don't have to shop; a nurse takes the twins out for their stroll every other day. All that put together doesn't cost more than $500 per month, and saves us literally dozens of hours. Next I'm looking for someone who'll take care of home maintenance chores. Wish me luck. :-)

<comment><USER165> Everything thats old is new again. Watch Downton Abby and Remains of the Day for additional tips on cost-effective personal life automation for the new techno-aristocracy.

</comment></comment><comment><USER166> Not too impressive, but I'm glad I have it - a cronjob runs each night and makes sure I shut my garage door. It is an open source python project to talk to the alarm system and a relay between the pins of a raspberry pi and and a wire I soldered to my garage door opener.

I also threw together an Alexa skill that I can tell goodnight - it closes the garage door, turns off some lights, turns off my hot water heater and arms the alarm.

Nothing large or fancy, but they get used and save me at least seconds a day!

</comment><comment> jim-greer I'm considering a filter that looks for emails from my parents with the words "computer" and "problem" and auto-replies "Did you try rebooting?"

</comment><comment><USER167> I love automating things!

\- Automatic cat food dispenser

\- Smarthome with HomeKit for lights, fans and stuff. Using motion sensors and time based automations a lot

\- Browser extension to automatically add Japanese words I look up to my Anki deck

\- scripts to automatically ocr documents in my Dropbox, run it through classification for automatic renaming and information extraction, then add it to DEVONthink for archiving. Then using a document scanner app to throw things into Dropbox

\- ifttt / zapier actions to add pull request reviews to my todo list, automatically translate Japanese messages to English with slack reactions, backup posts/pictures I am tagged in on Facebook, and and and

\- AppleScripts to generate random usernames, one time emails (with date and website encoded) and logging generations in DEVONthink

\- mini bots to normalize pull Request titles / descriptions, link them to JIRA tickets, assign them to the PR opener, transition to "in progress"

\- sieve Filters to automatically bounce expired emails, organize based on website, automatically redirect tracking emails to Deliveries, add flight emails to flight tracking apps

\- cli tools to clock me in, clock me out and warn me if I'm under my agreed hours at work

\- a lot of workflow workflows on my phone to do things like: navigate me home, find a Starbucks, and heaps of other smaller things

...and probably many more. In general, if I have to do something manually more than 3-4 times and I notice a pattern, I try to automate it

</comment><comment><USER168> My laptop buzzes loudly if I slouch or put my hands on my face. Minimal effort implementation; damianmoore/tensorflow-image-classifier, fswebcam, cron, aplay.

<comment><USER169> Can you open source this? Sounds helpful

<comment><USER168>
      fswebcam --no-banner capture.jpg \
      && classify.sh tf_files classifier capture.jpg \
        | head --lines 1 | grep --quiet '^slouching\b' \
      && aplay buzzer.wav

Polish to taste.

</comment></comment></comment><comment><USER170> I have automated payment of recurring bills. This was after paying a lot in interest reminder fees and at a period working to much. The billing automation makes me not worry if I paid bills or not.

We have sometimes automated household shopping. We order food online at a grocery chain and the next day it is delivered home.

Automation most of us use washing machine. Cloth drying. Dishwasher. These three automation saves a lot of time.

Cleaning of car through car wash at times.

</comment><comment><USER171> Robots wash my dishes and my clothes for me, keep my household boiler stoked, and manage the ambient temperature. I also don't ever have to refill lamps, or go around with a match each evening to light them.

<comment><USER172> I like my vault as well.

</comment></comment><comment><USER173> Not sure if this is much of an automation. But here is one app I recently did:

ANDROID POWER LOGGER: [https://www.youtube.com/watch?v=TfvtrlC62mI](https://www.youtube.com/watch?v=TfvtrlC62mI)

Above is an android app that does the power logging - at work I am able to find out if power has gone at my apartment so I can inform the electricity board and hopefully get it back up again. It turns out that the EB has a will of its own... :(

I re-did the above app with an android app called tasker - hence obviating the need for an android app. (Tasker and Join - both apps are paid and from the same developer)

Further I have some trivial apps based off of tasker. For e.g. I have an app that fetches my wallet balance. Here although the wallet app is capable of showing this...the experience is limited since, I have to do more than 2 clicks to get it. Hence, I made this information available in a single button click.

Another trivial app - is to track my upcoming train journey via tasker...(because Indian Railways web portal makes its very hard to know this particular thing).

There are others too in pipeline...

</comment><comment><USER174> I automated my weekly task, goal, and reflection tracking. I mentioned it a few months ago[1]. Now I have the barebones version running here[2]

[1] [https://news.ycombinator.com/item?id=16561343](https://news.ycombinator.com/item?id=16561343) [2] [https://natriumapp.com/](https://natriumapp.com/)

</comment><comment><USER175> Automatic driveway lights via motion sensor. Automatic house fan (when in saves me money on heating or cooling). Light assisted alarm, makes the bedroom lights 10% brighter a minute before the alarm goes off.

Pretty amazing how cheap things are these days, an arduino or Pi 0w and some relays can do quite a bit. Just bought a opengarage.io and considering the opensprinkler.

<comment><USER176> What did you use to accomplish the light assisted alarm?

</comment></comment><comment><USER177> Colored lights (LIFX) change color automatically during the day. mostly thanks to their scheduling, though the one in the foyer changes color based on both the time of day and on the temperature and rain forecast - during the day I can glance at the light and know how to dress. That happens with a Python script on my computer, which I should really move to the Raspberry Pi in the living room that I could leave on 24-7.

When I make a blog post, my WordPress installation automatically posts about it to assorted social media sites. And when I post a new page of comics I can make it automatically calculate the next day it would come out on, based on the schedule I've chosen (new pages Tuesday/Thursday, unless Shit Happens) and on how many pages are already in the queue, if any.

When I put together a book of my comics, I use a small AppleScript that runs over a directory and outputs a sequentially-sorted CSV of file names, which I can dump into an InDesign template.

<comment><USER178> I want to do something similar with my Lifx lights, they would glow green in the morning if the train is 10 mins away, they would glow red if its 5 mins away which means I wont be able to walk to the station and catch it.

<comment><USER177> My little light script is here if you want to see how it's hitting an a web API for the weather, then talking to the bulbs: [https://github.com/egypturnash/weatherlight](https://github.com/egypturnash/weatherlight)

It ain't pretty, and the menubar app part of it stopped working a while back, but it still does the job.

<comment><USER178> Thanks, will play with it this weekend.

</comment></comment></comment></comment><comment><USER179> Used a motor and a TP-Link smart plug to open bedroom curtain every morning, and close it in the evening. All bought on amazon.

</comment><comment><USER180> Oh boy, great question. Over the last couple of months, I've been writing apps for a single user: me. Here's what all I've built so far:

1\. A custom twitter client

I feel like tweeting whenever I get an insight so I post a tweet several times a day. But I whenever I used to tweet, I'd get pulled into an endless stream of notifications and timeline. So I wrote myself a client that does only one thing: posting of tweets. It has no timeline, no notification. In case you want to use it, it's hosted on [https://tweetaway.herokuapp.com/](https://tweetaway.herokuapp.com/)

2\. Site-specific search (along with Google)

I find great content on HN, so I built myself a stupidly simple website which opens up Google.com and site:ycombinator.com +keyword whenever I search. Using it, I've come across so many interesting threads that I would have never discovered. E.g. when I searched for entropy, I came across this gem: [https://news.ycombinator.com/item?id=14709896](https://news.ycombinator.com/item?id=14709896)

You can access it at [https://dualsearch.glitch.me/](https://dualsearch.glitch.me/) (you'll require a Chrome addon to modify Cross-origin headers because Google doesn't open in Iframe)

3\. I miss my cat at work, so I built a Chrome plugin that shows an icon of her + a funny one-liner [https://chrome.google.com/webstore/detail/orbit-the- cat/fjni...](https://chrome.google.com/webstore/detail/orbit-the- cat/fjnielflhjkmmdldlmhlomnlhkpheeid?hl=en-US&authuser=1)

4\. Last weekend, I wrote a twitter bot that retweets my old tweets that got many retweets (to resurface them in US timezone, because at that time I'm asleep)

<comment><USER36> This might be another good option for you!

[https://hn.algolia.com](https://hn.algolia.com)

</comment></comment><comment><USER181> Whenever my emacs starts up and the horizontal resolution of the display connected to the computer has changed, that fact is recorded to a file. That file is consequently a record of when my computer and consequently I arrived at and left my girlfriend's place (because the resolution of the monitor I use there is different from that of the monitor I use at home).

I also record the start and end times of any intervals during which I do not interact with my emacs. (I'd rather have a record of intervals during which I don't interact with my puter, but that would prol require me to write a kext.) This is useful for reconstructing when I left home and when I came back, among other things.

(One file records only intervals of idleness 49 minutes or longer. Another -- the one I refer to the most -- records intervals 7 minutes or longer. Another, intervals of one minute or longer.)

</comment><comment><USER182> Congratulations!

You have entered the questions: what have you automated into HN.

This response automatically reminds you of the times this question has been asked before:

Just kidding! I didn't actually automate this response, but someone should since this question will be asked many times and this is probably the most successful collection to date.

</comment><comment><USER183> I usually rewrite React.js components between function and class. This is tedious and at the same time a common task. Therefore I wrote a program that takes a javascript code as an input, and returns a converted code. It does so by parsing the input and walking the AST.

</comment><comment><USER184> Generating and sending recurring invoices for my side projects. Lambda + SES, set on a monthly CloudWatch schedule, done.

[https://github.com/forrestbrazeal/invoiceless](https://github.com/forrestbrazeal/invoiceless)

</comment><comment><USER185> I have automated a couple of metrics that I like to keep an eye on.

Credit card expenditure: since my old-school bank has no API of sort, I trigger via Tasker a daily sms to a bank number that replies with the amount left before I get to my CC limit. I then parse the sms (Tasker again, using JS) and display the amount that I have spent so far on the home of my mobile. This simple warning has dramatically helped me to keep my CC expenditure in check.

Goodreads yearly target: using a combination of Tasker, Goodreads API and some JS, I display the amount of pages I have to read each day in order to reach my yearly target of books (assuming an average length of a book of 250 pages).

<comment><USER186> Does this make you avoid reading very long books?

<comment><USER185> Not at all, it's just an average. Some books are shorter than 250 pages, other longer.

</comment></comment></comment><comment><USER187> After starting to do groceries via an online supermarket that delivers to our home, I found it a hassle to add all ingredients one by one every time. So I "reverse engineered" the supermarket app API via a proxy, and made a tool to order recipes. When ordering a recipe, all ingredients are added to the cart. We use the tool for almost one year and it saved us a lot of time. More info + source code (Elixir, ReactJS): [https://adrian-philipp.com/post/learning- elixir-second-side-...](https://adrian-philipp.com/post/learning-elixir- second-side-project-part1)

</comment><comment><USER188> Some minor things.

* Automated a "speed check" of my new internet service provider to see what kinds of speeds I'm getting throughout the day/week.

* As an MMORPG player, wrote a log file scraper to automate different events; when my avatar's spells fail or expire, when specific items I'm looking for are put up for auction, when my avatar is sent a private message, how long it takes to "zone" from place to place to check for network issues, etc.

* Wrote a public web site that tracks population of a particular game over time. Mostly to exercise some coding skills.

* Automated some email alerting that I couldn't otherwise manage with my calendar system(s).

</comment><comment><USER189> I have a website which aggregates different videos and articles. I used python and scrapy to achieve this goal. I run it on a $5 linode server and it generates 150€-200€ daily. My website is hosted on webfaction.

<comment><USER190> By aggregate do you mean plaggiate?

</comment></comment><comment><USER191> Daily backups (ARM board in my parents' garage plus rsync and cron, and vice- versa). I think the original script is over 10 years old now.

Reminders to do cleaning and maintenance, just cron emails to Trello.

Music alarm clock, this has been local control of Amarok (KDE) or a Python script for a Chromecast.

I intended to automate control of the central heating, which for some reason has a commercial grade control system in my apartment with an ethernet port. But I found the building is so well insulated, it hardly runs anyway. (Which I found by monitoring the state of the heating and making a graph.)

</comment><comment><USER192> Not directly on topic, but I am disappointed that window cleaning has not been automated yet. Window cleaning robots do exist, but they have a long way to go to become as good as automatic vacuum cleaners.

</comment><comment><USER193> Savings and index fund investing. I have an automatic bank transfer to my broker account every month and then I'm using Interactive Brokers API in a script that buys global equities index ETF.

<comment><USER10> Do you always put in market orders?

</comment></comment><comment><USER194> Probably the one I'm most proud of is my backup system. It includes:

\- My web server making automated backups of it's databases.

\- My computer automatically downloading and cleaning up the backups of my web server's databases.

\- My other computer making a copy of the important files on my computer (including, of course, website database backups).

\- My offsite machine making a copy of all of that in another location.

At the end of this process: My important personal files are currently stored on five hard drives in two physical locations. All of this happens without me really paying attention to it.

</comment><comment><USER195> I haven't done much compared to some of the others in this thread, but I've done a few home automation things.

Using Phillips Hue light bulbs with the Hue API, I created a PHP script that automates a number of lights in the house to perform different actions at different times of day. A light on my nightstand does a slow fade up for easy waking in the morning and then switches itself off about an hour later once my wife and I are long out of bed. There are also a lights throughout the house that flip on at sunset and then switch off at different times later in the evening, signaling, hey, it's time for bed. Yes, I could use a smartphone app (or apps) to do similar tasks, but having direct control in script form is so much easier. Changing times or adding a new bulb into the system is just a matter of editing an array in the script.

We also have a terrible time with water leaking in the basement. The sump pump we have does push out water fairly well when it runs, but it gets overwhelmed easily. Plus, the float doesn't always work correctly, so water can collect in the pit without the pump switching on like it's supposed to. So, using a combination of a TP-Link smartplug, a Wireless Tag water sensor, IFTTT and another custom PHP script linking to the TP-Link API, I now have a system that keeps water out permanently. This particular sump pump has a manual switch that allows it to run, bypassing the float. I leave the switch in the ON position and plug the pump into the TP-Link smartplug. Then I mounted the Wireless Tag water sensor in one of the basement drain pipes. If the water rises high enough to trigger the sensor, IFTTT triggers the TP-Link plug and the sump pump runs. Once the sensor no longer detects water, IFTTT again sends a signal to trigger the plug so that the pump stops. Along with this method, using PHP with the TP-Link API, I monitor weatherundergound.com every 20 minutes and if the current conditions show any form of rain, the script switches the pump on, lets it run for 10 minutes and then switches it off. Just long enough to keep the water level from rising too high. I connected all these water prevention items up a few months ago and haven't had even close to a wet basement since. (Oh and, why not just get a better, working correctly pump? The pump was apparently put in by the city years ago, long before I moved in, and is a cheap "torpedo cylinder" pump. Our plumber said it would take $thousands to tear up the basement floor to install a correct pump and the pump can't just be replaced because no one makes the type of pump any longer that would fit in the current pit. So going the automation route just set me back about $100.)

</comment><comment><USER196> Turning on my AC when I leave work. I recorded the "ON' IR signals for my remote, and hooked up an IR emmitter on the wall opposite the AC. A Tasker profile (useful for automating stuff on android) pings my ras-pi home server whenever I leave work in the evening, which turns on my AC, so I arrive to an already cooled room. I also have a clunky webpage to manually turn it on/off which I use if I'm not going home directly from work.

And then, auto-downloading TV shows/movies via Jackett+Radarr+Sonarr

</comment><comment><USER197> I still use facebook (minimally), but wrote a Grease Monkey script to auto- delete anything older than 90 days. This way I can still keep the Aunties/Parents etc happy with photos of the kids, but that it only lives on there a short while.

I also wrote a program to pull down all of my favourite comics as they were published. But I can't say I really read them offline much. It was probably more the collector in me wanting a copy, rather than having to go to the site.

Other than that, I think all of my automation is is my work-life.

</comment><comment><USER198> Cooking, I built a sous-vide machine that cooks for me:

[https://github.com/aguaviva/SousVide](https://github.com/aguaviva/SousVide)

</comment><comment><USER199> I'm currently working on a website to use machine learning and game theory to allocate chores in a way that minimizes overall pain. Should have a public demo in a few days.

</comment><comment><USER200> I frequently keep transferring money back home (overseas). Keeping a tab on the exchange rate became quickly annoying.

I built a GitLab pipeline that fetches the current exchange rate thrice a day. Each job pushes result to a IFTTT webhook that I integrated with their Telegram service integration. I then added the @ifttt bot to a Telegram group of folks who are also interested in this.

Now, thrice a day, I get notifications about the actual exchange rate. Works like a charm.

</comment><comment><USER201> I've build a web scraper + web UI in order to create direct links to spotify albums/EPS based on specialized (and well curated) music shops which i use to keep up with new releases, one of them being boomkat.com. I got the idea because i was spending a lot of time on public transport trying to tab + search between the music shops various websites and the spotify app while being on my phone, which I found quite frustrating.

</comment><comment><USER202> Love personal automation.

\- found a service where in the morning they bring 3 meals + 2 snacks, everything you should eat for the day; especially during stressful times, it's so so good not have to think about food; you just eat what you've been given; \- I no longer trade cryptos myself, I have Shrimpy, HodlBot and Iconomi to do that for me; this may not be "personal" but it saves me at least 10 hours every week, and the performance is a little better than my dumb self; \- I found a shirt I adored, so I bought a bunch of identical ones; this in addition to having identical socks and identical underwear makes it that I only have to choose&match my pants and shoes; and mine kind of all match; saves headspace; \- I never read or watch news; only read headlines in newsletters I trust; saves time and headspace; \- I used Github Probots to automate A LOT of replies issues/PRs; I consider this "personal" because it's tied to my hobby;

In addition, for the past 6 months I've turned a bunch of things I was doing / wanted to do into emails. I've built [https://schedulethatemail.com/](https://schedulethatemail.com/) for that sole purpose, help me do the stuff I wasn't doing, or that was repetitive (shameless self-promotion, I know). Here are some of the personal things I've automated through email, though some are now canceled:

\- I used to forget/postpone seeing some friends I really care about, now I automatically email them to catch up (different intervals 1 month, 2 months, 3 months, 6 months); some have no idea it's automated :-) \- I always wanted to write a journal, but never stuck to it; now I receive an email from myself each day with a few questions, 8/10 times I answer; works because I use my email as my todo list; push notifications don't work for me; \- I have this poem, this mantra, this whatchamacallit that I like to read every day, to remind myself of who I am, my values and principles; especially when I interact with people I don't like, every day, it helps me stay myself, and not change in a bad way; works because I use my email as my todo list; \- I automatically email my landlord, accountant, etc to tell them I've done something, or I'll do something within 24 hours, before they even ask; self- applied peer pressure - I'm on time most months now;

I had more, but I forget...

</comment><comment><USER203> I am working on a tax loss harvesting tracking and reminder app.

For index funds in my taxable account, it tells me when there is a loss/savings opportunity that is over whatever threshold I give it. This way I get email reminders if there is an opportunity to save a few hundred or thousand dollars every time the market dips.

This is a bit more versatile than just a reminder for certain prices because I am continually reinvesting at different cost basis.

</comment><comment><USER204> I run a little web server on my computer to be able to send a space via Google Home so I didn't have to get up to start and stop movies.

</comment><comment><USER205> I wrote a Chrome plugin to double check the price per kg for online groceries as the values provided by my supermarket are basically fiction.

<comment><USER110> Are the $/kg incorrect? So you take the price and divide by weight?

<comment><USER205> Yes, they are often incorrect and appear to be manually entered and not updated to reflect price changes as the system does not seem to have a field for item weight.

Yes, and normalize it to price per kg. The product weight needs to be extracted from the item title or description in many possible formats (100G, 100 g, 100 grams), the price location and format however is uniform.

</comment></comment></comment><comment><USER206> A daily email digest of changes to a google calendar, so my partner and I can use a shared calendar and keep track of what each other is adding without being emailed for every tiny change. It runs as a serverless Azure function, and has required no maintenance in a year, which is more than I can say about Outlook's ical integration which breaks every few months.

</comment><comment><USER207> Deleting the empty "Email attachments" directory that OneDrive keeps making inside my drive. Systemd timer unit does the trick.

<comment> yjftsjthsd-h Wouldn't it be better to use inotify than a timer? I forget if systemd supports it or not, but it's simple enough independently: [https://superuser.com/questions/181517/how-to-execute-a- comm...](https://superuser.com/questions/181517/how-to-execute-a-command- whenever-a-file-changes)

<comment><USER207> Maybe, but this works. Sometimes that's enough.

</comment></comment></comment><comment><USER208> With tasker - mqtt - openhab -LIFX bulbs I automated some things.

\- Auto puause kodi/lights change color on incoming call.

\- Entrance lights turn on when phones connects to wifi.

\- Little flash when my wife's phone connects to wifi.

\- Little color flash on whatapp notifications / incoming calls.

\- Phone silences when sees my workplace wifi.

\- Some speech recognition to change the lights.

Todo:

\- Change light color in the morning if rain is expected.

\- Plants dry alarm

\- Preheat 3d printer with voice

</comment><comment><USER209> I automated work reimbursements.

I drop pdfs in a dropbox folder from any device, and at the end of the month, my home computer combines the pdfs, attaches it to an email and sends it off to accounting. I could have it autodetect which invoices from my email match work expenses, but the hard-to-automate part is needing to upload paper receipts.

</comment><comment><USER210> Checking the status of my visa application.

<comment><USER57> Finland has a central population index, and makes various statistics available online. For example you can carry out a name search to see how many people are called "Steve".

When my son was born I wrote a script which checked the index every day and raised an alert when the number of people in the country with our surname increased by one.

That was the first official recognition that he was "real", so I had a before/after screenshot which was cute to see.

</comment></comment><comment><USER211> I use Custom Voice Commands to:

\- tag photos with a phrase for retrieval by voice later

\- manage lists by voice (e.g. shopping, to-do, bucket lists)

\- manage other notes to myself by voice (e.g. reminders)

\- link specific web pages to voice commands like voice bookmarks

\- smarthome automation by voice via Alexa or IFTTT

I also share my voice commands with those in my family who are less technically inclined.

</comment><comment><USER212> Turning on my lights slighly dimmed and playing a Spotify playlist for these special situations :)

[https://simon-schraeder.de/posts/andchill-building-alexa- ski...](https://simon-schraeder.de/posts/andchill-building-alexa-skill/)

Next step: Automated wine dispenser :)

</comment><comment><USER213> We bought a house a couple years ago where all the closets were totally empty, not even a single basic rod. I wrote an app that allowed me to design my closets and it would spit out exactly what to buy from Elfa. This enabled us to save a lot of money over choosing a preconfigured Elfa package.

</comment><comment><USER214> I use [https://torrent.express/](https://torrent.express/) to integrate BitTorrent resources over HTTP. This helps with streaming, downloading and various programmatic use cases which are all better supported with HTTP.

</comment><comment><USER215> My AWS rep gave me one of their IoT buttons when those were first a thing. I wrote a couple of lambdas for it. One click would send an email to my boss telling him I was taking a sick day, double click would send him an email telling him I was running late.

<comment><USER216> Out of curiosity, how often are you using them?

<comment><USER215> I don't use it at all anymore. But probably used it once or twice a month back then. If I woke up late I'd double click as soon as I got out of bed, or if I was having one of those days where I just cbf going to work I'd do the single click.

It took barely any time to set up a lambda to send an email, and I was mostly doing it to entertain myself with the novelty of it. But on the few occasions when I did, pushing a button and then going back to sleep instead of getting up for work was pretty sweet.

<comment><USER49> I've never heard the shorthand cbf before but I can guess what it means :)

</comment></comment></comment></comment><comment><USER217> Retaining what I learn through Spaced Repetition Software [https://trevordmiller.com/blog/spaced-repetition- software](https://trevordmiller.com/blog/spaced-repetition-software)

</comment><comment><USER218> I used this python script to automate filling out a google form for 1000 times xD [https://github.com/vedipen/AutomateGoogleForm](https://github.com/vedipen/AutomateGoogleForm)

</comment><comment><USER219> I just automated my computer backups so they would email me the results: [https://github.com/Darkle/borg-backup-and- email](https://github.com/Darkle/borg-backup-and-email)

</comment><comment><USER220> I cannot believe there isn't a single mention of coffee or HTCPCP here...

<comment><USER221> The OG of automation

</comment></comment><comment><USER222> I'm a qa tester. Just wrote a reactjs application that takes test case steps and parameters as the input and spits out fully written test cases in .csv format as the output. Has saved me weeks of work.

<comment> martin-adams I did a similar thing using Excel. Just fill in the combination of parameters to test and it spit out the test code.

</comment></comment><comment><USER223> I try to simplify / reduce deeds as much as reasonable.

An _healthy_ dose of Minimalism will get you more peace of mind than automation. Automation might break at some point and you need to be ready to fix it.

<comment><USER224> Exactly this. These family calls because home automation gone mad when you are not around... the simpler the better.

</comment></comment><comment><USER225> All the life staples like toilet paper and pet food are on a subscription service. I can't remember the last time I had to think about it. Amazon subscribe and save and Chewy are great for this.

</comment><comment><USER226> 8 months ago: [https://news.ycombinator.com/item?id=15451442](https://news.ycombinator.com/item?id=15451442)

</comment><comment><USER227> Window shades that go down at sunset automatically. Sounds like an easy manual task, but makes a big difference when automated, especially if you have many windows.

</comment><comment><USER228> Bills. Everyone takes funds out when they want :)

</comment><comment><USER229> Parsing my monthly credit card bill (PDF), categorizing, and displaying statistics.

<comment><USER230> Ooh, I've been looking for something like this. Could I ask how you parse your bills? Did you just hack together your own script or did you find a parser online? I tried doing this several times but it seems rather painful to get right since the formats can differ and since copying text from PDFs can sometimes ignore the table layouts and whatnot.

<comment><USER231> There are no general solutions, unfortunately. Every PDF-generating system will do things differently, so parsing them must be custom for each type. Generated PDFs are usually very systematic, though, and PDF commands are text (compressed). You can uncompress with PDFTK:

      pdftk input.pdf output output.pdf uncompress

Then try grepping or using whatever tools you like (there will be binary parts of the file still, like embedded fonts and bitmaps).

<comment><USER230> I just tried it on a bank statement and the _only_ text I see is the PDF commands (stuff like "/MediaBox [0 0 612 792]", "/F1 125 Tf", and whatnot). There's no actual PDF content text that I can find, whether it's my name, the bank name, or anything else.

<comment><USER231> There are a few possibilities. The main PDF commands for text are "Tj" and "TJ", so you can try searching for them. Text commands must also be between "BT" and "ET". Maybe a bit harder to search for are the other two text commands: ' and ".

TJ is "Show text, allowing individual glyph positioning" which means strings are not necessarily in the PDF as the strings themselves, but have glyph positioning info mixed into them. This is the most common issue I've come across.

Another possibility is that the fonts have been combined/compressed/butchered, so that they're not using ASCII/Unicode (this can sometimes save space by combining bits of multiple fonts. Searching for Tj/TJ/'/" should tell you if that's the case. If it is, technically there should be a translation table somewhere in the PDF file (so that clipboard operations work in PDF viewers). Look for CustomEncoding, I think.

Particularly bad PDF creation libraries can put characters in one by one.

Characters (alone or in strings) can also be in there as octal or hex.

Finally, particularly obnoxious libraries can do it without text commands at all, but convert everything to vector drawing commands, or even worse, bitmaps.

I couldn't remember CustomEncoding, and this came up when I searched. Seems helpful: [https://stackoverflow.com/questions/29467539/encoding-of- pdf...](https://stackoverflow.com/questions/29467539/encoding-of-pdf-text- string)

<comment><USER230> Interesting, thank you for the explanation! I am indeed seeing a lot of Tj's and BT/ET's, but not any TJ's.

Immediately preceding the Tj's are a lot of non-text characters that don't look like anything human-readable. Immediately following them are other other commands (Td, Tf, rg, k, etc.) which are preceded by numbers. There are no CustomEncodings. So I guess this means I can't really grep anything?

<comment><USER231> Sounds like it. The T commands are text related and rg and k are setting colour in RGB and CMYK. You may be able to figure it out by changing a colour, then looking at what is suddenly bright red or whatever you set. Or by changing the string preceding Tj. When editing, make sure you don't change the length of any objects (use space to pad) as there are hardcoded offsets in a table, usually at the end.

The PDF specification, while long, is pretty readable for this kind of thing. You can download the 1.7 version free from Adobe. Appendix A has a table of commands.

<comment><USER230> Thanks! This was cool info.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER232> Basic toiletries and other consumables using Amazon Subscribe and Save.

</comment><comment><USER233> I sometimes am on autopilot mode throughout the day

</comment><comment><USER234> Dish washing. I bought a dish washer and that machine gives back at least half hour of my life every day. I don't know how I lived without it. (disclaimer: I cook at home)

<comment><USER235> Second that. My first dish washer came with the house I bought. Got hooked on it so badly that I had a mild panic attack when it broke down. I didn't even try to fix it (which would have taken time) but bought a new one and had it delivered the next day.

</comment></comment><comment><USER236> thermomix + cook key = automated both our cooking schedule and shopping list. Easily worth the money.

</comment><comment><USER237> accounting, expense tracking, tax loss harvesting, liquid investment rebalancing, taxes

<comment><USER238> Can you please elaborate on how you do this? I've been looking for ways to automate that.

<comment><USER237> I write my all own tools, currently private. To get the data I use a combination of screen scraping and Quicken OFX gateways. Everything else is basic coding and accounting. I have a CPA that advises me on tax rule updates yearly and signs my return.

</comment></comment></comment><comment><USER239> I try to wire my brain to do routine tasks without having to give many thoughts. Besides the usuals where electronics, gadgets, and computers are involved, I'm more interested in the ones that I cannot use machines but my own body and brain. My wife believes that I know almost everything where they are and will likely be -- I just define a pattern based system of keeping things -- think massive CSS with Classes/IDs all over and how I could quickly navigate without much effort (before Google Chrome Dev Tools and all the niceties we have these days).

Here is an example. Every morning, I have a routine where I prepare my daughter for school. I don't even have to prepare the night before.

I wake up at 6:00 AM by a soft alarm. I'm kinda beginning to wake up on my own more often these days. I go to my daughter and try to wake her up but I also know she would reply, "Give me few more minutes, please." "Ok, 5 minutes." I then line-up her school uniform by the edge of the bed -- shirt and skirt at the bottom, then the underwears on top.

I flip the light switches on from the hallway all the way down to the kitchen liting them up to make it full daylight when she wakes up. I quickly check her school bag, fill-up the water bottle, and line-up all the tiffin materials at the kitchen counter. Then pour out the milk/juice with egg/bread for her and keep it ready. When all that is done, I put the socks that I picked up while preparing her uniform, in her shoes and is kept ready by the door.

I start the tea going. To the Bathroom, brush my teeth, wash-up, dried up. Then, I go wake up my wife, "Tiffin ready to be prepared." I go to my daughter, "Times up, very late." I lift her up and show her to the bathroom door. She would have slept for about 15min instead of the 5 but that is what I intended.

Wife goes to the kitchen and cooks, prepares the tiffin, packed it and keep it in the kitchen counter. She then prepares the milk formula for our younger daughter, give it to her (she holds it in her sleep and drinks). Wife goes back to bed. I go in and finish the tea which the wife had adjusted for it not to spill over.

Daughter comes out of the bathroom, get dressed, comes out of the room and drinks/eats her breakfast. During this time, I'm in my study room, logged into the computers, get the emails flowing in for me to look later. I finish my first tea of the day.

Escort daughter to her school bus.

This is one routine that has worked really well for the family with little to no adjustment or breaks. That one hour from 6 to 7 AM in the morning all goes without much thought but more from my muscle memory, following patterns of where things are kept and where to keep them.

I hope I can call this automation.

</comment><comment><USER240> Cooking - grandma does it pretty well. I just set timers

</comment><comment><USER241> Happy birthday to my friends using text.

</comment><comment><USER242> Nothing.

</comment><comment><USER130> Autohotkey is capable of doing some remarkable things (windows only sadly).

Here's a cool "launcher" project: [https://www.youtube.com/watch?v=Jv2LAqkmd1c&feature=youtu.be](https://www.youtube.com/watch?v=Jv2LAqkmd1c&feature=youtu.be)

[https://github.com/plul/Public-AutoHotKey- Scripts](https://github.com/plul/Public-AutoHotKey-Scripts)

With Pulover's Macro creator, you can literally record actions with mouse and keyboard, get the output in AHK script and tidy it up. You can trivially recognise pixels, meaning you can tell your mouse to click x,y coordinates or a certain button (for when there is no API for something, for example)

[http://www.macrocreator.com/](http://www.macrocreator.com/)

Some genius made a virtual workspace for windows using AHK: [https://github.com/octalmage/mdesktop](https://github.com/octalmage/mdesktop)

Some random uses I have for AHK:

* trigger today's date in dd.mm.yy (or dd-mm-yy, or any combo you like) with a macro, useful for when you drafting documents and need to quickly insert the date

* lookup the train schedule from work to home with a keypress

* shortcut to German characters on an EN keyboard

* paste and translate to/from english with dict.cc and leo.org in separate tabs

* "sig" expands to my email signature

* shortcuts to colleagues' obscure foreign names, which I always misspell in emails (saves embarrassment!)

* macro to run common applications like notepad, chrome, powershell (obvious use case)

* macro to open an excel to do list

* Quickly switch between headphone types on a work PC (USB headphones and regular headphone jack needed some fiddly settings to be changed to switch between them) ([https://autohotkey.com/docs/commands/SoundSet.htm](https://autohotkey.com/docs/commands/SoundSet.htm))

* Tool for popup window, can be used to display almost anything, e.g. your list of shortcuts in case you forget them! - [https://autohotkey.com/boards/viewtopic.php?p=100953#p100953](https://autohotkey.com/boards/viewtopic.php?p=100953#p100953)

* Huge list of ideas here: [https://github.com/ahkscript/awesome-AutoHotkey](https://github.com/ahkscript/awesome-AutoHotkey)

AHK has a huge amount of cool projects on the forums, and it runs like lightning since it is very resource light.

<comment><USER243> AutoKey [https://github.com/autokey/autokey](https://github.com/autokey/autokey) for Linux is pretty similar, though perhaps not as popular and well documented as AutoHotkey. It's simple enough that anyone can use it to make text-expansion macros, but it becomes more powerful if you're proficient with Python.

</comment></comment><comment><USER244> Entropy.

</comment><comment><USER245> For myself, I've built a web-based task manager. Nothing fancy, apache, PHP and JavaScript. It's tied into a number of the systems I have running at home, such as a similarly built budgeting platform that handles all our money and sends me a biweekly report of all the payments I need to schedule, and any checks I need to write (usually just rent.)

I've also setup some things for the wife, who's an artist on Patreon, where she uploads works she's finished to a given folder and my machine grabs them, resizes them to whatever she needs for different purposes, and emails them to her. It also applies watermarks depending on the appearance of it (light vs dark) and will also add it to her Jekyll website, commit the new image to the git repo, build and push it live with no interaction unless something blows up along the way (122 days since last workplace accident)

I also have a bunch of LED ropes, night lights, and our bedroom TV setup on smart plugs that are turned on and off automatically, but I don't know if that counts since I didn't build it, I just bought them.

</comment><comment><USER246> Bill pay?

<comment><USER247> Are you asking the OP if they automate bill pay or are you trying to say you use automatic bill pay?

</comment></comment><comment><USER248> Finances are almost entirely operationally automated. Most bills autopay from credit cards which automatically pay their statement balance every month. Those that can't pay from a credit card(mortgage and one insurance) pull directly from our bank account.

Reporting is semi automated. I use Tiller to pull transactions into a google sheet and then use a ruby script to turn that into Ledger transactions that feed into my accounting system.

Investments aren't automated because the amounts are different every month but I have a script that tells me how much is available for investing.

Other things we've "automated" are household tasks like mowing, cleaning, and snow removal. Other people do that stuff on a schedule and bill us.</comment>