I Got Music Off an iPod after the PC that Owned it was reformatted

I keep losing iPod home directories when I format a PC Laptop. So family members are forever redoing their iPods because I had not taken time it takes to hack into an iPod. Don’t tell my daughter who re-ripped her collection over three days – that I could have pulled off all her music.
Today I faced yet another family iPod with some music and a XP iTunes install that was totally formatted. I decided to give it a try again. It seemed so hard the other times I googled things – but this time was different. First I did this search:
Google://restoring music from an ipod
The first link was here from like three years ago:
http://www.engadget.com/2004/11/02/how-to-get-music-off-your-ipod/
It led me to this software:
http://www.ilinkpod.com/
This rocks – it mounts the music – you can just copy it back on to your main system. The key is that he file names are four character things like BLMX.MP4 – don’t worry abut this – just drag them back into iTunes and there is enough metadata to reconstruct the artist, etc.
Sweet – I need to send the ilinkpod dude some cash.

Stepping into Multi-Tenancy Users for Sakai – SAK-13671

This is a set of proposed changes to a very core API – UserDirectory services – so I would like folks to take a look and comment before work gets started. Take a look at the JIRA for more detail:
http://bugs.sakaiproject.org/jira/browse/SAK-13671
The basic idea is to make it so we can have enterprise IDs from multiple sources – probably the best use case is if you wanted to build a friend-like capability using perhaps Radius and OpenID to compliment your local accounts perhaps coming from a campus LDAP/Kerberos or something. You want to be able to tolerate an account “csev” from any of the three sources – i.e. you don’t want it to be a security hole if the local csev account is a teacher for a course and an account named “csev” shows up from an OpenID or Radius Source – and all of a sudden they are teaching all my courses.
Since Sakai has an internal random ID for all users in places like Realm tables, etc – the is a pretty surgical change in terms of data structure. We only record the Enterprise ID (eid) in one table: SAKAI_USER_ID_MAP – I propose to add an ESOURCE column to this table. The EID/ESOURCE combination is the unique key now for the table.
We leave the column NULL for all accounts on the system and all the current calls to mae new users leave the column NULL – so unless you start adding these users from another Enterprise, nothing changes.
If on the other hand, you come up with some new approach to login – such as Shibboleth or a Radius login – and this login process starts making new users with different ESOURCE values – then these accounts with non-NULL ESOURCE values do not collide with the normal internal and default enterprise users. The accounts “pass in the night” from an AuthZ, etc perspective.
The Changes to UserDirectoryService are pretty simple – anywhere there is an Enterprise ID – we add a new method with one more optional parameter – the Enterprise Source – sourceId – so the methods look like this:
Old:
addUser(String id, String eid)
New:
addUser(String id, String eid, String sourceId)
Old:
authenticate(String loginId, String password)
Added:
authenticate(String loginId, String sourceId, String password)
We keep the old methods – they are the same as calling the new methods with a sourceId of NULL.
There is more detail in the JIRA http://bugs.sakaiproject.org/jira/browse/SAK-13671
Feel free to add comments there. Since this touches a pretty core API – I want to make sure that it is well discussed before starting the branch. Assuming we like the general approach – then it can be coded up in a branch and folks will get many more opportunities to review it in detail and comment. I just wanted to get the dialog started early.
I have no current plans in this JIRA to change the provider API – for now we can use the providers for the “default” enterprise so nothing needs to change. At some point we might want multiple providers – one for each enterprise source – or perhaps just pass in the enterprise source as a parameter. You are welcome to think this through – I would like to do that as a separate JIRA.
The folks who find this the most useful are those who might want to use Sakai as a platform for software as a service.
If you can think of risks and/or issues – please bring them up on the dev list or in the JIRA.

Energy Savings – Just slow down

