Write Music Notation in your browser!

May 31st, 2010

Gregory Dyke and Paul Rosen are pleased to announce version 1.0 of abcjs.

Abcjs is an open source parsing and rendering tool for ABC written entirely in javascript, so it allows sheet music to be rendered as both standard notation and MIDI entirely with the browser.

Here are a couple ways to use this:

For rendering any ABC notation found on a web page as standard notation, see http://drawthedots.com/abcplugin

For the simplest ABC editor in a web page, see http://drawthedots.com/abcjs

For a free on-line editor and tune storage website, see http://drawthedots.com

Enjoy! And we’d appreciate feedback of all kinds.

Notes:

1) ABC 1.6 is mostly done, and many parts of ABC 2.0 are supported. We are actively working on improving the rendering.

2) We know that the rendering in IE is not as pretty as Firefox, Safari, and Chrome, but we’re working it!

EdUi 2009 conference

September 25th, 2009

I was at the EdUi conference at UVa this week and really enjoyed it. I got a few nuggets of wisdom out of it, too.  Three tips that I’ll take with me are really part of the same thing. First, after designing a web site, stand up and look at it from 10 feet away. Second, squint so that it mostly blurs together. Third, look at the site for 5 seconds and see what you take away from it.  All three of those things refer to first impressions. It is easy to know your topic and website too well, and you forget that anyone else who sees it will not understand it the first moment they see it.

Passenger Fail

June 16th, 2009

passenger_failHere’s a warning that you should never brag about how easy or fool proof your software is.

Out of my comfort level

March 30th, 2009

I often try to get out of my comfort level. I’ll agree to something that seems fun and challenging, then figure out how hard it is.

Right now I’m barely getting settled from jumping out of hard core C++ applications programming to web-based technology and I agreed to play fiddle in the Klezmer ensemble.

Both of those things have a bit in common: they both take a lot of thought and practice, and they both take more time than I have to really master. And they are both really useful things to know. And I’m having lots of fun figuring things out just in time.

Verde Natural Flowers website

March 29th, 2009

I just created www.verdenaturalflowers.com for a friend.

My goal was to use the simplest technology I could so that maintenance can be done by anyone with web experience. The pages are simple html/css with just a touch of javascript.

I used javascript to do some fading pictures and also in an attempt to make the email address spam-proof. I didn’t put real the email address directly on the page; I used the “-at-” notation. After the page has loaded, I replace that anchor with the real address.

The pain of upgrading Rails

March 24th, 2009

I really dread upgrading just about anything on my computer. It always turns into a huge waste of time. Today I upgraded Rails to the new 2.3 version and ran into a surprising number of problems:

1) Updating the gem was easy, and I created a new rails app to see it in action.

2) Trying to start the mongrel gave me:

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.

3) Trying gem install mysql gave me:

Building native extensions.  This could take a while…
ERROR:  Error installing mysql:
ERROR: Failed to build gem native extension.
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

4) I couldn’t find mkmf.log. Lots of googling found lots of people asking, and lots of different answers.

5) After trial and error, it looked like this one worked:

sudo gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config

6) I tried out my new rails app, and got:

no such file to load — mysql

7) Again with teh Google! Again with the lots of questions and lots of answers!

8) It turned out I just needed to restart my mongrel.

9) I usually look at an example when running “generate scaffold”, but this time, since this is just a test, I just guessed about whether the controller name is supposed to be pluralized. I guessed wrong. (It is NOT plural)

10) Fortunately I use Beyond Compare to keep a shadow backup before doing any automated process, so I just reverted, recreated the scaffold, and SUCCESS!

Time wasted: 4 hours.

The Klezmer Ensemble

March 22nd, 2009

I’ve joined the Klezmer Ensemble, playing fiddle, this semester. It’s been lots of fun, but quite a lot of work. All the necessary practice has been helping my general fiddle playing. There are some notes in these tunes that I’ve never played before (at least on purpose!). And there is some up-the-neck work that is completely new, too.

Our big concert is April 5 at Old Cabel Hall!

Softball is starting up!

March 22nd, 2009

It’s that time of year again, and I think I’ll be healthy enough for at least one more year. I’m playing on two different teams on the same night: one is an over 35 year old league, using wooden bats, and the other is a co-rec team where I can use my Demarini. It’s going to be a challenge having a double header every week.

The co-rec team won in the Spring of ‘07.

Racquetball website

March 22nd, 2009

A year or so ago I took up racquetball and found I have a natural affinity for it. I have pretty quick reflexes, I don’t mind diving for a ball, I play really intensely, and I’m left-handed.

I joined the racquetball tournament at the local health club, and was appalled that the standings were sent out once a week as an Excel spreadsheet attachment. Since I was just making the leap into internet programming from application programming, I volunteered to write a site for free in Ruby on Rails just for the experience.

It’s turned out great, and each season I’ve been spending a few hours on it to improve a couple of small things. The original code was pretty embarrassing, since I was just blindly trying to find my way. There is still lots of refactoring to do, but, it works, so there’s no hurry.