Motorcycle Racing Part II

This weekend was all about motorcycling – Friday and Saturday were up at Leota MI with Brent, and my brother Scott and his son John. We had a great time sharing three vehicles with four people. This allowed for plenty of time relaxing around a campfire between rides.
On Friday evening the three went out without me and went farther than told them to go and got sort of lost – they had left without the maps and GPS and my instructions as to what to do and not to do. I spend a nervous hour sitting at the campfire, thinking I would have to call the sherrif to haul them in – the trails at Leota are great and easy and fun – but a wrong turn can send you on a 50 mile trip. But as the sun set they came back – they had gotten a little lost but found their way back. Whew – I immediately gave Scott a map and the trail riding lesson :)
We stayed the night in Harrison, MI – had dinner at a bar with a live band – pretty cool. I did not like the place we stayed (won’t mention any names) – AC was not working and the shower ran out of water. But the next morning we did visit a really nice place that we will stay for our next trip the Lakeside Motel and Cottages. Fishing, swimming, boats to rent, all right on on Budd Lake and in downtown Harrison.
This is the first time I have ever been to Harrison, MI – going up to Makinaw all these years – I have driven *by* Harrison 100+ times – it is a very lively town – with local restaraunts, flea markets, nice little shopping center – it is not a”cute” town – just a very functional town and nicely close to mid-Michigan and to motorcycling and snowmobiling.
On Saturday John and Brent spent time in the scramble areas and really short trail rides on their own. Scott and I took a longer trail ride and explored some new areas – we found way points four and five finally and found the way back to waiypoint 3 from the hill climb that has eluded me for all these years. Scott increasingly became more skilled on the ATV and I had more trouble keeping up with him. By the time we got back from our 10 miles my bike had been ridden harder than in a few years – a few bolts loosened up.
Sunday morning was another Vintage Motocross event – this time at the Battle Creek Motorcycle Club. I wanted a video of it so I asked Scott and John to come along as cameramen.
The day dawned with the first rain in 5 weeks – great for lawns – bad for me on a morotcycle – but I pressed on. I met Ben Wanke – the Vintage MX Chairperson and he introduced me around. The Vintage MX group is like a family. They even helped pull start my bike when it flooded and would not start.
The track was VERY sliick and muddy. I fell down for the first time – I was coming out of a curve and gunned it before I had enough traction and the bike just slipped out from under me – thankfully that was during practice. During the first moto – my goggles got wet and muddy and I had to take them off – it just meant blinking your eyes when a faster bike flies by throwing mud everywhere – not so bad. Later I noticed that lots of riders rip off their goggles after they get gunked up.
I used my strategy to start last and be behind the riders – but that kind of failed because they ran two classes at the same time – I was in the first class – about a minute later they dropped the flag on the second group of about 10 riders – many of these guys caught and passed me – so plenty of mud in the face.
While there are about 25 riders on the track at the same time – there are multiple classes running at the same time. I am in a class called Evolution for bikes that are 1981 and older. (Vintage <= 1974, Evolution <= 1981, Innovation <= 1989) - for this race there were only two entrants in my Evolution class. After the race I went up and found out that I had come in first in my class. And that if I raced a second time I and came in first again - I would win a trophy. So while Scott and John had to go home - I convinced Brent to hang out for another hour so I could race my second race. This time I knew who was in my class - racer 641 from Clio MI (I forget his name). At the start this time - I actually wanted to compete - not just survive. When we started out - I stalled my bike in the excitement - and watched 641 absolutely fly away from me - by the time my bike was restarted - he was long-gone - and I could tell he was a good rider - much better than me - so instead of competing with him - I just wanted to survive and go fast enough not to be lapped (and get mud in my face). Again the pre-1974 bikes started a minute behind me (they are supposed to be slower bikes :) ). Soon they began to catch and pass me - and for a few seconds I was actually racing two abreast and keeping up - but then I would slow down for something and they would fly away. I actually passed a guy who was having some kind of trouble with his bike and going slowly (my first motocross pass) - then three turns later - his malfunction was apparently fixed and he flew by me - throwing dirt in my face. So again I came in last (second place) and got no trophy because if there is a tie the person placing higher in the second race gets the trophy - I was 1-2 and the other guy was 2-1 as he won the trophy. After the race 641 came over and introduced himself and his two children - they also had a Polaris Predator ATV they were using as a pit bike. He explained that he had run out of gas in the first race - that explained a lot - because I had won first place starting out last and never passing anyone. That also explained why in the second race he kicked my arse so handily. Ah well. Back to low expectations. I know I will never be competitive in motocross - when I was 16 I was not competitive - I am not crazy enough to be competitive - even old racers are pretty competitive. But racing is fun - even without winning - I may continue to do it for the exercise and comraderie. Here are the pictures - things are pretty muddy as you can see. I am feeling pretty tired, muddy and waterlogged. http://www.dr-chuck.com/images/2007/08/index.php?img=05-08-07_105716_01.jpg
Sorry Georgia Tech – the T-Square t-shirt was at the top of the pile because I wear it a lot – I did not know how muddy it would get – I am sure it will clean up with a good washing – it is just sand.

