Geeks making the world a bit better.

Connecting a Dojo Data Grid to a JsonRestStore

I looked high and low and couldn’t find a working example of connecting a dojox.grid.DataGrid to a dojox.data.JsonRestStore so I puzzled out parts of it myself. This code probably has errors and omissions but it seems to work for me with dojo 1.4.1.

I would appreciate any corrections or pointers to other examples from those of you who know better. I haven’t included any error checking and the references to items by key break down after deletions because of the simple minded implementation of the “database”.
Continue reading →

Maze Day 2010

Maze Day is for visually impaired and blind students in grades K-12, their parents and teachers. Your students will enjoy fun and educational computer applications developed especially for them. UNC students will learn how well their accessible applications work with real users. And everyone will have a good time!

Continue reading →

Does making music have to be so hard?

I’ve been thinking about the trade off between difficulty and choice (or freedom) in making music. I cooked up this simple graph to illustrate the idea.

MusicGraph

I’ve no idea what the units would be on this and the scales probably aren’t linear either.

The point is, listening to music on the radio (in the lower left) is really easy but you have almost no control of it besides off/on, and the station. Playing the piano is in the upper right because it is really hard, requiring years of instruction and practice, but you can choose whatever notes you want. Playing music on your mp3 player is a bit more difficult than listening to the radio and you get a bit more control. Guitar Hero makes you feel involved in the music creation but really you only have a tiny bit more control than playing an mp3. You control whether or not a note plays. Wii Music gives you a bit of control of the timing and, if you double time, will insert flourishes but you have no control over the notes.

I’m interested in the space to the right of Guitar Hero and Wii Music on that graph. Expressive but easy. I want to give players, especially kids with disabilities, access to making their own music.

Releasing the music in your head is inspiring. I don’t know how it works but he appears to be controlling the playing of the large music “units” using gestures.

I’ll try to write soon about some related ideas.

  • Spoken music input
  • Reactive music
  • Use the Guitar Hero controller for timing and whether the note goes up, down, or stays the same but let the system choose the note.
  • An accessible version of JamStudio.

I’d love to find a musically minded collaborator. I think I know enough about signal processing and I’m improving my machine learning skills but I don’t know enough about music.

SWAY: Switch Accessible YouTube

My friend and source of ideas for interesting projects, Karen Erickson, suggested that kids love watching YouTube videos but they aren’t readily accessible to switch users. Couldn’t we make an accessible version, she asked?

I presented this opportunity to Greg K., my latest intern from the NC School of Science and Math, a residential magnet high-school for students from around the state with aptitude and interest in science and math. In only a few weeks, Greg taught himself Javascript and the YouTube API and has a working prototype.

Check out his work at its temporary home at http://gb.cs.unc.edu/sway/. We’ll move it to are more permanent home when it gets a little further along in development.

This is just a prototype, and we are eager to get your feedback on what other features it needs. Right now you can choose and play videos from a YouTube playlist entered into a form.

Features we hope to support soon include:

  • Browsing YouTube categories and related videos.
  • Creating your own playlist
  • Emailing video links to friends

What else should we include?

30 years of failure: the username/password combination

Interesting read about what we have known all along about passwords.

In a lot of ways, the results shouldn’t surprise anyone, given what we know about the operation of human memory: if you give users a task that’s nearly impossible, they won’t do it.

Entertaining introduction to encryption

A Stick Figure Guide to the Advanced Encryption Standard (AES)

Disable balloon tips in Thunderbird

I’ve started using Lightning for my calendar and I really like it except for the stupid balloon tips that pop up and get stuck every time my mouse passes over the Thunderbird window, even when it is below another window. I turned them off with Edit->Preferences->Advanced Tab->Config Editor… and setting browser.chrome.toolbar_tips to false. Much better now.

Why I don’t develop for the iPhone/iPod Touch

The iPhone and iPod Touch are very interesting platforms for enabling technology. Touch, accelerometers, portability, radio, coolness; they’ve got it all.

But the rules of program distribution are so ridiculous that I can’t imagine playing by them. I want to give my apps away. And I want to do it without some faceless technician’s approval.

After you’ve done the work to develop your App they can reject it without giving any reason.

This recent post from Riverturn illustrates the problem though I’ve heard of many more cases like this.

Project Ideas for Wiimote Enabled Firefox

I’m thinking of things we can do with the nearly ready Wiimote (and Balance Board) capability in our Outfox extension. We can use the accelerometers, IR camera, buttons, and rumble. I’m going to list game/activity ideas so I can recruit some help.

Continue reading →

Crawl Space Humidity

I’ve been concerned about the humidity in my crawl space since we moved in. In fact, I wondered about it at our former house but never did anything about it. At the current house we’ve had some problems with water getting under the house in heavy rains but I think I’ve got that whipped.

I decided the first step was measuring the humidity under there so I bought a Honeywell TM005X Wireless Thermo-Hygrometer and put the remote unit under the house. I bought it back in January 2009 and boy was I shocked. The humidity seldom got below 75% even in the winter! As the summer came on and the humidity rose to above 90% I decided I had to do something. It is so humid down there that water condenses on the cold water pipes and drips on the floor.

Completing the plastic covering on the floor (about 20% was uncovered) did nothing. So I went looking for solutions. I found the SmartVent Crawl Space ventilator and after reading their convincing argument that you can’t dry under your house with wet air, I decided to purchase one of their vents. It cost me $315.

It arrived less than 1 week after I ordered it and I installed it the next weekend. I had never removed a crawl space vent before but it turned out to be a pretty easy job. Mine were installed with mortar which I broke out using a long chisel and a hammer. It took me approximately 1/2 hour to prepare the opening to receive the smart vent. The place I chose to install it had an electrical outlet nearby so I was set for power. I used clear caulk to seal around the opening.

I installed it on 20 June 2009. After 2 weeks my crawl space humidity is down to 77% from 92% on the day I installed it. I’ll make a table below to record occasional readings. It has been dry here since I installed it. That, no doubt, is part of the rapid improvement but since I’m not doing any sort of controlled experiment, I’m just going to report what I see.

The SmartVent appears to be well made and runs a clever algorithm. It has two muffin fans, a small circuit card, and a thermometer and humidistat positioned near the front grill. It uses these sensors with the fans off to sample the outside air. If the outside air temperature is above 42 degrees F, it runs one fan for about 15 minutes to pull crawl space air over the temperature and humidity sensor. It then compares the dew point of the outside air with the dew point of the crawl space air. If the dew point outside is lower both fans run to pull wetter crawl space air out so that it will be replaced (through leakage) by dryer outside air. If the outside air is wetter than the inside air, the unit waits.

My sporadic observation of its habits confirm that it is behaving as expected. I’ve seen it running continuously for the last few days while the outside dew point has been low but last week it ran much less because the outside air was very humid.

I’ll try to record some readings here so I can track how it does.

Crawl Space Outdoor
Date Temp (F) Humidity(%) Dew Point(F) Dew Point(F)
20 June 2009 68.5 92 66 72
4 July 2009 69.8 77 62 58
11 July 2009 69.8 81 64 64
19 July 2009 70.3 81 64 59

Note: On 14 July 2009 my Honeywell wireless hygrometer died and I replace it with an Oregon Scientific RMR500A. The calibration was clearly different. I calibrated the new one using the damp salt method.

I expect it to become gradually harder for the SmartVent to improve the situation under the house because as it lowers the dew point, there will be fewer times when the outside dew point is lower. But, I hope and expect it to be better than it was.