Well I finished my little Code diversion

I wanted badly to get a bit of new accessibility-oriented capability into the 1.5 Sakai release – so I took a couple of days and added a prefernce so the courier can be done with an XMLHttpRequest instead of an iframe with meta-refresh.
Code works – and I am waiting for review so I can check it into CVS.
I have one more little pet piece of 1.5 code that I might fiddle with before I go back to being Dr. PowerPoint.

New Year – More Blogging

I will try to cover my experiences with the Sakai project more fully. It will probably mean that my writing will be more inane as the blog will become more of a diary. Oh well. I apologize in advance.
Today was a lot of meetings but I indilged myself and worked on trying to replace the Sakai Courier function with an iframe and refreash with XMLHttpRequest object.
Things went well, except that nothing ever worked on Mike Elledge’s computer. Finally it came down to the fact that caching was happening.
A good refernece is available at: http://developer.apple.com/internet/webcontent/xmlhttpreq.html
So the lesson is to hack the URL so that no matter what caching is happening. Here is some code that is a bit more sophisitcated than the Apple example.

function loadXMLDoc(url) {
if ( req && callInProgress(req) ) {
alert("Previous request had not completed stat="+req.status+" state="+req.readyState+" url="+lastUrl);
req.abort();
}
// Add a random number to defeat caching regardless of the user setting
lastUrl = url + "&rand=" + Math.random();
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
if ( req ) {
req.onreadystatechange = processReqChange;
req.open("GET", lastUrl, true);
req.send(null);
setStatus("XML Request started ("+couriertries+")"+lastUrl);
} else {
alert("Cannot create XML Request Object");
}
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", lastUrl, true);
req.send();
setStatus("ActiveX Request started ("+couriertries+")"+lastUrl);
} else {
alert("Unable to create ActiveX object!");
}
} else {
alert("There is no support for XMLHttpRequestObject"+url);
}
}
function callInProgress(xmlhttp) {
switch ( xmlhttp.readyState ) {
case 1, 2, 3:
return true;
break;
// Case 4 and 0
default:
return false;
break;
}
}

Speeding Tickets in Canada

Attention Michigan Drivers. Canada has a clever fund raiser in the form of speeding tickets. Here is how it works.

They use laser and have an officer hidden off to an angle. They shoot you with the laser from behind (after they can see that you have a Michigan plate). Then they radio ahead several miles to a flotilla of waiting police cars who pull you over.

While many speeding tickets can be avoided, there is no way to defend against this situation. One possible approach is to hide in a pack (i.e. don’t be the last car in a pack).

The particular trap that nailed me was going westbound on the 401 just after the 403 splits off toward Sarnia/Port Huron. Much of the traffic on the 401 is Detroit bound so that they can get a good percentage of Michigan drivers.

I was not going particularly fast – just keeping up with the traffic – I was even in the right lane and trailing the pack minding my own business. This is often not the case, but these Canadian drivers were zipping along.

I would just suggest that folks do the speed limit on this stretch of hiway – especially Michigan drivers – even if the Canadian drivers are blowing by you.

The fine was $150 (CDN) and there is a cool website www.paytickets.ca so as to most efficiently extract the money from you. I assume that the points do not travel – Whew.

I kick myself because I ish that I had asked the officer to see where they had clocked me. I could have gotten a ride back and seen their entire setup – but my wits were not about me – all I wanted to know what how to pay the damn thing.

Problems Dubbing From Hi8 to DV

I was dubbing some shows from Hi8 to DV. The material would play fine from the DV cam corder but when I pulled the DV in through firewire the audio would clip or just drop out. Both capturing from the Mac and PC vielded the same results.

The audio did not seem particularly hot – in ways the audio was low – but it still clipped.

The problem was that my original source was a Stereo source (Hi8) which had all of the audio on the left track and effectively silence on the right track – except for a touch of noise from time to time.

