ding!

By  on  

I've been working with beefy virtual machines, docker containers, and build processes lately.  Believe it or not, working on projects aimed at making Mozilla developers more productive can mean executing code that can take anywhere from a minute to an hour, which in itself can hit how productive I can be.  For the longer tasks, I often get away from my desk, make a cup of coffee, and check in to see how the rest of the Walsh clan is doing.

When I walk away, however, it would be nice to know when the task is done, so I can jet back to my desk and get back to work.  My awesome Mozilla colleague Byron "glob" Jones recently showed me his script for task completion notification and I forced him to put it up on GitHub so you all can get it too;  it's called ding!

Once you have ding, you can do cools stuff like:

# ding somecommand
ding docker-machine start default
ding ./start-local-environment
ding ./refresh-environment

If the task completes successfully, you'll hear a positive sound; if the command fails, you'll hear a more negative sound -- a simple, yet useful and meaningful detail.

There's not much to explain except that ding is awesome and should check it out!

Recent Features

  • By
    Interview with a Pornhub Web Developer

    Regardless of your stance on pornography, it would be impossible to deny the massive impact the adult website industry has had on pushing the web forward. From pushing the browser's video limits to pushing ads through WebSocket so ad blockers don't detect them, you have...

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

Incredible Demos

  • By
    Skype-Style Buttons Using MooTools

    A few weeks back, jQuery expert Janko Jovanovic dropped a sweet tutorial showing you how to create a Skype-like button using jQuery. I was impressed by Janko's article so I decided to port the effect to MooTools. The XHTML This is the exact code provided by...

  • By
    “Top” Watermark Using MooTools

    Whenever you have a long page worth of content, you generally want to add a "top" anchor link at the bottom of the page so that your user doesn't have to scroll forever to get to the top. The only problem with this method is...

Discussion

  1. I wonder if an even better solution would be to use macOS’s “say” command since this is macOS specific script and “say” is always available. That way you wouldn’t have the requirement of keeping those two .mp3 files in the directory as the script.

    It’d be awesome if he made this brew installable as well :)

  2. Scott Rippey

    What a great idea! I’ve been using the say command as an audible indicator when my Docker builds finish, but this is way more convenient, and even reports errors!
    So here’s an alternative, which I put in my .bash_profile, and has no dependencies (other than macOS):

    ding() {
    	EXIT_CODE=$?
    	if [ $# -gt 0 ]; then
    		time $@
    		EXIT_CODE=$?
    	fi
    	if [ $EXIT_CODE = 0 ]; then
    		say Hooray
    	else
    		say We\'ve had a problem
    	fi
    }
    
    

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!