May 28, 2007

A Nerdly Weekend - Apple TV

I usually am too cheap to try some technology before Lance. But perhaps I bought my Apple TV before him. The trigger was a new HD Television a few weeks ago - I am collecting gadgets that do HDMI.

I purchased an Apple TV this weekend and already it is full of stuff - we have music, movies, and video podcasts all loaded on the home computers around the house. Brent has found the comedy podcasts and is having a field day.

My finest moment was getting three episodes from this season's Dr Who recoded into MP4 so I can play them on the Apple TV.

All in all this is a very very well designed device - it uses the iTunes libraries around the house - whichever ones are up - so you stage material at a workstation (currently 2 PCs and 1 Mac are in the net).

I also put all of the family photos into th Apple TV itself with some background music - so we can watch photos.

Next it will be all the videos from my camera.

Posted by csev at 07:01 PM

May 27, 2007

Dropped Frames Final Cut Pro Mac OS/X Video Capture

Well, I think that I finally have to upgrade my Final Cut Express HD - I can no longer capture DV on mt Mac Book Pro.

I have cleaned and defragged the hard disk - no help - I have plenty of free space.

Frame loss happens in Final Cut and in Quicktime.

This worked for a long time - then stopped.

So I will upgrade FC and see - the next step is to wipe te OS and start over.

Here are some notes:

Final Cut Pro: Dropped Frames and Loss of Audio Sync
http://docs.info.apple.com/article.html?artnum=58640

Final Cut Pro 3: How to delete the preferences file
http://docs.info.apple.com/article.html?artnum=31197

Posted by csev at 12:49 PM

May 25, 2007

It is no fun with a hand in a cast..

I can't code, I can't write long e-mails and I cannot even write a long blog entry.

I wish there were an audio keyboard so I could say letters.

Ths week I went to Edinburgh to give a talk - it was great.

