
October 2009
August 2009
April 2009
March 2009
December 2008
October 2008
September 2008
August 2008
July 2008
June 2008
(UPDATE: I’ve posted a followup to this article here.)
I just got myself a (dv) account at MediaTemple and set out to install SVN. I found pretty much nothing in their knowledge base on how to do this. I do this task so infrequently (but yet often enough to care), that each time I have to re-familiarize myself with how to set up Subversion repositories. Hopefully this post will save us all some agony when it’s time again to set up a new svn repo.
Contrary to some other blog posts out there, the (dv) hosting package actually DOES include Subversion, but you have to enable it through the developer tools [A complete list of the developer tools you get can be found here].
I have a brand new server and nothing on it yet, so I’m comfy doing this cowboy style. However, if you are adding SVN to an existing server, consider purchasing a snapshot that will preserve all settings prior to starting this process. Unfortunately, the free backup won’t do the trick.
First off, be sure that you have an account that has ssh privileges into your server. This could be your ftp account or another ssh user you set up for these purposes. This can be done in the Plesk control panel (process not covered here but can be found via the MediaTemple knowledge base).
Go to the overview tab
Click on your primary domain
Click “Root Access and Developer Tools”
Click “Install Developer Tools”
Now that your developer tools are enabled, you want to enable root access so that you can administer your tools.
Now you’ve opened up a can of worms enabling root access. One of the ways to contain those worms is to disable ssh for root as outlined here.
Next, ssh into your server using the user account created prior to starting this task and run the following command:
You will be prompted for the password you created when you enabled root access. You have to install and configure svn as root so that it has the correct permissions to write/save/generally do it’s thing.
We’ll pretend our new repository name is called reponame but you can choose any name you want here and this is what you’ll do each time you make new repositories that are served from this instance of Subversion.
Please note that I did not use Berkeley DB (instead I used fsfs as noted in the create command above). I have not had good experiences with Berkely DB and avoid using it, no offense I’m sure there’s a place for it and good intentions behind it.
% vi /var/svn/reponame/conf/svnserve.conf
configure the following items thusly:
anon-access = none
auth-access = write
password-db = passwd
realm = My Repo Yay
(ok, not really sure what realm is for other than it’s cute and displays when you checkout, but if you know a secret awesome benefit, please share!)
Next it’s time to create the authentication piece. Time for more vi
Each name = password pair must be in plain text. There are ways to set this up so that the passwords can be encrypted using Perl’s crypt but that is not covered here as this is the “Simple SVN setup”
Finally you need to start your svn daemon. Please note that there are other options for svnserve and you should familiarize yourself with the documentation just to be sure.
You can check out (or run similiar svn commands) from your local machine thusly:
Note that your domain.com is yours and could also represent a subdomain if you know how to configure that.
There are lots of other fine tunings and tweaks you can do to fit your needs, but this is the Simple svn setup, no? Tools like Eclipse’s SVN plugin make it even easier to utilize this method in terms of password caching and the like.
Lastly, the grad school training in me wants to cite sources, so here you go:
Version Control with Subversion reference
gregsidberry.com
tonyspencer.com
MediaTemple.net (dv) Developer’s Tools and Packages Listing
An Introduction to the Root User
How to disable ssh for root user
MediaTemple backup options
Tags: reference, server admin, svn
I love Twitter. It fits into my multitasking life perfectly. I can keep up with my friends and even get to know new people over time via their tweets. I make plans through Twitter, I vent my frustrations through Twitter, and I share my joys through Twitter.

