A WorkLife FrameWork™ Blog

Almost nothing to do with A WorkLife FrameWork, but time will tell...

Posted on: Wednesday, July 11, 2007 at 03:12 AM UT  Notebook Version

Today I read Chris Carlson's Wolfram Blog posting about implementing an analog clock in Mathematica 6.

One of the main points of Chris's post was the comparison of the trials and tribulations that one has to endure in implementing such a thing in MatLab contrasted with the elemental straighforwardness of taking on the same task in Mathematica.

Chris posted a side-by-side of the two approaches. Of course it's striking.  But what I find even more striking is the simplicity with which one can modify the Mathematica code, as well as how one can use the code that Chris wrote as a starting point—a seedling—for an application of greater and greater sophistication.  I will give my example below, but the point that this can drive is that the process of developing applications in Mathematica is also vastly simpler and self-illuminating.  Chris does indeed comment on this, but I just feel like emphasizing this point somewhat more. Start from something and then continue to build on it.  And the iterative process of doing this in Mathematica is completely natural, transparent,  familiar—at least to me and, I suspect, to folks that come from a background of creative discovery in the sciences.  It's just the way one naturally explores.  Watch kids, they explore this way too...

So, starting with Chris's code, the first thing that I wanted to do is to make the clock smaller and to shrink the font as well.  My ultimate intention was to create a small window containing a small clock that I could leave open to keep track of the time (yes, there are gazillions of applications like this, but I was having fun, and the morning coffee wasn't ready yet).  Then I decided that it would be really annoying to have the clock ticking.  So I added this along with several options to control the ticking.

The final result (really, intermediate, since I am sure that I will have another go at it when I am in a future state of pre-coffee stupor) is this code:

Then just execute the following to get your own pizzicato clock

Or, for a slightly different effect:

To show the TickTockClock in-line rather than in a seperate window, just execute

And, of course, when you open this notebook in Mathematica 6 the clock will be working, rather than the Gif that the blog version of this posting displays.

It would be quite easy to turn this into an alarm clock which would play anything you program it to as its alarm. Or perhaps create an option to make it a Looking-glass Clock. But, I have other things to attend to, such as the continuing development of  A WorkLife FrameWork...

Chris says that creating his analog clock took him about five minutes.  I'm just not that fast, but I am also still coming up to speed with Mathematica 6, and he's one of the people who "wrote the book."  For me, starting with Chris's code, I took another 20 minutes to come up with the code above. Then, even though I didn't want to, I had to go attend to other things.  I acruued another 10 minutes making sure that the usage messages were in place for this blog posting.

I suspect that this next 20 minutes of development would have taken a bit more relative effort in MatLab.

Somewhere in between the 20 minutes and the 10 minutes I had a cup of coffee and lived out the middle of my day...

But what does this have to do with A WorkLife FrameWork?

So what does this have to do with A WorkLife FrameWork? I think that the main point is that A WorkLife FrameWork would not have been possible if it were not for the powerful self-illuminating way that Mathematica code can be created, and the ease with which one can go through the process of coding by creative discovery.  I was reminded of this experience "in the small" as I started to play with Chris's bit of code and add some additional ideas to it...

My experience "in the large" is the several thousand hours I spent (most of it enjoyable!) creating and coding A WorkLife FrameWork. My process of adding features and refining what is already in A WorkLife FrameWork feels exactly the same as the experience I had with Chris's code.

Notebook version....

You can download a Mathematica 6 notebook version of this blog post from the "Notebook" link just below...

 Recent Posts Blogged From A WorkLife FrameWork 8/4, 2009; 8:53 PM: Documenting Screencast11/19, 2008; 11:28 AM: Mathematica 7 and A WorkLife FrameWork 3.011/17, 2008; 3:51 PM: A Notebook Tagging Tutorial4/18, 2008; 3:41 PM: The Mathematica Documentation Center3/2, 2008; 4:01 PM: Security Tools12/10, 2007; 12:26 AM: December Discount10/1, 2007; 11:09 PM: Creating a new Stylesheet: an exercise in refinement7/28, 2007; 3:04 PM: Where is WorkLife Going? And why was version 2.0 ready when Mathematica 6 was released?7/17, 2007; 10:28 PM: A Practical Matter: Restarting WorkLife7/10, 2007; 11:12 PM: Almost nothing to do with A WorkLife FrameWork, but time will tell...6/28, 2007; 1:01 PM: A WorkLife FrameWork: It is Many Applications...6/19, 2007; 10:59 AM: A New Screencast: Getting Started6/15, 2007; 10:33 AM: Notebook History comment...6/10, 2007; 10:07 PM: Nonlinear Work Habits and Tagging6/10, 2007; 6:29 PM: A Palette for Standard Packages6/9, 2007; 11:19 AM: A discussion6/3, 2007; 10:03 PM: A MathGroup Posting5/28, 2007; 9:33 PM: A WorkLife FrameWork is now compatible with version 6 of Mathematica5/22, 2007; 9:36 PM: Email Analysis Tools5/22, 2007; 9:27 AM: The Palettes Menu5/20, 2007; 11:14 PM: Soon, very soon...5/3, 2007; 11:09 AM: Mathematica 6 Released: A WorkLife FrameWork 2.0 to follow very soon...3/21, 2007; 1:50 PM: A WorkLife FrameWork mention on MacinTouch2/22, 2007; 1:40 PM: More screencasts...2/19, 2007; 12:42 AM: New Screencasts12/30, 2006; 7:51 PM: Organizational Choices11/26, 2006; 10:54 PM: Updated Version of A WorkLife FrameWork.11/10, 2006; 12:30 AM: A quote and a testimonial...11/6, 2006; 2:09 PM: Version 1.1 on its way10/31, 2006; 3:32 PM: Another blog mention of A WorkLife FrameWork10/23, 2006; 10:54 AM: Finding A Diary or Notebook10/10, 2006; 9:45 PM: At the Wolfram Technology Conference10/8, 2006; 11:35 AM: The Wolfram Technology Conference9/27, 2006; 10:51 AM: Menu Items on Custom Palettes9/21, 2006; 10:50 AM: A Tip: Multiple disks or partitions9/20, 2006; 3:57 PM: A bit of Blogosphere notice9/18, 2006; 9:24 PM: Opening a set of files9/14, 2006; 11:25 PM: An Email Trick--slightly advanced9/14, 2006; 11:08 PM: The most current version...9/11, 2006; 1:00 PM: Finally Released!