My cast comes off June 19 :(

Posted by csev at 01:50 PM

May 14, 2007

Hockey Outcome

If you watch my photo blog - you already know that my team won the Hockey championship and my Thesis advisor did not win the championship.

A picture of me with the trophy

My finger was fine - it twinged a bit from time to time but it seldom really hurt. Back to the cast so it can heal for the next few months. The next key will be motorcycling - broken finger will put that on hold for 4-6 weeks - Damn!

We won the game 4-2. Rich got his team's first goal which tied the score. Our team was very balanced in scoring with Ray, John, Tom, and Scott each scoring - I got an assist on the fourth goal. I had three outstanding chances to score a goal. Each time I would miss the bench would laugh and suggest that it was my hand that screwed up - but of course I screw up often enough with a good hand - so that is not a good excuse.

Both teams played great. Rich's team was really strong on offense but our defense held steadfast amazingly.

I learned some things from this:

- Winning is a team effort - it is nice to have Scott Crilley on that team

- Defense is really important

Next year - I will go back and sign up with Rich - probably we will never win a championship together - but the rest of the time is so much more fun playing with Rich.

Ah well - it is time for summer and motorcycling - and back to hockey in September.

Posted by csev at 08:51 AM

May 13, 2007

Ironic Senior League Hockey Story - Prelude

For the past 15 years, I have played Hockey in the grownup league in Lansing, MI. Until this year I always signed up with Dr. Richard Enbody of the Michigan State Computer Science Department. Rich is my Phd. Thesis advisor and a good friend. He is a much better hockey player than me - he played Club Hockey in college and plays center - I play right wing. After 15 years we play pretty well together - primarily because I do dumb things like pass the puck without looking first - but he is the only person on the ice who knows where the puck is going and he gets there - he turns my mistakes into brilliant plays because no one on the ice is expecting it.

This past year, I was travelling for Sakai during August and a bit distracted as the signup deadline approached - Rich signed up on time - but I did not. I got a lucky spot after the deadline - but on a team other than Rich's. So this season we played on different teams for the first time in 10 years.

We played against one another only once during the regular season - primarily due to a combination of his travel schedule and my travel schedule - his team won the game handily and I just was lousy.

So my team finishes the season in 7th place and his team finishes the season in 8th place. But the playoffs is a different story in this league - the intensity upps quite a bit and the more balanced and defensive teams tend to win in the playoffs.

Almost as if it were a Disney script, both teams have made the finals - today at 7:20 PM at the Suburban Ice Arena. So I am playing against Rich for the championship.

We have not even been in the finals for about 8 years - we lost that game 3-2 - I distinctly remember a goal we gave up that turned out to to be the winning goal. We were facing off in the defensive zone against the other team's weaker line and a much weaker center than Rich. We have had a play that we have done for years in this kind of situation - we don't even need to look at each other to call the play. We both push forward and try to make a very high speed breakout, catching the defense on flat footed. It works wonderfully when it works.

On this particular face off (8 years ago) we both broke away - but we lost the puck and the other center (a relatively weak player) shot it right in the net - we lost the game. The further irony is that the team we lost to back then was led by an outstanding player named Scott Crilley - and Scott is on my team this year in the finals.

So this is pretty intense and layered with irony. The funny thing is that we cannot both win the championship - one will win and the other will lose - and in future years - we will again play togther - so we will have a good time but likely never get to another championship game - ever.

So this game is likely to be bragging rights for the next 20 years.

Just to make it more fun - last week in the semifinal game I broke my left index finger.

Click here for the X-ray image.

But I will not miss this game for the world - so it is all taped up and off we go. I am sure it will hurt some - but heck - that is hockey and this is bragging rights for a long time - even if I lose - I want to be on the ice.

In 12 hours - one will win and one will lose and history will be made - for a long time. Either way - it is a cool story.

P.S. Happy Mother's day

Posted by csev at 12:43 PM

May 12, 2007

Abstract: The Coming Functionality Mashup

This is my abstract for my faculty visit presentation next Thursday at the UM School of Information.

We have been hearing for sometime about Web 2.0 and how Web 2.0 allows to create new functionality by remixing and reusing existing content to produce new derived content. However, we can only go so far when the only thing that we can "mash up" is the content - we need to begin to have the ability to mash up functionality as well. The Sakai (CTools) software is successful as increasingly more capabilities are integrated into the software. This leads software that continuously increases in size and complexity simply to be successful (kind of like dinosaurs that kept evolving to be larger and larger - until a comet hit to wipe them out). This leads to efforts like Microsoft, Apple, and Google where slowly but surely they need to reinvent, rewrite, acquire, etc enough functionality to cover their entire scope of their domain in their own proprietary manner. At the same time we are seeing increasingly rich and powerful focused point solutions such as YouTube or Skype that would be a nice addition to any application - but are used in isolation. There is an intense need to build interoperable capabilities that can be mashed up to make new meta-systems. But this is difficult to do in a clean manner because of issues like identity, authorization, storage. This is particularly acute in the teaching and learning area where there in nearly an infinite variation of approaches to teaching which are desirable. Almost by definition, no single piece of software will ever cover the scope of teaching and learning. Customization, innovation, and extension must happen at the level of an individual user and yet these systems must be as robust as any other enterprise wide application with 100% availability and extremely scalable performance. The goal is to architect applications which meet the seemingly conflicting goals of enterprise scalability and reliability with individual extension and customization. Teaching, Learning and Collaboration systems such as Sakai (CTools) are in an ideal position to make a breakthrough innovation in functionality mash up because the need is so great. I will give a vision of the next few years of evolution of systems like Sakai to make those systems to address both important dimensions of the next generation of enterprise applications. The vision will outline the needs and goals of these next generation system as well as the challenges that must be faced to achieve those goals.

Dr. Charles Severance

http://www.dr-chuck.com/
http://www.dr-chuck.com/dr-chuck/resume/index.htm

Posted by csev at 11:58 AM

Recovering Real Media Files

In preparation for my faculty visit to the UM School of Information, I found I needed to recover some old media that I only had in Real Media - I had lost all the copies of the final video.

Several things did not work which I describe below. What did work is

Real7ime Converter (R7C) is a converter of any RealPlayer(tm) streaming medias (video and sound) to AVI/WAV/MP3 format. It is a realtime converter because it does not manage Real Time Streaming Protocol(tm) (RTSP) directly so the needed time to convert a media will be greater or equal to the time of the media.

This can be downloaded from http://r7cproj.euro.ru/indexe.htm

I also installed a copy of real Player 8 from my own archival copies - It worked with this Real Player - I don't know what other versions it works with - thankfully in the mid-90's as Real got weirder and weirder - I had the forthought to keep copies of all of the Real distributions :)