The solution was to only connect one of the plugs on the Hi8 camcorder – (White was the mono-only plug) and the DV camera was much better after that. I connected the white plug to the white/mono output plug on the Hi8 camcorder and left the red plug dangling.

So, if you are dubbing some older source up to DV, do it as mono unless you are absolutely sure that it is really stereo because the secont silent track can confuse the DV recording badly.

I am only putting this up in hopes that some person who has this problem can save the 10 hours of frustration figuring this out. Happy Googling…

Treo 600 and Update to Image Software

Well, I did it – I upgraded from my Motorola v300 to the Treo 600. The v300 was a good friend, but it was not possible to read or answer E-Mail on it.

I also upgraded my image software to handle the MMS messages the come from the treo600 as well as the v300 – I have not yet released it. I have released the v300 version of the software. I have to get to real work this morning so I don’t have the time to clean it up for release.

Here is my review of the Treo-600

Pretty darn cool. The keyboard works better than I thought. I had thought that it was too small but the keys are dome-shaped so you can hit them pretty quickly even with big thumbs. The screen rocks. It syncs up nicely with MeetingMaker. The built-in mail only works with Pop so I had to get SnapperMail – I got a free Beta and like it so far. The keyboard lock is pretty neat. I added a password on restart for my own security.

The main task left to do is to turn it into a Modem on the Mac. Sadly, I still carry around my v300 and swap SIM chips to get modem access. Ah well – another day to fool around.

All in all I like it. It pisses me off that I pay $600 for a thing and then I have to pay about $100 more for basic software that should have been there. (Mail package and CDMA modem).

Long Time – No Blog

It has been a while since I last blogged – things have been crazy – I have been taking a lot of pictures in my image blog. Lots of work, lots of travel, and a new scooter for my son Brent.

I come up with things I want to write about but the 500 message inbox beckons.

Witty Sayings

Success is not about avoiding chaos. Sometimes the only path to a goal leads through chaos. Success is about understanding and embracing the chaos. With enough chaos and enough time, any problem can be solved. For a good example of this look at the scientific explanation regarding the formation of life.

In the pursuit of success, it is better to be lucky than good. But having both a bit of skill and luck is a good insurance policy.

The overall best combination for success include liberal portions of luck, skill, time, and chaos.

What a week this has been.

BUG In Motorola V300 Camera


My Motorola camera phone has a bug that I finally figured out.

I had noticed that when I took a picture and it goes to the Store / Discard the picture looks good, but after you select send the picture looks funky. I knew it was motion related, but could not tell when the problem occured.

I nailed the problem while taking a picture at IU Fort Wayne (above). I was taking a picture of the campus sign when a car drive through the frame. In the preview (Store/Discard) screen the car was on the right side of the frame. It was well framed – the car was on the right and the campus sign was on the left – it was lucky – so I wanted to save it.

However when I stored it, the car was on the left side of the frame – resulting in a crappy picture because the car obscures the sign.

But – I found the bug. Apparently some how two frames are grabbed about 1/4 second apart. The first frame is used for the preview and the second is stored. There are several possible explanantions for this – the first might be the last frame in the preview frame buffer at a lower resolution (say 160×120) while the second is the fuull 640×480 picture.

But overall this is very cool! I am *not* insane.

JIM Basney Rocks

OK, authentication guru Jim Basney explained it to me and I have
solved the issue.

The reason control channel authentication was succeeding and data
channel authentication was failing was because of where Globus looks
for trusted certificates for users.

the client is running in OGSA, so trusted certs are determined in
cog.properties.

in.ftpd runs as root, and it finds trusted certificates in
/etc/grid-security/certificates. (if I had had a
/root/.globus/certificates directory, it would have used that).

then for the data channel in.ftpd does a setuid to futrelle (who I
map to in the gridmap file). in that case, it found a
~futrelle/.globus/certificates directory, which I thought wouldn’t
matter but it did, and I didn’t happen to have the alliance CA cert
in that directory. so data channel authentication failed.