Monday, March 23, 2009

Rewriting www to non-www with Apache2

... or how to make mod_rewrite your friend.

Like many other hipster sites in the whole new series of tubes we call web2.0, I wanted to have my site reside at http://helpleaf.com rather than the old, redundant, crappy http://www.healpleaf.com. So I tried to set that up. After all, how hard could setting up a non-www RewriteRule be?

Well, as I learned, not hard if you know what you’re doing. Since I don’t, it was friggin’ hard. But, after wrestling with this for a couple of hours I enlisted the help of my friend Brett who showed me the easy way.

Here’s what we did…

My domain registrar is GoDaddy, but I transferred DNS control to SliceHost where my site resides (and whose DNS control I like a LOT better).

Then I set up my DNS records. Because DNS admin tools are really different from host to host you'll have ot figure out the exact ways to handle doing the following DNS stuff.

My domain is helpleaf.com so I created an A record pointing from helpleaf.com. to the IP address of my server.

At this point I had a choice, either:

1. create another A record for www.helpleaf.com pointing to the IP of my server

or

2. create a CNAME record for www pointing to helpleaf.com

I went with the latter because I am less likely to screw it up if I change IPs on the server since there’s only the one A record to update. (Note that this causes more heat on the DNS server, but since my traffic is low… meh.)

Now the trickiness (this is where Brett comes in handy)…

change to the apache2/sites-enabled directory

cd /etc/apache2/sites-enabled

and create a new file:

sudo nano www.helpleaf.com

Here is the full content of that file:

<virtualhost>
ServerName www.helpleaf.com
ServerAlias www.helpleaf.com

DocumentRoot /home/bruce/helpleaf/public

RewriteEngine On

# rewrite anything incoming to helpleaf.com
RewriteRule ^(.*)$ http://helpleaf.com$1 [R=301,L]

# Custom log file locations
# so I can see the www traffic sources
ErrorLog /home/bruce/helpleaf/log/www.error.log
CustomLog /home/bruce/helpleaf/log/www.access.log combined

</virtualhost>

Just reload the apache2 config

sudo service apache2 reload

Let’s try that out. Open a browser and go to http://www.helpleaf.com.

Badda BING!

You should be redirected to http://helpleaf.com.

That’s it.

Monday, February 09, 2009

Seattle Startup Weekend 2 - Why are Good Developers Hard to Find?

I had a great time at Seattle Startup Weekend 2!

It started out slow for me. I despaired at first when the three things I wanted to work on either had too few people interested, the team didn't show up, or looked to turn into a business plan-fest. But then the folks who had gathered around a Twitter follower management idea finally showed up and the rest was... well... if not history... it was at least epic. Out the end of the weekend we had tweetsum up and running. The project will live on. It has already gotten me back into thinking about writing Rails applications.

Anyway, the subject of this post is why, in my opinion, some of the teams at Seattle Startup Weekend 2 (SSW2) had trouble finding developers. In a word; engagement.

There were a couple of teams that were strongly driven by "business folks". These team did not seem to want to engage the technical folks in give and take about what the business would look like and what to build. The business folks do business things (like plan and require and direct) and the technical folks do technical things (like code and configure and follow directions).

Sweet!! A day job!

Now, I'm all for having a good business model and a way to monitize your thingie. But there were a couple of teams that clearly thought of the people with development skills as a resource to be used.

Emphasis on used.

I heard from a friend that his group was building something that the group organizer had brought to SSW2 pretty well fully formed from a "what we want it to do and look like" point of view. The team just wasn't open to input on ways to improve it.

Okay, whatever. Just go find another group, right?

People were amazed at what the tweetsum team got done in just two days. We were able to do this because everyone on the team could do, not just direct. Each and every person was able to contribute directly to getting a site up and running. There was not a single person on the tweetsum team that did not code, configure servers, or perform some other core technical function.

But this is the key thing... they were free to do it any way they wanted.

(For reference, that's tweetsum's specification and process documentation sitting on the folding chair.)

That's right. We had a wealth of developers and designers and technical folks. And we had them specifically because it felt as little like a corporate day job as was humanly possible. In psychobabble terms their locus of control was internal as much as was possible.

The next time you're trying to recruit a team and are finding developers and other technical types hard to find, offer to share control with them. You'll get a lot more interest from the technical folks if you engage them instead of direct them.

Thursday, February 05, 2009

How to Disable the Confirm File Delete Dialog

The Windows Confirm File Delete Dialog may be one of the most annoying things ever.

You see there's this thing called "the recycle bin" where my files go to when I delete them in Windows. So why the heck do I need to confirm that I want to move something to a place where I can later recover it anyway.

Okay, I'll stop foaming at the mouth any minute now.

On the up side, the folks at Microsoft seem to have actually thought this one through and there's a simple solution. I thoroughly expected to have to hack the registry again. But no...


Here's how to do it:

Right-click the recycle bin and select Properties.

Lo and behold! At the bottom of the properties dialog is a checkbox for "Display delete confirmation dialog".


Sweet! Just un-check this sucka and click OK and Bob's your uncle!

Wednesday, February 04, 2009

The Wrong Kind of Advice

This post was inspired by The Right Kind of Advice post on the nPost blog.

While telling someone to ignore naysayers and those that say you should go back and work for someone else is all nice and touchy-feely, it is also often dead wrong.

Telling someone that they are just not cut out to be an entrepreneur could be honestly good advice.

My ex-wife was a professional ballerina. She used to get people asking for advice about dancing ballet professionally. She could often simply look at the person and tell that they were not cut out for professional ballet. They may have loved ballet, been passionate and dedicated to ballet, but there was just no way that they were going to make it because they just did not have what it takes to be a professional ballet dancer.

Similarly, there are people that are just not cut out to be an entrepreneur. Heck, I may even be one of them. Telling them to just "go for it" or "follow your dream" is REALLY taking the easy road.

In order to give really good advice about this you need to get to know the person. You need to know what their goals are and how the business they are talking about fits into (and drives) their life. This is much harder than reviewing a business or marketing plan. It is much more difficult than assessing a market or opportunity. It requires real honest knowledge of the person and their life goals. It requires a deep understanding of their likes and dislikes, strengths and weaknesses, their vision and their blind spots.

No entrepreneur is perfect and no business model is slated for certain success. Our job is to provide assistance, insights, and even a push in the right direction.

True.

Sometimes the right direction is away from being an entrepreneur.