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
    From Webcam to Animated GIF: the Secret Behind chat.meatspac.es!

    My team mate Edna Piranha is not only an awesome hacker; she's also a fantastic philosopher! Communication and online interactions is a subject that has kept her mind busy for a long time, and it has also resulted in a bunch of interesting experimental projects...

Incredible Demos

  • By
    MooTools Clipboard Plugin

    The ability to place content into a user's clipboard can be extremely convenient for the user. Instead of clicking and dragging down what could be a lengthy document, the user can copy the contents of a specific area by a single click of a mouse.

  • By
    Using jQuery and MooTools Together

    There's yet another reason to master more than one JavaScript library: you can use some of them together! Since MooTools is prototype-based and jQuery is not, jQuery and MooTools may be used together on the same page. The XHTML and JavaScript jQuery is namespaced so the...

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!