This worked swell - I got an uncompressed 320x240 AVI that I turned into Flash Video and MP4. Here is the result:

Understanding the Posix Open System Reference Model

Pretty cool - since I was dead in the water otherwise.

I *almost* got FFMPEGX working - I got it to play the RM by installing the reallib Helix stuff. The key was finding the reallib stuff since the Helix site seems to be quite broken (a good reason to do static pages over time).

Here is the link to the reallib stuff:

http://prdownloads.sourceforge.net/mplayerosx/reallib.zip?download

Here is the forum I used to find this link (thanks guys)

http://www.videohelp.com/forum/archive/t303407.html

Here are some links that simply did not work:

http://forms.helixcommunity.org/helix/builds/index.html?filename=20041216/all_clients-helix-20041216-macos-gcc3-pb.tar.gz

http://software-dl.real.com/12c9223f25e680d2d305/helix/20041216/all_clients-helix-20041216-macos-gcc3-pb.tar.gz

Urg.

Posted by csev at 11:42 AM

May 08, 2007

Hierarchy in Charon

Those of you watching my photo blog have seen some photos of new hierarchy support in Charon. I have now checked in the code.

Add a UI to display sites in a hierarchy. This all centers around
a new per-site property (sakai:parent-id). This allows the construction
of a hierarchy by having child sites point to parent sites.

This is a latent feature with zero UI impact unless it is truned on
by the addition of a property.

For more info see
https://source.sakaiproject.org/svn//reference/trunk/docs/architecture/sakai_pseudo_hierarchy.doc

See the above document for some next steps.

SAK-7907 SAK-249 SAK-8052

Thanks to the staff at Charles Sturt for the design brainstorming session...

http://www.dr-chuck.com/images/2007/04/index.php?img=25-04-07_232453_01.jpg
http://www.dr-chuck.com/images/2007/04/index.php?img=25-04-07_233028_01.jpg
http://www.dr-chuck.com/images/2007/04/index.php?img=26-04-07_055638_01.jpg

This was mostly coded in airports and on UAL flights 870 and 72.

http://www.dr-chuck.com/images/2007/05/index.php?img=03-05-07_180531_01.jpg

Sending portal-api/api/src/java/org/sakaiproject/portal/api/Portal.java
Sending portal-impl/impl/src/bundle/sitenav.properties
Sending portal-impl/impl/src/bundle/sitenav_ar.properties
Sending portal-impl/impl/src/bundle/sitenav_ca.properties
Sending portal-impl/impl/src/bundle/sitenav_es.properties
Sending portal-impl/impl/src/bundle/sitenav_fr_CA.properties
Sending portal-impl/impl/src/bundle/sitenav_ja.properties
Sending portal-impl/impl/src/bundle/sitenav_ko.properties
Sending portal-impl/impl/src/bundle/sitenav_nl.properties
Sending portal-impl/impl/src/bundle/sitenav_sv.properties
Sending portal-impl/impl/src/bundle/sitenav_zh_CN.properties
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/SkinnableCharonPortal.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/PDAHandler.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/SiteHandler.java
Sending portal-render-engine-impl/pack/src/webapp/vm/defaultskin/macros.vm
Sending portal-render-engine-impl/pack/src/webapp/vm/defaultskin/pda.vm
Sending portal-util/util/src/java/org/sakaiproject/portal/util/PortalSiteHelper.java
Transmitting file data .................
Committed revision 30129.

