Getting my iPad ready for FIRST robotics season

Last year, I started volunteering as a programming mentor to the Stuy Pulse FIRST robotics team.  Since kickoff was yesterday, I set up my iPad today for this season.  At least the beginning of it; I’m sure I’ll have more ideas as the season goes on.

Background

The internet isn’t too reliable in a New York City high school.  There is (usually) wifi, but it doesn’t always work.  It’s also proxied through the Department of Education which doesn’t allow things like SVN or GIT connectivity.  Luckily one can at least view files through a browser.  There’s also way more team members than computers causing a lot of crowding around the screens.

What I set up

Use case Details Apps used Impressions so far
Skim game manual as soon as it is released and refer to it during discussions. Before kickoff, I downloaded the encrypted game manual and stored it in my dropbox for offline use DropBox

GoodReader ($2.99)

Positive

It worked.  GoodReader let me type in the password.  I was able to look up everything I wanted and a student on the team also referred to my iPad.  Also positive was the fact I had a cached copy, because usfirst.org promptly crashed right after the announcement of said password.

Negative

GoodReader doesn’t cache the password.  Even if you don’t close the app and your iPad locks, you get to type the password in again.  Which wouldn’t be so bad except the password was “5Time4For3Robots2to1Dance!”.  Nice and easy to type in on an iPad, right?

Be able to blog from the iPad There are some lulls when the programmers are waiting for use of the robot.  I want to be able to do other things during this time besides try to surf the net on a tiny BlackBerry. WordPress I’m very impressed  so far with the WordPress app.  I wouldn’t want to publish directly from the iPad because it is hard to type with 100% accuracy.  WordPress saves what you write as a draft accessible by both the iPad app and the regular internet.  This means I can patch up what I wrote in my browser before publishing.
Download the unencrypted game manual Entering the password repeatedly as been a royal pain.  I downloaded the unencrypted manual from a mirror (that grabbed it before the site went down). Dropbox

GoodReader ($2.99)

Very routine.  I deleted the encrypted file from my dropbox, added the unencrypted one and moved on.  The only snag was GoodReader still had the encrypted one open.  Closing GoodReader and reopening it, solved that.
View WPI Javadoc offline Unsurprisingly, we used the JavaDoc a lot last year.  It would be nice to reference it without competing for computer use with the person currently programming. DropBox

JDoc Reader ($3.99)

JDoc Reader was easy to set up.  I transfered a zip file with the JavaDocs via DropBox and chose “open in” JDoc Reader.  JDoc reader than imported it and provided a nice GUI for use.  I like that JDocReader lets you import any JavaDocs since these aren’t common ones. (Most JavaDoc readers I found were for specific docs.)  I didn’t download the JavaDocs for Java itself, but I will if we find we need it.
View WPI Python offline We are trying out Python as well this year.  The Python “API” is really just a large text file. DropBox

iUnArchive ($1.99)

Text Viewer (built in)

It’s awkward to open such a large text file.  Text viewer does it, but I’m still trying to get the hang of this.  (Will update this post when I learn how. For now it is a question)
View git This year we are using git instead of subversion.  (good idea since we can’t commit realtime) GitHub Viewer Lite Positive

The install was easy.  I entered my github username/password and it linked to my repositories and the like.

Negative

I was hoping I could save some files for offline viewing.  This doesn’t appear to be possible.  Not too important since team members will have checked out from home and have local copies of the repository on hand.

And of course, I have twitter etc already.  I actually had all of these installed except JDoc Reader.  I listed the ones with direct relevance to robotics.

I also probably need to add some manuals to DropBox.

Conclusion

Some of the students bring their own laptops so I expect the docs to be present.  This makes it easier for me to reference them.  And provides another copy for team members to use.

Note: followup posted

managing my inbox

Email overload!  Must change something.

Before

Up through November, I thought I had decently organized my gmail.  I had filters set up to direct certain kinds of mail to labels that could be read on demand/on the weekend/etc.  I was able to find most things that stayed in my inbox.  I did have a constantly growing inbox size, but it didn’t bother me.

The problem

Early this fall, I took a number of flights within six weeks.  My system sputtered and fell apart from that.  I learned I didn’t have a way to deal with “I’ll do that later” things.  I had been using gmail’s star for that, but there were too many.  When I got home from each trip, I had dozens of starred items and countless more I hadn’t even read/processed.  My inbox size shot up so I couldn’t find things.  I didn’t have a clear picture of what needed doing.  Clearly something needed to change.

What I tried – Active Inbox (Getting Things Done)

