[first] chairman’s chat

Chairman’s chat

For other posts about the 2014 FIRST conference, see the index page.  (written on my iPad; please excuse typos)

On stage were mostly coaches and mentors. There were also a few students and a 14 year Chairman.s judge. It makes sense to be mostly adults since they were with the team when they won. The format was all Q&A. Here are the points I found most interesting.

General

  • Become a better team by submitting because causes reflection on team culture. The process is the key.
  • Make sure everyone on the team knows what is in your written submission
  • how can make the world a better place. Globally, not just in community?
  • Try crazy ideas. Some work, some don’t

What were your presentation styles

  • created theme and used posters during presentation to give structure to presentation
  • miss daisy spent a lot of time on vidego, showed video during presentation after intro and then verbally highlighted some parts, then q and a. Made it like video w as a fourth person in the room
  • tell story so emotional connection
  • be memorable – used recipe listing what did and dressed as chef – onem inute for intro, one minute to describe each bowl and one minute to conclude
  • judge noted what seen: no single right way. What matters is what you did for the 12 things asked. Theme based on teams skills; doe sn ot have to relate to team name. How you can best tell your story
  • might need different presentation at regional vs championships. There gional judeges may already know story from being in commmunity or having heard it before

How convey community outreach and showing chairman’s worthy (vs engineering inspiration)
[A lot of silence]

  •  don’t look at it that way. Are you trying to change team, school, community,etc
  • about sustained excellence. Focus on different things each year and eventually have enough

Video

  • See what your story is
  • Watch old winning videos to get ideas
  • used to be professionally made, no longer allowed to be. But still helps create a concise, coherent story
  • Paul Lazarus has tips on creating video

What do to get judges to remember yourself

  • what you say matters more than how look . Need to tell in a way that isn’t the same as everyone else. Everyone created FLL teams. How did you do it? How did it benefit others?
  • numbers still matter
  • handouts. Leave something with the judges. Fun swag plus something informative about what done
  • practice your presentation, be good at it

Can you re-use the theme?

  • yes. Technotics did dance every year. Judges remembered brand from repetition as well
  • know your material in case get asked about it

How respond to cookie cutter approach to chairman’s (start x teams, do y hours of community service)

  •   one of the questions is about how innovative/creative. Another isa bout how many teams started. Both parts are important. You need the numbers and to be special
  • it is like cooking. How beat serve your community and cook for them
  • never say no when asked for help or someone has an idea

Do chairman’s and engineering inspiration judges talk to each other?

  • separate deliberation. Talk at end about top few for all awards to get more input.
  • does team act they way describe it?

Essay more factual or emotional

  • need to find a balance
  • picture your team when announced at an event if win. What would be said about it. Daisy submitted a booklyet “daisy by the nubmers” to show calculationsa bout where numbers come from.
  • tell it from the point of view of a person so have perosn behind numbers
  • numbers come first. Teams dont make upth ings but do exagarate. judges notice and reject team
  • who is best to present,. Think about who conveys passion when speak

How balance past vs current activities.

  • both matter. Here is what we are doing
  • chairman’s is about sustained excellence. Emphasize last five years. Judges repeat for a long time. If you say you plan to do the same thing every year and dont get to it, looks bad. More emphasis on what actually did vs what plan to do
  • facts can be both quantitative and qualitative
  • the internet is a great tool. Google yourself and see how many hits. Shows how w ell message spread
  • numbers addup. If on the local news, how many people see it?
  • knocked down numbers ten percent so didnt over estimate

How much do judges look at supplemental materials?

  •  helps to go back to written material within panel
  • there are multiple judging panels helps when discusss with other panels so they can see

How best answer questions in interview

  • no one best way
  • be concise, factual, passsionate
  • nice when can point to answer on posterboard

On use of visuals

  •  a few presentations were good without visuals
  • visuals generally help
  • visuals are a problem if waste time
  • not good if standing in front of judges not sure who would say what
  • photos are good. Don’t just repeat what you are saying

My impressions:
Despite mentoring a team for 5 years (that has won regional Chairman’s several times), I didn’t really know what the Chairman’s award was about. I think that is because a lot of things “just happen.” Which is good – the point of Chairman’s is to have that culture. I think it would be useful for everyone on the team to read the 12 questions (in the manual) that go into Chairman’s.

cropping video fast for dummies on a mac

Two years ago, I wrote about cropping video fast for dummies on Windows.  I now need to do the basically same thing on the Mac.  This time is a little simpler as I only need one continuous segment cropped.  And I have more experience.  I’ve done it once before 🙂 on a different operating system.  However, I still don’t have any special software.

Where I started

The original video is 2 minutes and 44 seconds.  I want to get a 5 second or so video of the robot shooting a basket.