A new course I am working on – SI201

I am working with a number of others to build a new Undergraduate curriculum in Informatics at the University of Michigan. Paul Conway is our leader. My main role is to define a new course – SI201 – a beginning programming course focusing very much on Web 2.0 approaches to information.
I attach my *DRAFT* course descripton below. Comments/improvements welcome.

Continue reading

Abstract: Sakai as a Virtual Research Environment

Sakai is a collaboration and learning environment suitable for both teaching and learning and collaborative research using the same software. Sakai sees teaching and learning and collaborative research simply as variants on collaboration. Using the same software for both purposes serves several purposes – natural crossover of activity between teaching and research and the reduced need to run multiple servers for multiple purposes, and a reduced need for users to learn multiple software packages. Sakai supports several modes of Virtual Research collaboration – Sakai can be used as a collaborative portal for a a research effort where Sakai provides both the public facing web-site for the research organization as well as a Lotus-Notes like collaborative back-end to support the work of the organization. Sakai also supports a mode where the system is installed as a teaching and learning tool with research collaboration features are enabled – this enables research collaboration to happen and grow organically at an institution. Sakai supports the notion of federating identities from multiple organizations allowing Sakai groups to be formed with a combination of users from within and outside of the organization.
The presentation will cover the features and approach used in Sakai to support virtual research and describe particular features useful to virtual research. Sakai’s approach to library and institutional repository integration will be described as well. A case study will be presented as well as a vision for a service oriented approach to functionality which will greatly improve the flexibility of deployment of virtual research environments.

Turning a page….

As of Tuesday morning July 24, 2007, I am no longer the Executive Director of the Sakai Foundation. Michael Korcuska is now the Sakai Executive Director and he is already doing a great job and I will continue to work closely with Michael to ensure a smooth transition.
For me personally it is a big transition – not so much because of a change in title – but instead in a change in what I will be doing with my workday and work week. I have had the distinct pleasure over the past 3.5 years to have a single job to do and great flexibility, resources, and people to advance the cause of Sakai.
Each day I could wake up and think about only one thing – “how to move the Sakai needle in the right direction today” – for me this was a blend of all the things I like to do – writing code, talking to people, making decisions, making presentations, traveling to far off lands, editing a video, sitting across a table from a faculty committee evaluating Sakai, and on and on.
We operated at a fast pace – we built the bicycle while we were riding it. We defined “Community Source” under crucible-like pressure and then re-adjusted the definition when we needed to evolve.
My job with Sakai stretched every bit of my skills to the limit and made me grow as a person as a result. I am very thankful for that.
I am amazed at the diverse talent that we have assembled around Sakai from all over the world and the dedication of the Sakai community. Working this fast and under this much pressure leaves everyone some bumps and bruises. What amazes me is that through it all – we have stuck very much together like a family – we never let small and medium sized issues distract us from the overall goal. Ultimately we knew that from the beginning we were all in this together so we had to adjust as we went along.
As I drop from 50 hours a week on Sakai to 4-5 hours per week, I am happy that there are so many passionate members of the community that do such a good job and with such dedication.
Starting now I will be very focused on learning Ruby and preparing for my classes. This Fall will take a lot of my attention to make the transition back to the faculty approach to things – teaching, writing papers, writing grants, not-much travel, etc. This is the first time I will be full-time in a faculty role – so I want to do it well.
I would just like to close thanking everyone in the Sakai community – without your willingness to make a commitment and take a bit of a risk on Sakai – we would have nothing at this point. Each new pair of hands reduces the risk for the rest of the community – we have grown to an amazing point in Sakai – the key is not just adoptions – but the size, strength, and diversity of the worldwide creative community around Sakai.
For me I never set out to just produce software – I tried to build a real community of friends that would naturally produce software once we got together and had a few beers.
I am pleased to report that we have made excellent progress on the “making many friends” and “having a few beers” goals.

Dr. Chuck Goes Motocross Racing – And Survives

I have always wanted to try motocross racing – so this weekend I decided to give it a try. I had to purchase some boots, a chest protector, and a new set of golves – also I had to join AMA District 14 and pay a $20 pit fee and $25 class fee – and there I was racing with 7 other old guys on old bikes.
My motorcycle is a late-70’s Suzuki PE175 which I have owned since the early 80’s and have ridden it through out that time. The PE175 is a trail bike that was based on a motocross bike of an earlier year. It is kind of over built and has started on the first kick for over 20 years.
My race was uneventful. I had two goals: (1) not crash and stop the race (2) not get lapped. I was planning in going for last place – I accomplished that as well.
At the practice I met the other riders – that was fun – they encouraged me to relax and gave me good advice – slow down over the jumps on an old bike. The track was really mucky in places – I really had to stretch to make corners without slowing to a crawl – this pointed out a pre-race mistake – need to stretch. The first lap I was stretching while riding. I won’t make that mistake again. The mucky track made for some very obvious lines that were easy to follow. Practice was three laps – seemed like forever.
At the start of the race, I let everyone leave before me – and they did tear off. One guy had a 1999 bike and the others were real vintage. Each lap I got more confident – particularly of where I could go fast and where I needed to go really slow – there were some double jumps on the back straight away that I almost endo’ed just going over the hill because it dropped so quickly after the crest. After a while I started to feel like a big sand pit in Leota and just started riding. By then I had been lapped by the guy with the 1999 bike (but no one else). I was quite ready to get off the track after four laps.
All in all a fine Sunday morning. Here is an Action Photo.

