Netbeans + Subversion + Windows XP

By on

For my teaching I’ve been using Netbeans this semester, which has overall been wonderful.  Overall Netbeans has been an even better experience than Eclipse for teaching — though both have a steeper learning curve than I’d prefer.

I’ve enjoyed Netbeans’ built-in subversion support.  (This is not a differentiator with Eclipse, just a comment.)  However, getting subversion working reliably with netbeans on a windows box is a bit fiddly, and the online documentation makes it seem easier than it is.  It’s easiest to break the setup into steps, and get each of them working before moving on to the next step.  (Part of what makes the documentation a bit complicated is that there are many alternatives.  I’m just going to describe one simple alternative, that assumes that you have a shell account on the Unix computer that contains your subversion repository.)  Here are the steps:

1. Get plink (from putty) working on your box.  Plink will be used by CollabNet to tunnel svn+ssh subversion connections.  First install the full putty from the web site.  Then create a .ssh key for putty using ssh-keygen, store it in a safe place on your Windows computer, and install the key in the authorized_keys file on your Unix server.  Then test with:

./PLINK.EXE -v -l <username> -i c:/path/to/key/file/id_rsa_putty.ppk <remote-host>

The result should be an ssh session to your remote host.  (plink is not a good client to actually use for ssh — prefer putty — but this is a simple test that it’s working.)  (I’m using forward slashes in the above because I run it in cygwin shells.  You’ll need backward slashes if you run it in the traditional unix command console.)

2. Install CollabNet’s Subversion Client.  They have a simple installer.

3. Look in your Application Data directory for the Subversion subdirectory.  (It’s possible you have to run the Subversion Client once to cause this directory to be created.)  Edit the config file in that directory.  Look for the section called “tunneling”. In that section, after all the comments, add a line:

ssh = c:/Program Files/putty-0.60/plink.exe -v -l <username> -i c:/path/to/keyfile/id_rsa_putty.ppk

Here you use forward slashes, because the Subversion Client will translate them.  The path to plink.exe should be changed to wherever you put plink. Adding this line to the config file tells the Subversion Client what command to use with URLs of the form svn+ssh.

4. Test the subversion client from the command line with:

./svn ls svn+ssh://<remote-host>/path/to/remote/svn-repo

If this works you have a working subversion client on windows, which is 80% of the battle!

5.In Netbeans go to Tools/Options/Miscellaneous/Versioning and set the Path to the SVN Client to:

C:\Program Files\CollabNet\Subversion Client

(or wherever you installed Subversion).

6. Right click on a directory and you should be able to use Subversion Update and Commit commands!

Occasionally when things are tricky the netbeans client gets confused.  I just use the command-line client to do an svn update, and all is usually well after that.

One issue to watch out for: subversion is very sensitive to version changes.  The working copy (checked out version) will be updated by the subversion client to the style that version of the client expects.  So if you use both a netbeans client and a command-line client you should make sure they’re the same “point” version number.  (E.g., They should both be 1.6.x, though they can have different xs.)

Good luck!

John

Getting Good Grades

By on

I just read an article called “Why study time does not predict grade point average across college students” by Plant, Ericsson, Hill, and Asberg.  The article is an interesting look at past data on what predicts GPA, and a small-scale (88 student) study at one university.  The authors are big fans of the “deliberate practice” model of learning, and focus on seeing if that translates into academic performance.  Some of the interesting information (mostly from past studies):

  • studying without distraction predicts higher grades (no TV, no iPod, no study partners)
  • students who study without distraction study for *fewer* hours, but get *higher* grades
  • focused study is important. Just as many recreational tennis and golf players don’t get better over 20 years of playing, just “reading” isn’t enough. Deep thinking, analysis, and putting ideas together correlate with better grades.
  • scheduling is important.  Planning ahead for getting school activities done, and studying at regularly scheduled times correlate with higher GPA.
  • going to class predicts higher GPA
  • working too many hours, and partying too many hours both predict lower GPA

Overall there weren’t a lot of big surprises, but I did find it interesting how important focused, uninterrupted study is.  In fact, the total amount of study time did NOT predict good grades.  A shorter amount of more focused study was more valuable.  (Students tended to have to go to the library to get the more focused study time.)

What works for you?

John

Stack Overflow *

By on

This article on Read/Write Web describes how Stack Overflow, the tech Q&A site, will let other sties use their software, changing the look and feel, while keeping the Q&A goodness.

John

The Netflix Prize and the MovieLens Data Sets

By on

Hello all.  We’ve been asked by several of the Netflix Prize teams if they can use the MovieLens datasets in training their algorithms.  The answer is yes! We’re happy to encourage algorithmic experimentation using our datasets — and you don’t even have to share any of your winnings with us :).  We only ask that you credit the MovieLens datasets on your web site, and in any written descriptions you write of the resulting algorithms.

Compete well!

John

Amazon Erases 1984

By on

In a “too delicious to be true” story, Amazon has used one of its Kindle’s features to erase copies of the book 1984 from their customer’s devices. Yes, that 1984, the one about the futuristic society that controls and audits everything their citizens read or speak.

Apparently a third-party seller uploaded an illegal version of 1984 to the Amazon web-site, and some users purchased it.  When Amazon found out the version was illegal, they refunded the purchase price *and deleted the copies of the book from the Kindles*.  Almost too funny to be true.  (One of the users was a 17 year old high school student whose notes on the book were also erased by Amazon when the deleted his copy of the book.)

Amazon has already promised not to do something like this again.  However, the story makes clear the deep danger in aggressive digital rights management.  If the owners of the content can control what you read, when you read it, and how you read it, our access to media becomes only a temporary “right” that can be granted and taken away at a whim.  We need to create a set of rules that ensure that information can never be controlled in this way.

One extreme example of the need for rules to protect the free flow of information is the hubbub over the new version of Hemmingway’s “A Movable Feast”.  Depending on who one talks to, Hemmingway’s grandson Sean has either edited the book to make it truer to how Hemmingway really felt about his first wife or has altered Hemmingway’s text to change history about that relationship.  (It helps muddy the water that the first wife is Sean’s grandmother.)  The publisher is releasing the new version, which will now be compared endlessly by scholars to the 1964 original.  What would happen in the digital world of the future?  Would the publisher be able to change the text of everyone’s original version to the new updated content?  Presumably noone would lobby for such a world … but if we aren’t careful to constrain contracts between publishers and digital device owners, we could accidentally end up living in it!

How wonderful that Amazon made this mistake with the book 1984.  It’s not the greatest of the anti-utopian novels — that’s Huxley’s Brave New World! — but perhaps we were too quick to accuse it of wandering too far from reality …

John