Adding fake stats to msn Spaces.

I was view the RSS for my blog, and was thinking about how the tracking worked. My first thoughts where that a simple 1×1 gif is load each time the entry is rendered in my RSS reader, and that this was bad, as I might not read a entry many time before finally having the time to read a entry. This may be due to the length of the post, or the entry been more in-depth, and my desire to read when I have the time to think it over. Anyway I was think (without having read any standards) there needs to be a better tracking method for view but not marked read, and read (ie changing status).

After this I then looked at the actual URL for the counter, and noticed that the viewed entry is just a encoded string, thus you can write what you like in the content of anybody’s stats.

http://c.spaces.msn.com/CollectionWebService/c.gif?space=valid-user-name&page=Messing+with+your+head&referrer=

Only the first 44 characters of the text make it through. You can add the referrer if you please, thus

http://c.spaces.msn.com/CollectionWebService/c.gif?space=valid-user-name&page=Messing+with+your+head&referrer=http://slashdot.org/

So you can now inject any valid URL you like in other peoples stats.

I’m not sure about other users, but I click each referrer to see how/why they got to me, but I’m not so sure I will now.

[Updated 15 May 2005] To remove my user name so my stats stop been hit.

C# Snippet – cast

One of my major sources of errors in my home game project are integer math issues. Where adding two bytes gets automatically promoted to an int.

Here is my snippet I wrote to quickly cast the issues away. I sort the error to get the cast error messages, double click to get the code highlighted, right click -> Surround With… -> cast. The default type is byte.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>cast</Title>
      <Shortcut>cast</Shortcut>
      <Description>surrounds selection with cast</Description>
      <Author>Simeon Pilgrim</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Declarations>
        <Literal>
          <ID>casttype</ID>
          <Default>byte</Default>
        </Literal>
      </Declarations>
      <Code Language="csharp">
        <![CDATA[($casttype$)($selected$ )]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Roy Osherove’s interview with Kent Beck

I listened to Roy Osherove’s interview with Kent Beck.  My major thought throughout the interview was that they have very different discussion types. It largely reminded me of Marry Wilson from Checkpoint on National radio whose style is described as “uncompromising tenacious” that “has won respect from commentators, interviewees and listeners” and I have to say I hate her style. It would appear to me that she has the interview route pre planned, and when the interviewee does not confess the sin Marry is after see keeps asking more or less the same question with disregard to the answer given. Often interrupting a victim interviewee who is giving the non expected answer.

The common trait is that they both have a preconceived idea of where the conversation is going, thus ask highly focused closed questions. Then don’t listen when the answer is not as expected, well they listen, but they don’t dynamically change the conversation path to account to the feedback.

The best example is when Kent had to answer “Moo”mu” due to the question been overly complex and not making sense.

Another example was when Roy was asking Kent about how to deal with people not following the XP rules, and Kent reply that people follow the rules due to belief in the system not been told to do it. Roy just didn’t seem to comprehend what Kent was saying, and kept asking the same concept in different forms. I felt frustrated on Kent’s behalf.

When Roy was explaining how blunt Israeli developers can be reminded me of the Russian-ish (-ish because most weren’t from Russia and would be offended for been called Russian) co-workers I have worked with in the past, they come across as arrogant and contempt for others, but really they don’t attach emotions to ideas, so the concept of your code is not the best (usually said “your code is crap”), is just the expression of technical opinion. This is vastly different to the passive confrontational style most westerners would use.