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
    Facebook Open Graph META Tags

    It's no secret that Facebook has become a major traffic driver for all types of websites.  Nowadays even large corporations steer consumers toward their Facebook pages instead of the corporate websites directly.  And of course there are Facebook "Like" and "Recommend" widgets on every website.  One...

  • By
    6 Things You Didn’t Know About Firefox OS

    Firefox OS is all over the tech news and for good reason:  Mozilla's finally given web developers the platform that they need to create apps the way they've been creating them for years -- with CSS, HTML, and JavaScript.  Firefox OS has been rapidly improving...

Incredible Demos

  • By
    Send Email Notifications for Broken Images Using jQuery AJAX

    It's usually best to repair broken image paths as soon as possible because they can damage a website's credibility. And even worse is having a user tell you about it. Using jQuery and PHP, you can have your page automatically notify you of broken...

  • By
    Implement jQuery’s hover() Method in MooTools

    jQuery offers a quick event shortcut method called hover that accepts two functions that represent mouseover and mouseout actions. Here's how to implement that for MooTools Elements. The MooTools JavaScript We implement hover() which accepts to functions; one will be called on mouseenter and the other...

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!