NOTE: This is now out of date, see the update here.

If you’re interested in open source at all, you don’t want to be without Sourceforge, where a lot of the world’s open source code resides. Strangely, it’s not obvious how to get code from Sourceforge if you’re behind a firewall that doesn’t have port 80, 443 or 2401 wide open. In other words, half of corporate America can’t access open source “out of the box”.

There are actually two ways to get code from Sourceforge. As a project developer with write permission, you use the CVS :ext: protocol, which tunnels through SSH. For anonymous access to anyone else’s code, you have to use the :pserver: protocol. Sourceforge has ports 80, 443 and 2401 (the default) set up for pserver.

With TortoiseCVS, you can do pretty much anything you need to with ext, because TortoiseCVS uses Putty for SSH, and Putty can use an HTTP proxy. Just specify a fully-configured Putty session name instead of a server when using :ext: under TortoiseCVS, and TortoiseCVS lets Putty use the session to set up the SSH connection.

I love TortoiseCVS, but at first blush it looks like it won’t do the job for anonymous Sourceforge access – you need pserver over an HTTP proxy and there are no TortoiseCVS settings for that. Fortunately, WinCVS fills this requirement. When you select Remote->Checkout Module, right there you can add the proxy information. Here comes the code! Rockin’!

But hold on! When WinCVS builds the pserver host string, it adds your proxy information in the following format:

CVSROOT=:pserver;username=anonymous;hostname=cvs.sourceforge.net;proxy=yourproxy.com;proxyport=##:/cvsroot/yourmodule

It appears that TortoiseCVS can actually use this format, now that it’s in the CVS/Root file, even though it’s not documented. Go to the CVS directory that WinCVS created, and you should be able to use the tortoise now! I suppose with a little manual copying/editing, you could set up CVS/Root files yourself and bypass the need for WinCVS, but I haven’t tried that yet. I recommend just kicking things off with WinCVS, it’s a breeze.

UPDATE: Under linux, the format is like this:

CVSROOT=:pserver;proxy=yourproxy.com;proxyport=##:anonymous@cvs.sourceforge.net:/cvsroot/yourmodule

Don’t ask me why it’s different! Yuck. But these formats are working under Windows and linux. Go get some code!

Bought the Treo 650 because…

  • 1) my current flip phone was crap-
    the flip part has been broken off for the past couple years
    (I made do with a headset)
    and (more importantly) the battery life was down to 15 minutes
    (with no spare batteries apparently available anymore); and
  • 2) I was taking the girls camping and Mom insisted I have a “working phone”.Hate to do things halfway, so… TREO TIME! (read on…)

    (continued…)

  • Now that I can ssh from anywhere to my linux box using my new Treo 650 and pssh, I am really enjoying the authoritative command-line versions of bittorrent straight from Bram Cohen. All I needed was a way to easily ssh in, play with torrents, and disconnect without stopping bittorrent. There are three ways that I know of to leave processes running after disconnecting from a terminal:

  • nohup
    This is specifically designed to run processes detached from terminal.

  • double &
    eg: (./btlaunchmany.py torrent/active/ > torrent.log 2>&1 &) &

  • screen
    This is an entire “screen manager” for processes that use the terminal to display output.

    [screen] really kicks booty – screen and btlaunchmanycurses.py are a perfect match:

  • screen btlaunchmanycurses.py –max_upload_rate 1000 /torrents
  • [ctrl-a d] to disconnect and drop to command line
  • [screen -r] to reopen the backgrounded session
  • Killing the session does NOT kill the bittorrent process – relogin and do [screen -r]
  • After reopening, kill bt as usual to end process

    Try it out, it rocks! More on this here

  • Indulge me for a moment, if you will. So I’m sitting here half dead (having recently turned 39), stepping up to my midlife crisis, reassessing the balance of my life. I am pondering, as we often do in our household, how Thomas Edison and Mother Theresa and Martha Stewart can be so damned productive with THEIR 24 hours (answer key: slept in lab, no husband to mother, cloning). And of course part of the problem is the massive amount of pondering – we are of “armchair philosopher” stock, as opposed to the “git r done” subcontractor types. Thinkers, not doers.

    But I want to “git r done” too, in this lifetime. My motto has always been “slow burn”. Keep a balance in life and always keep the dreams slowly moving forward. The midlife crisis says “Panic! You’re out of time! Get on the fast track!”. I’m sure it’s sent even the strongest men flying off balance. But consider the philosophy that life is staged in various sequences. Right now, I’m waist-deep in the family stage. And as a dad you should never forget that your kids won’t always fly to see you when you come home, begging you not to work late again. That pure love is a limited resource, extremely valuable, not to be squandered. I’m not about to give up a second of that.

    So what else is there? “Personal time”. I would rather be a crack addict than a TV addict. But watching movies with Andrea is awesome. We have a stop-at-15-minutes-if-it’s-a-bad-movie rule, we don’t have time for any more [Boat Trip]’s.

    On the nights that we don’t hook up for a movie, I hit the computer. I’ve worked on my infamous side projects forever, making slow progress, but as of late, I’ve made none. Can’t seem to get over the hump of being tired/distracted/consumptive. That’s the other half of my motto: production, not consumption. So it’s time to get refocused on being productive. The bottom line: RSS feeds have ruined me, and I’m not going to let them any more. Wired Magazine says we’re getting smarter, I say we’re getting shallower. I know a small amount about everything. Meet the 21st century Renaissance man, knowledgeable about everything, skilled at nothing. RSS must die. It is the latest equivalent of crack cocaine, sitcom TV, and (yes even the good old days had problems) whittling. So I’m changing my home page from that evil seductress, the RSS reader, to my very own project management ToDo list. Wish me luck in this very important next sequence in the process known as life. And you can kick the RSS habit too!

    Sitting here at Jiffy Lube wishing I didn’t have to wait 45 minutes for a wiper blade installation… THANK GOODNESS FOR MY NEW TREO 650 with always-on internet access, whee!