How I did it

  1. Learned that I do have video editing software – iMovie – that came on the Mac.
  2. Use ClipNabber to download youtube video.  Had to click “clipnabber classic” to get to the download screen as the first screen is about some Mac software to download.  As I don’t do this often, I don’t feel the need to download anything.  This downloaded the clip as an .mp4 file.
  3. Downloaded Squared to convert from mp4 to something iMovie can import.  (Squared beta lets you download directly from youtube, but I’ve already downloaded it.).  Open mp4 in it and choose export to DV>  Conversion took less than a minute.
  4. In iMovie, file > import > movies
  5. iMovie automatically splits the video into short thumbnails.  Drag the one(s) you want to the top.  It’s cool because you can select a range so this serves as a rough cropping.  You can also join clips that way.
  6. Click on point of subclip you want to start and choose split.  Repeat for end of subclip.
  7. Right click video and choose detach audio.  Select the purple audio track and select cut.
  8. Share > Export movie

Converting to Flash

It was requested I provide a Flash version of my 4 seconds of video.  There is software you can download that does this, but I didn’t want to download something (trial version) that I’d only use once.  Another option is to upload it to youtube.  I went with the youtube option.  Then back to ClipNabber to download as flv (flash.)

How did it work?

This process was better than the Windows way (without a real editor.)  iMovie is impressive.

The final product

The completed video does show what I wanted.  It was easier to get rid of the sound this time too which is good because I won’t control the viewer’s machines this time.

3 plus/3 minus in WPILibj robotics library

WPILibJ is a library used for FIRST robotics code when programming in Java.  Helping the Stuypulse team gave me the opportunity to look at some of the code.  In honor of ship date this year, I decided to blog some thoughts on the library.  You can see the JavaDoc to follow along.

Good design point #1
The class names have strong ties to the “business.”  Class names like Joystick , DigitalInput and SpeedController are very clear and provide a mapping to a good concept.  They also encourage good object oriented code.

Good design point #2
For the most part the documentation is good and the classes logical.  Many classes have useful comments and tips on usage.

Good design point #3
There are patches released through the competition season.  Care is taken for changes to be backward compatible and not break existing code.  Much appreciated on a six week project.

Surprise #1
In the Image class, care appears to be taken for immutability (classes that cannot be changed.)  It has a package private constructor.  Only getters are provided.  The object can be written to a file, but you need to create a new object if you want to read from a file.  Then comes the surprise.  The image instance field is public!  And that public field is of type Pointer – a wrapper to native memory.   Eek.  Memory leak if you mess with it without being careful?

Surprise #2
The CANJaguar class had the biggest surprise.   When you instantiate an object, you pass the control mode.  Straightforward.  I expect the code to behave differently when different modes are passed.  Then you try to call setVoltageRampRate.  The JavaDoc clearly states what it does:

Set the maximum voltage change rate. When in percent voltage output mode, the rate at which the voltage changes can be limited to reduce current spikes. Set this to 0.0 to disable rate limiting.

Then there is what it does in reality.  If the control mode is kPercentVBus or kVoltage, a formula is used to set the ramp rate.  For the other three modes, the method does nothing.  That’s right nothing.  It doesn’t throw an exception or set it to zero or log an error or anything.  Which means you don’t realize it doesn’t do anything without reading the code.

Surprise #3
I can’t really call this a surprise as I’ve known about it since beta testing.  But I was surprised then.  Last year, there was a Dashboard class for custom output.  It was hard to use and they added a SmartDashboard class this year.  And logically, they added an interface IDashboard for the commonalities between them.  There aren’t many commonalities, but that’s not what I find surprising about the interface.

To use the old Dashboard, you write:


Dashboard d = DriverStation.getInstance().getDashboardPackerLow()
d.addXXX();

To use the new SimpleDashboard, you write:
SmartDashboard.init();
SmartDashboard.logXXX();

That’s right – the new one uses statics. This is where the interface becomes confusing. If we are calling static methods, an interface doesn’t make sense.

The worst bug
The worst bug we encountered wasn’t actually in the WPILib code.  It was in the underlying National Instruments code and affected all three wrapper APIs (Java, C++ and LabView.)  The Encoder class works in an illogical manner. In particular, it only lets you use the first, third, fifth and eighth encoders to get the rate of movement.  (No, that isn’t a typo.  It is a seemingly random collection of orders rather than every other.)  That’s if you are in one mode.  In another mode, the working encoders change.  We have to fool the low level code by creating dummy ones to the “real” encoders get the proper constructor call ordering.  While this was documented on chief delphi (the unofficial FIRST robotics forums), we wasted a lot of time assuming we were doing something wrong.

Conclusion
The longer text for the surprises doesn’t mean that the code is bad.  Just that there is more to write about unexpected things. All in all, I appreciate all the API gives us. Congratulations to team #694 (Stuypulse) on a great build season and for completing an awesome robot on time!