Need someone to lead product management at your software company? I create software for people that create software and I'm looking for my next opportunity. Check out my resume and get in touch.

This is the blog of Adam Kalsey. Unusual depth and complexity. Rich, full body with a hint of nutty earthiness.

Development

Patching Aggie's referrer

Freshness Warning
This blog post is over 21 years old. It's possible that the information you read below isn't current and the links no longer work.

Inspired by Les Orchard’s patching of AmphetaDesk to fix the referrer problem, I’ve patched Aggie.

This patch will change Aggie’s behavior to conform to the HTTP specs. When Aggie requests an RSS feed, the referrer header is now blank, and if the user configured a WeblogURL in Aggie.xfg, that URL will be added to the User-Agent header.

The only changes are a few lines in AggieRequest, but I’m including the entire AggieRequest class here for convenience.

public  class AggieRequest {
   private const int defaultTimeout_ = 60000;
   private const string aggieBase_ = @"http://bitworking.org/AggieReferrers.html";
   private static string referer_ = "";
   private static string userAgent_ = VersionInfo.UserAgent
      + " (" + Environment.OSVersion.ToString() + "; .NET CLR " 
      + Environment.Version.ToString();
   
   public static string WeblogUrl {
      set { 
         if (null != value && String.Empty != value) {
            userAgent_ = "; From: userAgent_ + value + ")"; 
         } else {
            userAgent_ = userAgent_ + ")"; 
         }
      }
   }
   
   public static HttpWebRequest CreateRequest(string url) {
      WebRequest req = WebRequest.Create(url);
      HttpWebRequest wreq = req as HttpWebRequest;
      if (null != wreq) {
         wreq.UserAgent = userAgent_;
         wreq.Referer =  referer_;
         wreq.Timeout = defaultTimeout_;
      }
      return wreq;
   }         
}

This patch is released under the same licensing terms as Aggie itself, which if I remember correctly is the MIT License.

I’ve compiled Aggie 1.0 RC4 with this patch using SharpDevelop and it works for me. No guarantees are made that it will work for you, although I can’t think of any reason why it wouldn’t.

Comments

Adam Kalsey
February 4, 2003 8:54 AM

Aggie's developer writes in: "I have moved the referrer URL to be appended to the UserAgent field instead of the Refererrer field. This change is currently in CVS and will be in RC5 when it is released." Excellent.

Trackback from Mentalized
March 19, 2003 8:19 AM

Bogus referrers

Excerpt: My referrerlogs are being polluted. Popdex, Organica, Technorati and others seem to not care about the HTTP specification and are...

This discussion has been closed.

Recently Written

Micromanaging and competence (Jul 2)
Providing feedback or instruction can be seen as micromanagement unless you provide context.
My productivity operating system (Jun 24)
A framework for super-charging productivity on the things that matter.
Great product managers own the outcomes (May 14)
Being a product manager means never having to say, "that's not my job."
Too Big To Fail (Apr 9)
When a company piles resources on a new product idea, it doesn't have room to fail. That keeps it from succeeding.
Go small (Apr 4)
The strengths of a large organization are the opposite of what makes innovation work. Starting something new requires that you start with a small team.
Start with a Belief (Apr 1)
You can't use data to build products unless you start with a hypothesis.
Mastery doesn’t come from perfect planning (Dec 21)
In a ceramics class, one group focused on a single perfect dish, while another made many with no quality focus. The result? A lesson in the value of practice over perfection.
The Dark Side of Input Metrics (Nov 27)
Using input metrics in the wrong way can cause unexpected behaviors, stifled creativity, and micromanagement.

Older...

What I'm Reading