Sakai/IMS Is Selected to Participate in the Google Summer of Code!

Thanks to some timely prompts from Jason Shao and Jon Gorrono on the dev list and some quick action from Michael Korkuska, Rob Able (IMS), and Lisa Mattson (IMS), we were able to submit an application to Google Summer of Code.
We were selected by Google as a mentoring organization! Which now means we need to met and recruit some students for the program – yayay!
I will be the main mentor – if others are willing to help – that is great – take a look at the ideas page and see if anything interests you and if you are willing to help. The effort is not just Sakai – it is about interoperability across learning management systems in general. We can use help with Java, PHP, and Ruby.
SInce this is our first year – we will probably be allocated a few students. Google SOC likes to see how well you do in your first year. Success this year leads to greatly increased likelihood of selection and greater numbers of students in following years. So I will work hard to make this a success for the students and for Sakai. Conveniently I am done with my teaching responsibilities just as the program starts in April so I should have plenty of time over the summer.
I will keep the community apprised as the student selection process progresses. If you have particular students that you think would be a good fit encourage them to apply.
Here are some URLs:
Google’s Sakai Announcement
http://code.google.com/soc/2008/sakai/about.html
Google SOC Page:
http://code.google.com/soc/2008/
Sakai Ideas Page:
http://www.sakaiproject.org/soc2008/

Movie Review: No Country for Old Men

I ended up with some time on Saturday night after the Pycon 2008 conference so I went to a movie. I figured I would go to a movie that only I would like – something intellectual and arty. So I went to “No Country for Old Men” as the time was right and I had no idea what it was about.
First the good news
The acting was excellent – there were many richly developed characters and there was plenty of on-screen time for the characters to develop. The filmography was superb – it transported you to wherever they wanted you to be – the feeling of Texas – the vastness – the solitude. The feeling of isolation when you are running away – the lighting to enhance the scene – all superb. The editing was excellent – they moved from scene to scene nicely – not so quick as to get you all excited – but at the same time not obsessing on any one moment – just enough for you to fully comprehend and reflect – and then on to the next scene.
Now the bad news
The plot left me a little wanting. Usually when you get to know a bunch of characters very deeply – you want the characters to interact. This pretty much was one of those buddy/travel films – kind of like “Planes, Trains, and Automobiles” but with a lot of shooting. But the violence was filmed very effectively – again taking you to the place where the film maker wanted you to go.
Overall
I am glad I went to this move and paid a bunch of money at the theater to see it. I am also glad that no one came with me to see the film. Under my geek/Star Wars fan exterior – I very much appreciate the film as art form. My first class in college was a literature and film class (ENG347) which explored a bunch of black and white films by Francois Truffaut. This film reminded me of film as art.
Reference: http://en.wikipedia.org/wiki/Fran

iPhone audio gets confused when Earbuds are uplugged

Sometimes when you unplug a headset from the iPhone it gets lost and confused and you can neither hear nor talk using the internal speaker or microphone. Interestingly – it works as a speakerphone but not as a regular phone.
Quick tip: If you answer a call and put it to your ear and cannot hear – don’t panic – switch to speakerphone this will work.
Solving the problem: Solving the problem is simple – just insert and remove your headphones three times and voila – it works!
References:
http://discussions.apple.com/thread.jspa?messageID=6830349

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

This is my abstract for my JA-Sig talk
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. In a sense 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. This presentation will talk about issues and approaches for building the next generation of Virtual Learning Environments.

Continue reading

Restoring lost Modification Date/Time on My Macintosh Using Python

If you are an avid Dr. Chuck Blog reader – you recall on November 9, 2007 when I upgraded to Leopard for the second time and lost my modification dates on my files. I was too lazy to re-do the upgrade so I was left with a bunch of files with November 9, 2007 modification dates making ls -l look yucky.

http://www.dr-chuck.com/csev-blog/000139.html

I made a mistake of not reading my own earlier blog entry telling me how to properly backup and restore my home directory over a Mac OS upgrade.

http://www.dr-chuck.com/csev-blog/000381.html

Apparently I am not such an avid reader of the Dr. Chuck Blog.

Well today I rectified the situation and have my files dating back to 2004 and earlier – I don’t have a bunch of files tantalizingly telling me “November 9, 2007” – teasing me and telling me that the actual date was much earlier. I also figured I should do some Python coding this week to get up on my game as I go to Pycon 08 in Chicago next week – and hang out with none other than Steven Githens- the official badge maker of Pycon 2008!