The first thing I tried was ActiveInbox‘s Getting Things Done style plugin to gmail.  Basically, you move each e-mail from your inbox to a state (action/waiting/someday/etc) and a project(javaranch/robots/blog/etc).  This gets them out of your inbox and into an organized state.  The plugin also contains some helper features like integrated access to previous mails to that person

What I liked:

  1. Forcing me to have flow
  2. Reminding me to get stuff out of the inbox
  3. Getting me in the habit of having flow

What I didn’t like:

  1. Gmail filters only let you automatically direct e-mail to  one label.  This means my filters are sending things to “S/Action/Robots” but not “P/Robots”.
  2. Gmail was very intermittent about showing me the ActiveInbox tree to view mails and the normal list of labels.  When the tree was showing, I had trouble viewing things because I couldn’t view the categories I created under “S/Action” individually.  I could only read “S/Action” in one fell swoop.
  3. When on another computer, ActiveInbox isn’t there and you have to choose the labels you want manually.

Overall impressions:

  • Active Inbox got me more organized.
  • Active Inbox trained me to think about state in my personal mail.
  • Problem #1 is bothering me too much to continue using Active Inbox, but I am creating state based labels and using them instead.

In other words, I used Active Inbox as training wheels for a bike.

What I tried – 0boxer (Zero Inbox)

While I still had Active Inbox installed, I tried the 0boxer game.  The game has a banner on top of your gmail that tells how many points you have.  It is supposed to motivate you to get to zero mails in you inbox.

What I liked:

  1. Blatant reminder to go through mails
  2. Counts of how well you do each day

What I didn’t like:

  1. It slowed down my gmail noticably.
  2. It said I got to zero inbox when I hadn’t.

Overall impressions:

0boxer was a good way to go through my “legacy” e-mails.  With Active Inbox, I declared triage and said I would only manage e-mails received after September 22nd.  0boxer helped me go through those mails.  I did uninstall 0boxer after about 900 deletions due to the negative performance implications.

Where I am now

I’m actually in a comfortable state now.  I still have about 50 pre September “triage” e-mails left.  (out of about 200 originally.)  I have a system that is working for me.  It still involves the inbox/stars for very short term things.  But now I have a consistent number of post September e-mails in my inbox and an organized set of labels for time/type of things.  Active Inbox taught me the importance of using two labels for the same mail.  Even without Active Inbox, it really helped!

git plugins for eclipse and netbeans

Last year, I tried out Git for the first time.  The command line was fine, but I really like my version control to be integrated into my IDE.

Overview

Git shines at some things.  Aside from the common ones, it is useful when internet access is unreliable.  We take connectivity for granted.

NetBeans

I hadn’t tried the NetBeans plugin last year. I mainly use Eclipse and only use NetBeans when working with a local robotics team. As such, I haven’t used NetBeans in eight months and needed to update it before I could try installing the NetBeans Git plugin.

Note: This Git plugin is in experimental mode. It will likely stay there as Oracle is working on an official plugin. Check Oracle’s page for updates. (Nice to see they didn’t abandon NetBeans after taking over Sun.)

The install procedure to connect to an existing repository:

  • Tools > Plugins
  • Select available plugins tab
  • Search for git
  • Click checkbox next to nbgit
  • Click install
  • Next and agree to license
  • Install
  • Continue to acknowledge it isn’t a signed/trusted plugin
  • Finish
  • Close
  • Team > Clone Other
  • Enter URL of git://github.com/prog694/frc
  • Enter directory/clone name if want to change. I had to change the clone name since the default was in use from last year’s Subversion project.
  • NetBeans looks for projects in that repository. I got a pop-up saying 7 projects were found and was asked to click “open project.” Select one or more projects to open them.

Eclipse

I tried egit again. This didn’t go well last year.  It’s now a year later and I’m on Eclipse 3.6 (Helios) instead of 3.5.  Things went much better this time around.

The install procedure to connect to an existing repository:

  • In Eclipse, connect to the update site.
  • Download all available plugins (egit and jgit).
  • Eclipse restarts
  • Change to the Git browsing perspective
  • Choose “clone Git repository”
  • Enter the URI.  In my case it was git://github.com/prog694/frc.  Note this same repository is available in a browser at https://github.com/prog694/frc.  All I did was change the protocol to git to connect. 
  • Since this repository is open for public browsing, I do not need to supply a username and password
  • Click next
  • Click next again to select the master
  • Click finish
  • Wait a minute or two
  • Expand until you find the project you want to checkout. (In this case, the actual project is a NetBeans project in this case so you can’t check it out as a project.  You can browse it in the repository view if you really want to check something.)

Conclusion

Both plugins are intuitive to use if you’ve a CVS/SVN plugin before.  Right click the project, choose “git” and the relevant option.  It’s nice to see the integration is seamless now.