Hacker News new | ask | show | jobs
Ask HN: If you could automate one thing you do often at work, what would it be?
49 points by qrt 2367 days ago
Hello HN!

We're currently working on a work automation platform. We have a few capabilities that we're building to help you do your work better. For guidance it would be super helpful to hear directly from the HN crowd :)

Please do comment below about one thing you'd like to see automated. Would super awesome if you could complete this quick 1-min survey: https://bit.ly/2MjN6fd

Many thanks!

12 comments

It's not fully automate, but I frequently find myself having to do a lot of one off shell tasks, which are not quite worth the effort of writing a bash script. While some command is running I would like to start enqueing the next command.

Technically I could write one command like this and go get a coffee:

cd dir1 && task1 && cd ../dir2 && task2 some arg && etc

But then the task would only start executing when I'm done typing all commands... I want it to start task1 right away and then tkae my time to enter the rest...

Might be worth it for you to just get better at bash. Use background jobs and "wait":

    do.sh stuff &
    wait; do-other-stuff.sh -123 &
    wait; cd ../; do-something-else.sh
It'll run the first command, when it's done it'll move on to the next one, etc. Use "jobs" to see jobs. Further reading: https://tldp.org/LDP/abs/html/x9644.html
Just use tmux and split your pane
I discovered ‘tsp’ last year and it worked great.
How about run-parts?
Acquiring knowledge. Auto flash card question generation based on the things I read, listen and watch.
We have many software programs that need to be run in sequence to transform a set of data from one form (on the order of tens to hundreds of GB) into a bunch of different output file formats. At some points the tools need to be run linearly, and at other points there are a few tools that need to be run in a branched fashion and then their outputs are combined in some complicated way using the next tool. Some of these tools take on the order of up to days to run, so an improper configuration due to human error loses time (pretty common given the complexity of work). Often the time lost is on the order of days.

These tools need to be configured in certain ways depending on the business needs.

Having a nice way to look at the dataflow as a whole, configure these tools on a global level within some framework, and be able to nicely distribute the work on our internal server farm would be worth a good bit of money to the company.

This is a common problem and for one you'll find many different solutions.

I used Apache Airflow some years ago to do exactly this. It's pretty good. You build a workflow of tasks (in Python) and set a schedule of how often you want it run. It then runs these tasks on any number of machines that you run the Airflow worker on to orchestrate the running of whatever it is you are trying to do.

If a task fails it can notify you; and if you "miss" a run it can backfill it provided your toolchain understands the concept of time. Very useful for hourly/daily feeds that, if you miss one, the system can go back and retry it just for the slots it missed.

Comes with a nice UI, too.

I’m glancing at the documentation, and came across this line:

“Airflow is not a data streaming solution. Tasks do not move data from one to the other (though tasks can exchange metadata!)“

Many of our tools take on the order of 5-200gb of data and do either some transformation (which gets passed along to the next tool; similar size, possibly after another automated validation step) and/or validation (whereby this particular branch of workflow ceases).

The automated modules we have are self-contained; each task in our case is “data + config parameters in, data out”, then use “data out” as “data in” after choosing configuration parameters for the next step.

Would this still be a good usecase — am I misunderstanding what the above quote is about?

Airflow does not do the work itself; you write stuff in Python, so you _could_ make it do it, but it would be the wrong way forward for large volumes of data if time is of the essence. It merely calls out to stuff that does --- such as other tools that do the processing, and so forth.

One example is perhaps a small python script (run by airflow) to pull the files you need to process; pass them to in a downstream task that runs a shell script; which takes its output and in turn does something else entirely.

did u look at aws batch maybe
Refactoring. I’m sure there could be more advanced refactoring available than rename and extract method.
Figure out all the things I need to read and summarise it for me... tab switching, reading, skimming take up a lot of my time

Many channels on slack + email threads + conversations on DMs

heres a potentially easy one: create a tool that behaves exactly like outlook rules to the user but can be applied to gmail

I spend too much time looking at email and can’t seem to get the hang of the gmail labels system

A possible solution is: coarsely label the incoming mail, or just label everything incoming if coarse label is not possible.

In Google Apps Script, fetch all mail with that label, process as wanted, like sending replies, moving, deleting; & then remove the label.

Not related to software.

I have to feed and give fresh & vitamin water to birds almost everyday. I wish, I could automate that somehow.

Does code review and keeping up with code reviews count? I find that I can review PRs from multiple teams in a day and keeping up with them all of them is a lot of effort

If there was a bot that kept up with my work and just summarised all the progress since my reviews ... that would really be super useful and I’d likely do more reviews

I believe GitHub will show a changes since last review view after you review code, new changes are added, and then you return. What software are you using?
Looks like Bitbucket Server got this in version 4.11. I gotta ask my work to upgrade! https://www.atlassian.com/blog/bitbucket/new-features-bitbuc...
This might be helpful?: https://pullpanda.com/
Finding something to join meetings in my place, and record anything I was needed for, if anything.
Which video conferencing software do you use?
I'd like to build a robot to check if a colleague is sitting at his desk or not.
Repeated tasks, low structure but high effort:

- Finding files that are relevant to my work

- Meetings / stand ups

- Creating status reports and communicating progress with work

I often find that tasks I do repeatedly is often not automatable due to high contextual information that is required to do so

Meetings / stand ups

We have recently automated stand ups, so the what I did yesterday/what I will do today/blockers are all pulled from Jira so now we only discuss major sprint goals and how to unblock any blockers...this reduces the meeting to just the important stuff

Doesn't that completely negate the point of a stand up?

A stand up is already short and down to "the important stuff" and it is a key part of the process that the people attending express themselves and listen.

How often is Jira up to date for you? I've often seen that standup can be a chance for folks to realize they didn't update a task. We'd have Jira open and just do live updates to sync it.
We use git hooks to tie issues and commits together. I think Azure DevOps and some other PM software also does this without hooks.

Basically our team can't complete an issue without a commit, and a commit message won't be accepted without an issue tag.

(Issues can also be closed as "won't fix" without a commit of course.)

nice

Does this mean keeping all status up to date in Jira? would you mind sharing how you do this?

> would you mind sharing how you do this?

Not GP and not my personal experience, but I have a friend whose company has a non-developer do this as part of their full-time responsibilities. They privately check in with every developer at the end of every day.

We have really pushed the "Jira as the source of truth" mantra. Git commit hooks keep Jira up to date as far as moving tickets into "ready for review" when the PR is submitted, and into test when the PR is approved. The only manual cases are when a ticket is moved into "in progress" or blocked, otherwise it is assumed yesterday you worked on the last ticket you had in progress, and today you will continue it
Finding files seems like we'd have found a good solution by now. What software do you use?
you will find numerous examples of what can be automated on this thread https://old.reddit.com/r/AskReddit/comments/ebp6ak/there_is_...
This is mostly a thread of things computer-illiterate people don't realize can be automated, like selecting multiple rows before copying. I think Hacker News is at another level.