I did an experiment during my commute yesterday – I tried to see how my gas mileage would be affected by just slowing down.
I remember in the 1970’s when the national speed limit was reduced to 55 MPH during the energy crisis. I also remember how much this p*ssed me off – I even got some speeding tickets going above 55 MPH but below 70MPH – they called it “an Energy Speed Violation” – I called it government intrusion into citizen’s private matters. I was pretty young so it made me so mad that I took up flying single engine planes because airplanes did not have what I considered to be a silly and pointless 55 MPH speed limit – I never checked gas mileage :).
So yesterday – I was not in a rush for my 55 mile commute so I decided to set the cruise to 55MPH and see what happens. I have a totally cool Buick LeSabre that gives me instant feedback on my mileage – it may not be perfect – but it is suitable for A-B comparisons.
My car is rated for (and usually gets) about 29-30 miles per gallon – this is pretty cool for a nice comfortable quiet car – that is even with the air conditioning on. SO it is not too bad of a commute car – particularly because it has low maintenance and is nice and solid in case of an accident.
So back to the experiment. The first thing I notice while driving 55MPH is that *everyone* is driving faster than you. Even the semi trucks give you a dirty look when they go around you – because you are messing up the cooperative traffic flow that prefers 62-72 MPH in crowded conditions. I did this experiment at 7PM so traffic was less than during rush hour – but I still was a problem and at times I caused a bit of a back up ad a truck passed me and the rest of the left lane had to slow to 62 MPH behind the truck.
The other nice thing about 55MPH was that I never had to change lanes – I putted along in the right lane and never had to even engage my brain about how to drive – everyone else had to go around me – I felt like a grandpa – not very cool at all. But this was for science – looking like a Grandpa is a necessary sacrifice for science.
So after 35 miles on cruise at 55MPH my car reported an average of 41 MPG! This is a 40% increase in gas mileage just by dropping 15 miles per hour! I was starting to feel a bit like a Prius.
I also did a simple less scientific test in our Subaru Tribeca (a small SUV) and found that gas mileage went from 18 MPG to 25 MPG by dropping from 70 to 55 MPH. Again about a 40% increase in gas mileage. I will do more testing and a bit more scientific.
Experiment detail: This was using cruise control – you can play games like coasting, drafting and careful throttle control up and down hills – to get even better gas mileage – I did not do any of those things. I was interested in something simple that required no particular skill – so I just set the cruise to exactly 55MPH and let the trucks and traffic flow around me.
Effectively by dropping down 15 MPH, you increase mileage by 40% – which is like getting a discount on your gasoline. This makes my $4.00 gasoline effectively $2.85 – at a cost of some more time on the highway.
This is a a way that we can drop our demand for fuel overnight – I kind of understand now why in the 1970’s they simply lowered the speed limit to 55MPh. I have a bad feeling that someone in government will see this and drop the speed limit – this will tick me off – particularly when I am late going to the airport.
So just for yucks – try to see what it would be like with a national 55MPH speed limit – for as long as you can (yesterday I did it for an hour and it was mind-numbing) – set your cruise for 55MPH – if you have a little info gauge – reset your fuel economy average at the beginning of the experiment and see what gas mileage you get. I reset it while I was warmed up and up to speed – I wanted to measure only the highway mileage. I was pretty surprised at what I got – you may be too.
Update: Just to be scientific – I repeated the experiment on the inbound commute and the results held – the inbound MPG for 55MPH was 41.4 on one leg and 42.4 on the other leg.

Abstract: Workshop – Teaching with Sakai

This workshop will discuss how to teach with Sakai. The workshop will cover using Sakai at Michigan (Ctools) to enhance a classroom-based course. The workshop will also show the use of ETudes and show how Sakai can be used in a distance education context. In addition, an invitation to the community will be sent out to invite other presenters. Also time will be set aside for the attendees to show their use of Sakai during the presentation.

This workshop will discuss how to teach with Sakai. The workshop will cover using Sakai at Michigan (Ctools) to enhance a classroom-based course. The workshop will also show the use of ETudes and show how Sakai can be used in a distance education context. In addition, an invitation to the community will be sent out to invite other presenters. Also time will be set aside for the attendees to show their use of Sakai during the presentation.

Dr. Severance is a Clinical Assistant Professor at the University of Michigan School of Information (www.dr-chuck.com). He is the former Executive director of the Sakai Foundation and the former Chief Architect of the Sakai Project. He now teaches using Sakai at the University of Michigan.
This was submitted to the Sakai Paris Conference – July 2008

Abstract: Functionality Mashup – Evolving to the Next Generation of Learning Management Systems