Posted by csev at 08:17 AM

May 06, 2007

Notes From Developer Workshop At Melbourne

These were my speaking notes. The better stuff is in the powerpoint.

PowerPoint.

Local Customizations

- Get into trunk - ahead of the game

Building a Tool

http://bugs.sakaiproject.org/confluence/display/BOOT/Home

JSF
RSF
JSR-168

IMS Tool Interoperability

Installing Sakai
Provider Source
Skin Documentation
Boot Camp

Sample Portlets in Sakai

Writing a Portlet in Sakai

IMS Tool Interop Portlet Source

IMS Tool Interop Test Site

Rutgers Link Tool (Using)

Posted by csev at 03:32 AM

Adding a new Portlet to Pluto 1.1

~/dev/apache-tomcat-5.5.20/conf csev$ vi tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="pluto"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat,pluto"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
</tomcat-users>

~/dev/apache-tomcat-5.5.20/webapps/pluto/WEB-INF csev$ vi pluto-portal-driver-config.xml

<page name="IFrame" uri="/WEB-INF/themes/pluto-default-theme.jsp">
<portlet context="/iframe-portlet" name="SakaiIFrame"/>
</page>

~/dev/apache-tomcat-5.5.20/conf/Catalina/localhost csev$ vi iframe-portlet.xml

<Context path="iframe-portlet" docBase="iframe-portlet.war"
crossContext="true" Manager=""></Context>

Posted by csev at 12:26 AM

May 04, 2007

Great - Now I am in Hawaii

The plane coming back from Australia had a bit of vibration and trouble so we diverted to Hawaii. We arrived at 5AM - I got a boarding pass at 10AM - 5 hours of line to rebook one plane load of folks. And the nice folks at UAL gave me a $7.50 meal voucher. I still don't know if If i wll make my connector in San Francisco.

Hawaii is way too humid - I expected it would be nice like San Diego - but so far I am not pleased witht he weather. Ah well - I am likely in a bad mood for having my flight interrupted anyways.

Hopefully it will go better now that I have a boarding pass, have free wireless, ar conditioning and checked in some code from the WorldClub and have my laptop getting charged.

Posted by csev at 05:02 PM

Portal Back Port Notes

Notes for when I make the 2.4 JSR168 portal work in 2.3.

charles-severances-computer:~/dev/sakai/tool csev$ svn commit
Sending tool-api/api/src/java/org/sakaiproject/tool/api/ActiveToolManager.java
Sending tool-api/api/src/java/org/sakaiproject/tool/cover/ActiveToolManager.java
Sending tool-impl/impl/src/java/org/sakaiproject/tool/impl/ActiveToolComponent.java
Transmitting file data ...
Committed revision 30048.

Posted by csev at 04:17 PM

May 02, 2007

I made Melete 2.3 work on 2.4

I got things working well enough for my demo by making a simple change to the project.xml

:~/dev/sakai/melete-2.3.m2/melete-app csev$ vi project.xml

<!-- 2.4 Patch -->
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.6.2</version>
<properties>
<war.bundle>true</war.bundle>
</properties>
</dependency>

<dependency>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.6.2</version>
<properties>
<war.bundle>true</war.bundle>
</properties>
</dependency>

Posted by csev at 05:02 PM

SakaiGer Family History

The Tiger in this video bears a striking resemblance to the Sakaiger

http://www.weebls-stuff.com/toons/kenya/

This video is similar but the similarity is less striking:

http://www.weebls-stuff.com/toons/kenya+live/

Posted by csev at 03:45 AM

May 01, 2007

Educause Australasia: Dancing with the CIOs and Head Librarians

I missed a bit about Australian Culture. When the program says "dinner from 7PM until midnight" - it is serious about the "until midnight" bit.

I just assumed we would eat and then go our separate ways - hence the logic of Karaoke at 9:30 PM.

That turns out *not* to be the case. We did have pre-dinner drinks, food, and a short speech and a magician for a while. All seemed to be pro-forma. I figured it was winding down in time to go for Karaoke.