I had saved that backup from November 2007 and vowed to write some code that would scan my current home directory and look for files with suspect modification dates (right around November 9, 2007) and grab the modification dates form the backup and patch my current home directory.

Then and only then would I be willing to “let that backup file go”. It was keeping me from reformatting a nice 320GB USB drive that I had orther uses for…

So I wrote some Python – below that uses the nice Python os.walk() capability along with the os.stat() capability, and os.utime() capability.

It turned out to be surprisingly elegant and simple in Python.

It ran pretty quickly in about 5 minutes (even reading off USB) and ended up patching about 110,000 files with the right modification date in my laptop home directory. I had a couple copies of my home directory (Mac Air, Mac Pro, and my 320GB extended home directory on USB drive) – and I patched them all.

I include the code below – with the utime() call commented out – so it does a dry run until you are happy with the results and then uncomment the utime(). It nicely can be run over and over – it only patches files in the suspect date range – once the files are moved to their proper earlier time, they are no longer candidates for patching. You can even run it live decide to freak out – press CTRL-C and start over – it will silently glide right past the already patched files.

Continue reading

Fun with JSR-168 Portlets – Google Portlet in Sakai

I was reading the uPortal lists and Cris Holdorph of Unicon made the following post:
The google portlet code is here:
http://code.google.com/p/googleportlet/
I will answer questions about the code here, but a more appropriate place would probably be: portlet-user@lists.ja-sig.org which I am also subscribed to.
All of that being said, the googleportlet does not do any web proxying at all. I think the code is interesting, in it’s simplicity, but it is not a general purpose solution to the problem of proxying.
You can also check out all of the articles and blog posts on www.unicon.net. I have several other portlet examples there.
—- Cris J H
So I went to his code site and downloaded the war file. I dropped the war file into a Sakai I had – initially it did not come up because of an empty web.xml. So I put in a stock Pluto 1.1 style web.xml (below) into the file and restarted.
Up it came and worked flawlessly – and of course with no frames.
Screen Shot of Cris Holdorph’s Google Portlet in Sakai
Another nice quick test of Sakai’s JSR-168 support.

Continue reading

IMS Learning Tools Interoperability: GVC SiteMaker and Sakai

Fresh on the heels of working with Marc Ritter of Wimba, I spent this week in Vancouver working with the developers of SiteMaker (www.gvcsitemaker.com) to do an initial integration of SiteMaker into Sakai using a prototype version of IMS LTI 2.0. Jonathan presented this approach in his SiteMaker talk at the the Newport Beach.
Chuck Hill of GVC did a great job on the SiteMaker side. We produced a really simple user interface that mimics YouTube’s approach – “cut and paste this bit” to make this as simple as possible. The user never has to touch any XML. Jonathan Maybaum of UM deserves the credit for the clever UI design – he always tries to think about things from the user perspective and he wanted it as simple as possible.
We also implemented the shared secret security with message signing with SHA hashing. We spent some time thinking about how to improve the security further.
The code modifications to SiteMaker really support all of the UI including needed persistence and the code is complete and checked into the trunk of SiteMaker.
Here are some screenshots of the SIteMaker Configuration Screens
SiteMaker Access Configuration
SiteMaker Configuring Remote Participant Access
I ended up building a new Sakai JSR-168 portlet that is unique to LTI-2.0 to make it much cleaner and simpler than LTI 1.0 – this new portlet is now in SVN here:
https://source.sakaiproject.org/contrib/sakai-portlets/trunk/
Here are some Sakai screenshots:
Sakai Configuration Screen
Sakai Launching SiteMaker using LTI in the frame set portal
There is more work to be done and the LTI specification is still being developed so this code will need to evolve over time – but this much progress is a testimate as to how much simpler Learning Tools Interoperability 2.0 is when compared to IMS Tools Interoperability 1.0.

IMS Learning Tools Interoperability 2.0 – Progress

At the last IMS meeting, a lot of progress was made on IMS LTI 2.0 – I am now very excited about this spec and have pretty much switched my efforts from IMS TI 1.0 to IMS LTI 2.0.
The key is the amazing work and investment on the part of Wimba (www.wimba.com). Marc Ritter of Wimba has done some super work – he did a great demo of an BlackBoard building block working with Wimba to pull Wimba into Blackboard – they are also working on a Moodle Module as well.
Not wanting to be left out when cool code is starting to work – I worked with Marc to connect Wimba into Sakai using his early version of LTI 2.0. Here are screenshots:
Wimba Running in Sakai using LTI 2.0
Wimba running in BlackBoard using LTI 2.0
This is very exciting – more soon on making Sakai and SiteMaker working together using LTI 2.0.