Virtual Learning Environments need to adopt approaches like Facebook, iGoogle and YouTube for learning application integration. IMS Learning Tools Interoperability 2.0 is a standard under development which addresses this functionality mash-up use case.
Virtual Learning Environments need to adopt approaches like Facebook, iGoogle and YouTube for learning application integration. IMS Learning Tools Interoperability 2.0 is a standard under development which addresses this functionality mash-up use case.
The current crop of Learning Management Systems are focused very much on meeting the needs of the institution in providing a basic, uniform technology platform for teaching and learning. However, faculty and students are often familiar with setting up accounts, joining various types of sites and adding themselves and friends to those sites, and figuring out new systems by trial and error. The next generation of Virtual Learning Environments needs to allow this type of organic “mash-up” and make it simple enough to place in the hands of the end users of these systems. IMS Learning Tools Interoperability 2.0 is a standard under development which addresses this functionality mash-up use case. This presentation will talk about issues and approaches for building the next generation of Virtual Learning Environments.
Charles is a the IMS Global Learning Consortium Developer Network Coordinator. He is also a Clinical Assistant Professor at the University of Michigan School of Information. (http://www.imsglobal.org/severance.html)
Submitted – Sakai Paris Conference – July 2008

Exporting to Flickr from iPhoto – Also Private sharing of photos

I am using iPhoto 8 – 7.3.1 (634) and wanted to get Flickr export working. This is what worked for me:
http://www.dustin.li/Publish/Software/Entries/2007/12/26_Free_Flickr_eXport_iPhoto_Plugin.html
It was free, installed properly and worked.
This did not work:
http://sourceforge.net/projects/flickrexport
It looks like the guy open sourced it – stopped supporting it and now sells a 12 pound version of it. The open source version no longer works with the version of Mac OS and/or iPhoto that I have.
I am happy for folks to make money off free software – I also think that as part of an intelligent market to go to the lowest price acceptable alternative. It also kind of bothers me when folks open source the crap version and then close source the current version. But some open source is better than none in case someone wants to pick up the open source fork and move it forward.
Frankly I used the plugin once and then realized that what I was trying to do was not going to work – create a private distribution of photos – for 4-5 precise people – not just my Flickr friends. Because the material needs to be vetted before it is made public.
Funny – it turns out that sending around a few DVDs is the best solution for now. Strange. But all in all it was nice to use some free software for 30 minutes and understand my requirements.
Separately funny – Picasa from Google might make me happy – it seems totally locked down – but for the life of me – I cannot find the site where you see Picasa photos online. Everywhere I go, it wants me to sign up – and when I try to sign up it tries to install PC software on my macintosh – hmmm… Crazy.
After wasting a few hours trying to find a decent way to share photos privately with a small group of people – I gave up and burned a DVD. Funny in this day and age…

Sharing iPhoto Library across multiple Accounts on OS 10.5 (Leopard)

I just want several users to see the same photo library on one iMac computer. This is what worked:
Taken from: http://ad.hominem.org/log/2005/07/acl.php
Move the library you want to share to /Users/Shared/Pictures/iPhoto\ Library
Make a soft link
cd ~csev/Pictures
ln -s /Users/Shared/Pictures/iPhoto\ Library/ iPhoto\ Library
Turn on ACLs on:
sudo /usr/sbin/fsaclctl -p / -e
Give each account permission on the iPhoto Library
sudo chmod -R +a “drchuck allow read,write,append,delete,list,search,add_subdirectory,delete_child,file_inherit,directory_inherit” /Users/Shared/Pictures/iPhoto\ Library
sudo chmod -R +a “csev allow read,write,append,delete,list,search,add_subdirectory,delete_child,file_inherit,directory_inherit” /Users/Shared/Pictures/iPhoto\ Library
sudo chmod -R +a “brent allow read,write,append,delete,list,search,add_subdirectory,delete_child,file_inherit,directory_inherit” /Users/Shared/Pictures/iPhoto\ Library
Interestingly this page did not work – perhaps it does not work if the iPhoto library already exists:
http://www.macosxhints.com/article.php?story=20050904072808460&lsrc=osxh

Google I/O Day 1

I am totally geeked to be here at Google IO. My main interest is in the Google Application Engine followed by the OpenID and OpenAuth stuff.
The coolest announcement is that AppEngine is now wide open for business – anyone can get an account.
It is amazing how open things are – it is so open that things seem unfinished at times – it is like we just showed up inside of a companies’ R/D lab and are a fly on the wall. I am sure there are many things that Google has in the works that we are not hearing about – but those things they are telling us about are their “trunk” of ideas. We are supposed to dive in and be part of it and evolve it. (whatever it is). It is OK that thinks feels like version 0.9 sometimes – hey some of my favourite software never got past version 0.9!
The people here are surprisingly serious – this is not a geek fest.
App Engine is awsome – it will cost money but a base level account will remain free – basically they are giving everyone a simple dr-chuck.com site – a place to experiment and develop their software and content. Think of this as an ultimate personal portfolio where you can make your own software to augment your portfolio.
The AppEngine is based on Google’s BigTable – a really fast hash/array/shard data store – it is an extremely fast object store – not a relational database.
Probably the coolest thing about App Engine and the talks that I went to is that it is all bout speed and scalability. They want you to write applications that use a small amount of resources – and that scale beautifully and so you don’t get nailed with CPU charges.
I have not been in a crowd so obsessed with speed and scalability since the Supercomputing crowd in the mid 1990’s – when I wrote my HPC book for O”Reilly – it is refreshing to listen to folks talk about how to write kick-arse software – not just easy software – but the great thing is that it is also pretty easy – you just have to avoid doing any filtering in memory! Hmmm – sounds like http://bugs.sakaiproject.org/jira/browse/SAK-13584.
I ran into Chase Phillips of NCSA/NEES project and Nicola Monat-Phillips from NYU – but have not yet run into Casey Dunn – and Casey is easy to spot unless of course he changed his hair style.
Off to the party tonight and open bar – more tomorrow.
Update: I ran into Casey Dunn and David Mills (of Angel) at the evening party.

The Smallest Small World Story In the World!

So, I am chilling in Edinburgh this week – I was asked to serve on the Science Advisory Board of the National eScience Centre (http://www.nesc.ac.uk/) in Edinburgh. I love the eScience center because it is a neural cross-disciplinary place where it is not about a single science or field – where all fields meet on neutral turf – I have learned much from the people I have met and friends I have made during my six visits to the NESC in the past 4 years. Now I am on their advisory board – Sweet!
But NESC is not what this story is about.
After the day long board meeting, most of the participants scattered to the airport and their hotels – a four of us including Malcolm Atkinson decided to get a pint (or two) at the Royal Oak – Malcolm’s favourite pub – it is on a side street off Bridge street about a mile from downtown and the train station.
Here is a link to a map showing the Royal Oak on Infirmary Street in Edinburgh
It is smaller on the inside than on the outside – it is about 16-feet by 16-feet and we were four guys having a pint and one other person who looked like a street person getting warmed up (perhaps earlier he had been sitting on a park bench…). The place could only hold about 18-20 people max. A guy walked in and started talking at the bar. Malcolm noticed my eyes get really wide and asked me “what is the matter” – I stammered “I think I know that guy” – who was about 4 feet away but had not even looked at me because he was trying to find out if the bar was serving food. He was wearing weird glasses so I was a bit confused. But his accent was right and everything else about him looked right.
Apparently the bar was not serving food so this guy started to bolt out the door because he had a group of people waiting on the street for him – again he was not looking at me because he was so focused on getting food for his entourage.
Before he got out the door – I took a risk and shouted “Hey Tony – is that you???”. My eScience pals were confused – we had just been talking about Tony Hey (a UK eScience legend – picture at the right) – so they thought that somehow I had seen Tony Hey. Tony Hey *is* on the Science Advisory Board but he could not make it because he was busy at Microsoft – so it would be weird for Tony Hey to not make the meeting and yet come all the way from Redmond, Washington to have a pint at the Royal Oak.

But it was *not* Tony Hey it was none other than Sakai’s own Tony Atkins (aka Dr. Collab) – sporting his new glasses (see photo) that he recently had to get to take his UK drivers test.
It turns out Tony and his family was on vacation from Stornaway in Edinburgh. We laughed and hugged and took a picture – and then Tony had to scoot because his whole family was pretty hungry. We said that we would see each other again in Paris.
With me 3000 miles from home and Tony 150 miles from home and given that I am only in Edinburgh for 36 hours and Tony was only likely here for a day or so – and that the bar is pretty far away from downtown – and on a side street – it will be pretty hard to top this “small world” story.
I only regret that the Sakaiger was not with me to say hi to Tony! Sakaiger was back at my hotel room.