But then the rock band showed up. Everybody - the CIOs - librarians - probably 150 people - *immediately* got up and started dancing. Crazy! In the US we would sit at the tables and complain about the loud noise and the go off somewhere else. The tables were empty and everyone was on the dance floor. And not like in the US - they stayed for every single song and only sat down when the band took a break.

It *did* go until midnight. Just like the program said. A few people including myself left right before the last set. I have never seen a group that liked to dance as a group more - except perhaps the Irish.

Live and learn - always an unexpected cultural experience - perhaps tonight will be Karaoke.

Posted by csev at 06:19 PM

Small Code Refactor in Portal

I did a bit of a refactor and removed some duplicate code that was getting ugly to maintain in

SkinnableCharonPortal.java
WorksiteHandler.java

It was the code that sets up the order of the top tabs. Some folks like Charles Sturt are interested in customizing this code and it is really sad to maintain it two places particularly when customizing it across a few releases.

It is a simple refactor - stuff that was natively in the context is now in a map called siteTabs like in this diff:

-#if ( $pageNavToolsCount > 1 || ! $pageMaxIfSingle )

+#if ( $sitePages.pageNavToolsCount > 1 || ! $sitePages.pageMaxIfSingle )

If this goes awry - you will see the string "$siteTabs" in your output. I have tested every place I could think of - but it is always possible to have made a mistake.

charles-severances-computer:~/dev/sakai/portal csev$ svn commit
Sending portal-api/api/src/java/org/sakaiproject/portal/api/Portal.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/SkinnableCharonPortal.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/WorksiteHandler.java
Sending portal-render-engine-impl/pack/src/webapp/vm/defaultskin/macros.vm
Transmitting file data ....
Committed revision 29819.

Posted by csev at 06:09 PM

NIFTY Feature - Single Tool Maximized

I just added a feature

http://bugs.sakaiproject.org/jira/browse/SAK-9799

This detects when there is only one tool present in the tool list and then only shows that tool. Like this:

http://bugs.sakaiproject.org/jira/secure/attachment/13879/singletoolmaximized.jpg

This requirement was inspired when I went to Cambridge and watched a seminar where the faculty member did his *whole class* in the wiki. I thought that it was a brilliant and clever approach.

This allows users to even redirect their whole site to another LMS bu using the web tool as the only visible tool and pointing to a URL to something like the /portal/worksite URL.

Other approaches might be melete-only, resources-only, discussion-only, LAMS-only. You could even use the iframe tool and do your whole site using DAV :) The web content tool effectively allows a complete redirect of the site to some other place!

I hope folks find this useful.

Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/SkinnableCharonPortal.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/GalleryHandler.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/SiteHandler.java
Sending portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/WorksiteHandler.java
Sending portal-render-engine-impl/pack/src/webapp/vm/defaultskin/macros.vm
Sending portal-util/util/src/java/org/sakaiproject/portal/util/PortalSiteHelper.java
Transmitting file data ......
Committed revision 29781.

Posted by csev at 09:46 AM

Karaoke Tonight - Melbourne, AU - All welcome

So the Karaoke plan for tonight is as follows:

http://www.kbox.com.au/contact.htm

The above URL has a map

I will try to be there by 9:30 or 10PM. I have no idea how many people will end up there - but what the heck - you have to get the party started some way or another.

By the way the free bus/shuttle apparently stops at 6PM - so it is either a cab ride or a walk.

TEL: 9663 9663
EMAIL: info@kbox.com.au
ADDRESS: 52 LaTrobe Street (b/w Russell and Exhibition Street), Melbourne

• Train: Nearest station is Melbourne Central Train Station
• Trams: (1) City Circle (free)Tram Service (Old Melbourne Gaol Stop No.12), (2) Tram Service No 24, 30 (Stop No. 7)
• Bus: Melbourne City Tourist Shuttle (free) Stop No. 15 Exhibition St, near Latrobe Street

P.S. My talk went well - even though I pitched my slides at 5AM and started over :)

Posted by csev at 03:40 AM