Over time, I have noticed a few patterns emerge and this post is dedicated to 5 common tweets.
The boring TMI tweet is the type of twitter that is pretty much useless to the mass audience. It’s too much information but not even in a sexy, gross or cheeky way. Common tweets include “Good morning Twitterverse!” and “Eating cereal”. “Stepped in dog shit” or “Cleaning up cat puke” also fall into this category.
The namedrop tweet makes one appear( to have a heavy social calendar filled with parties, outings and meetups (or, tweetups if you’re one of the cool kids). The tweets are filled with a long list of @. Little do you know that they are merely standing next to the person, but it’s all about the spin, right?
These tweets are entire conversations between twitter users IM-style. If you are not following both of them, you only get the partial story. While sometimes this can be amusing and can lead to learning about interesting new people, the volume of tweets for this case makes the distraction level a bit too high–even for a power multitasker.
This kind of tweet is usually a bot that automatically feeds links to Twitter. While in moderation can be cool, the robotic tone of these tweets is a turn off. I mean, how hard is it to announce that you posted on our blog yourself? My worse experience with this type of tweet was when Twitter wasn’t letting you page through to old posts and someone’s feed re-posted each and every one of their blog entries. LEAVE
Love fest tweets are those where lots of kudos are handed out in a public forum. These are fun tweets and they make a person feel all warm and fuzzy. There should be a twitter app called “share the love” where you can review them all when you are about to cry because your regex isn’t working.
This type of tweet doesn’t make it to Twitter and is perhaps my favorite kind. These are tweets too inappropriate for the mass audience or are inside jokes that end up not being funny to anyone else (and fall into the boring TMI tweet category). My friends and I will often tweet these directly to each other, just to have an outlet, however many mental tweets are just that–mental, said in your mind in under 140 characters.
You can find me committing most of the above crimes at www.twitter.com/electromute
Although it is tempting to write your own javascript or use external javascript libraries such as jquery, Wicket has its own built in dojo integration.
This integration makes using dojo pretty easy, but styling your UI is not so straight forward. In this example, I implement the DojoTooltip on a form text field on the hover action. The use of the standard DojoTooltip as well as other dojo/wicket examples can be found here.
I highly recommend installing the Jad decompiler for Eclipse if you are going to delve into this as documentation is very light and having the decompiler will help you understand what is available to you in the libraries.
Here is a screenshot of the wicket example I started from, note the black border–this is not acceptable for my UI:

I need something that looks more like this:

The key to getting exactly what you want is overriding the CSS that comes with the framework.
public class MyTooltipPage extends MyPageTemplate
{
private WebMarkupContainer hoverTarget;
public MyTooltipPage()
{
super();
hoverTarget = new WebMarkupContainer("hoverTarget");
add(hoverTarget);
DojoTooltip hoverTooltip = new DojoTooltip("hoverTooltip", hoverTarget);
add(hoverTooltip);
hoverTooltip.add(new TooltipPanel("tooltipPanel"));
}
}
Next I create the panel that will display the tooltip upon the hover:
public class TooltipPanel extends Panel
{
private Page page;
public TooltipPanel(String id)
{
super(id);
}
}
Here is the HTML snippet for the input–this is the page where my form field lives that I want to apply the over state on.
<span wicket:id="hoverTooltip"><span wicket:id="tooltipPanel "/></span>
<div wicket:id="hoverTarget">
<form>
<input type=”text”>
</form>
</div>
Here is the HTML for the panel that will pop up on the hover state.
<div id="searchTooltip">
<div class="tooltipPointer"><img src="/images/darkPointerUp.gif" alt="" /></div>
It's a search box you know you want to try it.
enter anything you like and let us find it for you
</div>
Finally, the most important piece of this puzzle is overriding the .dojoTooltip class which is contained in the framework CSS. Using the !important designations will ensure that your attributes are used rather than the default despite the ordering of the CSS files themselves:
.dojoTooltip {
background-color: #ffffff !important;
border: 2px solid #ff6d04 !important;
position: fixed !important;
left: 35px !important;
top: 130px !important;
}
#searchTooltip {
margin: 0 5px 10px 5px;
font-weight:bold;
size:14px;
position:relative;
top: -10px;
}
#searchTooltip .tooltipPointer {
position: relative;
z-index: 1000;
top:-3px;
left: 30px;
}
Hope this saves someone some time, enjoy!
Growing up in Boulder, you can’t help but be outdoors. When I was a teenager, I was a competitive cyclist eventually racing with the US National Cycling Team. It’s been about 15 years since I did my last race. Although I’ve kept in shape with yoga, hiking and some trail running, I haven’t really gotten back on my bike since.
A few wonderful things happened this spring to help me re-ignite my love for the sport.
Being in a town where you can actually go out riding on the roads, having a bike that is ready in good repair, and having buddies to ride with are three very important ingredients to making cycling fun.

We’ve been getting out on our bikes as much as possible, mostly once or twice on weekends. Sunday, we had one of those epic rides that just reminded me how freaking cool cycling is. US 36–>Greenbriar–>Jamestown–>Olde Stage Road. Here are my top 5 reasons why cycling is the BEST SPORT EVARRR!
1. Fitness
This one is obvious. I sit all day at my desk. I call this the 10-finger workout, in that my 10 fingers are moving and typing, but not much else is happening. This burns about 80 calories per hour. Cycling on the other hand burns upwards of 700+ calories, depending on your current weight, fitness and terrain. Even better, cycling is a low impact sport, meaning if you are a little bit on the heavy side, your joints won’t suffer as they would if you were running.
2. Stress Reduction
They call it the fight or flight response. When stress levels are heightened, our bodies produce over 30 hormones, including adrenaline and cortisol that need to be cleared out of the body via some kind of “flight” response. When we don’t do any physical activity to rid our bodies of the horemones, the stress chemicals sit in our systems and cause damage both physically and psychologically.
3. Comraderie
Getting out on a nice ride with your buddies is one of the best ways of bonding. Hey, I don’t play golf, so being able to do something outside of the office that doesn’t involve drinking is pretty damn cool. Cycling is a gentleman’s’ sport and a hero’s sport, so you gain a lot of respect for the folks you ride with for various reasons whether it be the first time you climb that big hill or that time you pull around and win the sprint for once.
4. Cool toys and gadgets
Come now, have you seen the hipster kids riding fixies? Well road cycling is full of cool toys and gadgets. Cool wheels, computers for keeping your mileage, etc. You can buy cool bike stands for your house so you can tinker around with the wheels, parts, keeping things clean and buffed and it’s way cheaper than fixing cars!
5. Speed
Alright, one of the best things about cycling is riding down a mountain road, after you’ve done a big effort. Being able to go as fast or faster than the cars, taking the turns like a pro and imagining how cool you look. It doesn’t matter how you actually look-this is not the point. It’s imagining you are fast like a pro racer in the Giro d’Italia!
You don’t have time to ride you say? Well, here’s the deal, it took me over a year and a half of being back in Boulder before I got things under control enough to start riding again. I was too busy, tired, working, my bike was not fixed, etc. Even now, I have to ride at ungodly hours both during the week and weekend. My riding mates coordinate with spouses and babysitters, it is not an easy task. Do your best, don’t be too hard on yourself if you can’t get out and get out as much as you can without it being stressful.

Happy riding!
Tags: cycling