Voting in Sakai

Just a review of the way we vote (like Apache) on decisions that need to be made. Vote have two purposes: (a) make a decision and (b) stimulate disucssion on complex issues.
First I will review how I have seen Apache (Pluto in particular) operate.
In Apache only committer votes count.
In practice in Apache – generally the trend is toward forward progress. Working code that does not break stuff is generally allowed to move forward. When a proposal is voted down – usually it means something is “broken” or will break something. Generally when something is shown or discovered to be broken or is a generally bad idea, the proposers don’t even wait for more -1 votes – they simply withdraw the proposal and go back and fix what they have.
In the case where there is one or a small number of -1 votes – there is generally four cases: (1) there is really something wrong that is quickly relaized by the whole goup in short disucssion and the proposal is withdrawn, (2) it turns out to be a misunderstanding or something that a quick discussion resolves and the -1 vote turns to a +1, (3) there is some technical ickiness in the approach – the -1 voter volunteers to quickly help fix the problem in a week or so, or (4) it is an interesting opinion from someone not really in the mainstream and after some examination – it is ignored and things move forward.
In Sakai, this is the rough procedure:
If it comes down to a “count” – the votes that “count” are the folks with long-term commitment to the particular element in question.
In Sakai the “project team” is more than just developers – it includes designers, usability experts, developers, etc. The key is that the counted vote is amongst the people with a history of and plans to continue directly working on the particular part of Sakai that is being discussed.
Any one in the community is very much encouraged to vote and comment and the project team of the element in question are encouraged to listen to and strongly consider the community votes.
Negative votes should include what it would take to make the vote positive.
It is the responsibility of the project lead and project team for the component to evaluate the votes/comments, etc and make the “wise” choice given the discussion.
Summary
We want more votes to happen and more exploratory development to happen in branches with votes before the merge. This gives the community a better chance of catching things that might destabilize the product or cause harm in other ways.
This approach is designed to give project teams a safe way to have discussion about issues and get community input while maintaining the project team’s control over their own destiny.
Without the rule that the project team gets the final say, it tacitly encourages project teams to quietly make their changes in trunk and then we all get surprised at release time.
We have a number of examples in our past history of these “trunk release surprises” – they are not so much fun – because we are faced with the decision “do we keep the flawed stuff we have in trunk – or go way back and lose all the neat new features”.
So to encourage open discussion it is important to remember that people outside the project team do not have veto power with a single negative vote.
Folks who want things done differently should get involved in producing the solutions to problems – not just sending out -1 votes when a vote call is being done.
We have to remember tht project teams often spend weeks or months of work to get something working well enough in a branch to propose a vote. When the work is complete and being voted on – it can be very costly to delay the merge of the work significantly because as time passes the merge becomes harder and harder. So we need to make sure that we have a solid reason to tell a project team to “go back to the drawing board”.

New BootStrap Script for Sakai and Maven 2

I have produced a new script for us folks fearful of Maven 2 and/or with a poor memory.
This is a bootstrap script. It only requires Unix (preferably Mac OS/X), Java and SVN – it does everything else including:
– Installing the right version of Maven
– Installing and setting up the right version of Tomcat
– Putting the demo sakai.properties into Tomcat
– Setting things like MAVEN_OPTS and JAVA_OPTS
– Telling you what to do to your .bash_login file to make live easier
– Wiping out the sakai bit of your Maven 2 repository to insure a clean slate
– Checking out the Sakai trunk (tags can be specified with a parameter)
– Compiling the Sakai trunk with Maven 2
– Deploying Sakai to the nice fresh tomcat
– Then it even starts the Tomcat
All with the fresh, new hip Maven 2.

Continue reading

Maven 2 Notes

Upgrade to Maven 2.0.6 because I had 2.0.3
http://bugs.sakaiproject.org/confluence/display/ENC/Using+Maven+2
<settings xmlns=”http://maven.apache.org/POM/4.0.0″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd”>
<pluginGroups>
<pluginGroup>org.apache.pluto</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sakai</id>
<properties>
<maven.tomcat.home>/Users/csev/dev/apache-tomcat-5.5.20/</maven.tomcat.home>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sakai</activeProfile>
</activeProfiles>
</settings>
mvn clean
mvn install
mvn sakai:deploy