<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
  <channel>
    <title>Stan's Blog - General</title>
    <link>http://stanbiron.com/</link>
    <description>Developping for the translation industry</description>
    <language>en-us</language>
    <copyright>Stanislas Biron</copyright>
    <lastBuildDate>Tue, 23 Oct 2012 15:58:51 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>stan@stanbiron.com</managingEditor>
    <webMaster>stan@stanbiron.com</webMaster>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=2ab90c4e-e3a9-4041-b182-fb70a21ab443</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,2ab90c4e-e3a9-4041-b182-fb70a21ab443.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,2ab90c4e-e3a9-4041-b182-fb70a21ab443.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2ab90c4e-e3a9-4041-b182-fb70a21ab443</wfw:commentRss>
      <title>Google Docs Translations Don’t Make Sense?</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,2ab90c4e-e3a9-4041-b182-fb70a21ab443.aspx</guid>
      <link>http://stanbiron.com/2012/10/23/GoogleDocsTranslationsDontMakeSense.aspx</link>
      <pubDate>Tue, 23 Oct 2012 15:58:51 GMT</pubDate>
      <description>&lt;p&gt;
In early 2011,&amp;nbsp;a reporter at PC World&amp;nbsp;did a series of articles on Google
Docs, and&amp;nbsp;he took a close look at their claim that they can &amp;ldquo;easily &lt;a href="http://www.pcworld.com/businesscenter/article/228198/day_18_google_docs_translations_dont_make_sense.html" target="_blank"&gt;translate
documents into 53 different languages&lt;/a&gt;.&amp;rdquo; He asked his bilingual Twitter followers
for help, sending them an English document and its Google Docs translation and asking
them what they thought. 
&lt;/p&gt;
&lt;p&gt;
The results were hit or miss. English and French was passable :
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt; 
&lt;p&gt;
&lt;em&gt;&amp;nbsp;"I'd give the translation 7 on a scale from 1 to 10. I would not use such
a service in a professional setting, although it gives a good general idea of the
text."&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
But English and Hebrew was &amp;ldquo;one big disaster.&amp;rdquo; 
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt; 
&lt;p&gt;
&lt;em&gt;My Hebrew-speaking volunteer said, "Sorry to say, but, in general I can describe
the translation into Hebrew as "one big disaster". In 95 percent it is just unreadable
(not only "hard to understand")."&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
He also tested Arabic, Spanish and probably several other languages. He summed up
the results by saying, &amp;ldquo;Suffice it to say, I wouldn&amp;rsquo;t blindly trust any
translation done by Google Docs. Obviously, the translations feature in Google Docs
needs some work, to be, at least, understandable.
&lt;/p&gt;
&lt;p&gt;
In summary, if your business model is even marginally dependent on brand image, you
should think twice about using those &amp;ldquo;free&amp;rdquo; translation services. A &lt;a href="http://www.versacom.ca/"&gt;professional
translation company&lt;/a&gt; is always the best way to go.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2012/03/06/WhatIsTheOriginOfThePunctuationMarksWeUseEveryday.aspx"&gt;Origin
of the punctuation marks we use everyday&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2010/01/29/GoogleTranslatorHacked.aspx"&gt;Google
Translator Hacked&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2010/03/19/InTheNewsGoogleWillAllowUsersToOptoutOfAnalyticsTracking.aspx"&gt;In
the news: Google will allow users to opt-out of Analytics tracking&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2010/02/23/InTheNewsUSInvestigatorsPinpointAuthorOfGoogleAttackCode.aspx"&gt;US
Investigators Pinpoint Author Of Google Attack Code&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2008/08/11/PasswordArentAGoodDefense.aspx"&gt;Password
aren't a good defense?&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=2ab90c4e-e3a9-4041-b182-fb70a21ab443" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,2ab90c4e-e3a9-4041-b182-fb70a21ab443.aspx</comments>
      <category>General</category>
      <category>Language</category>
      <category>Language Industry</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=aace459a-9a07-4190-a442-6c94ad943ddc</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,aace459a-9a07-4190-a442-6c94ad943ddc.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,aace459a-9a07-4190-a442-6c94ad943ddc.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=aace459a-9a07-4190-a442-6c94ad943ddc</wfw:commentRss>
      <title>What is the origin of the punctuation marks we use everyday</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,aace459a-9a07-4190-a442-6c94ad943ddc.aspx</guid>
      <link>http://stanbiron.com/2012/03/06/WhatIsTheOriginOfThePunctuationMarksWeUseEveryday.aspx</link>
      <pubDate>Tue, 06 Mar 2012 13:53:13 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Question Mark ?&lt;/strong&gt;
&lt;br /&gt;
Origin: When early scholars wrote in Latin, they would place the word questio &amp;ndash;
meaning &amp;ldquo;question&amp;rdquo; &amp;ndash; at the end of a sentence to indicate a query.
To conserve valuable space, writing it was soon shortened to qo, which caused another
problem &amp;ndash; readers might mistake it for the ending of a word. So they squashed
the letters into a symbol: a lowercased q on top of an o. Over time the o shrank to
a dot and the q to a squiggle, giving us our current question mark.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Exclamation Point !&lt;/strong&gt;
&lt;br /&gt;
Origin: Like the question mark, the exclamation point was invented by stacking letters.
The mark comes from the Latin word io, meaning &amp;ldquo;exclamation of joy.&amp;rdquo; Written
vertically, with the i above the o, it forms the exclamation point we use today.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Equal Sign =&lt;/strong&gt;
&lt;br /&gt;
Origin: Invented by Welsh mathematician Robert Recorde in 1557, with this rationale:
&amp;ldquo;I will settle as I doe often in woorke use, a paire of paralleles, or Gmowe
[i.e., twin] lines of one length, thus : , bicause noe 2 thynges, can be more equalle.&amp;rdquo;
His equal signs were about five times as long as the current ones, and it took more
than a century for his sign to be accepted over its rival: a strange curly symbol
invented by Descartes.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Ampersand &amp;amp;&lt;/strong&gt;
&lt;br /&gt;
Origin: This symbol is stylized et, Latin for &amp;ldquo;and.&amp;rdquo; Although it was invented
by the Roman scribe Marcus Tullius Tiro in the first century B.C., it didn&amp;rsquo;t
get its strange name until centuries later. In the early 1800s, schoolchildren learned
this symbol as the 27th letter of the alphabet: X, Y, Z, &amp;amp;. But the symbol had
no name. So, they ended their ABCs with &amp;ldquo;and, per se, and&amp;rdquo; meaning &amp;ldquo;&amp;amp;,
which means &amp;lsquo;and.&amp;rsquo;&amp;rdquo; This phrase was slurred into one garbled word
that eventually caught on with everyone: ampersand.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Octothorpe #&lt;/strong&gt;
&lt;br /&gt;
Origin: The odd name for this ancient sign for numbering derives from thorpe, the
Old Norse word for a village or farm that is often seen in British placenames. The
symbol was originally used in mapmaking, representing a village surrounded by eight
fields, so it was named the octothorp.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Dollar sign $&lt;/strong&gt;
&lt;br /&gt;
Origin: When the U.S. government begin issuing its own money in 1794, it used the
common world currency &amp;ndash; the &lt;em&gt;peso&lt;/em&gt; &amp;ndash; also called the Spanish &lt;em&gt;dollar.&lt;/em&gt; The
first American silver dollars were identical to Spanish pesos in weight and value,
so they took the same written abbreviations: Ps. That evolved into a P with an &lt;em&gt;s&lt;/em&gt; written
right on top of it, and when people began to omit the circular part of the p, the
sign simply became an S with a vertical line through it.
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
This comes from a book named &amp;ldquo;Uncle John&amp;rsquo;s Supremely Satisfying Bathroom
Reader&amp;rdquo; &lt;a href="http://www.neatorama.com/2007/07/09/the-origin-of-everyday-punctuation-marks/"&gt;http://www.neatorama.com/2007/07/09/the-origin-of-everyday-punctuation-marks/&lt;/a&gt;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;strong&gt;Other posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;a href="http://stanbiron.com/2010/07/30/SomeFunnyCrossCulturalMarketingAndTranslationMistakes.aspx"&gt;&lt;strong&gt;Some
funny cross cultural marketing and translation mistakes part 1&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://stanbiron.com/2011/07/11/MoreFunnyCrossCulturalMistakesAndBlunders.aspx"&gt;&lt;strong&gt;part
2 &lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;a href="http://stanbiron.com/2010/09/22/NETStringFormatSyntaxCheatSheet.aspx"&gt;&lt;strong&gt;.NET
String Format Syntax Cheat Sheet&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;a href="http://stanbiron.com/2010/01/29/GoogleTranslatorHacked.aspx"&gt;&lt;strong&gt;Google
Translator has been Hacked&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;a href="http://stanbiron.com/2010/07/08/TheNewCanadianTranslationStandard.aspx"&gt;&lt;strong&gt;Information
on The New Canadian Translation Standard &lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=aace459a-9a07-4190-a442-6c94ad943ddc" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,aace459a-9a07-4190-a442-6c94ad943ddc.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=6b34492c-0441-44ed-9358-171ba0a6e169</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,6b34492c-0441-44ed-9358-171ba0a6e169.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,6b34492c-0441-44ed-9358-171ba0a6e169.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=6b34492c-0441-44ed-9358-171ba0a6e169</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Genetic algorithms are a form of evolutionary computation, a branch of artificial
intelligence that focuses on evolving effective or optimal solutions to difficult
problems, based on the biological theory of evolution.
</p>
        <p>
Genetic algorithms are, at their core, a search/optimisation technique. They are a
way of finding maximum/minimum solutions to problems and, can be effective when there
is no algorithmic solution to the problem. An example here would be the ‘Traveling
Salesman’ problem.
</p>
        <p>
Genetic algorithms work by taking an initial population of potential solutions (referred
to as individuals), selecting a subset of the population that has the highest fitness
then using that subset to generate a second generation. From the second generation
again a subset with the highest fitness is selected and used to generate a third generation.
This repeats until either the ‘fittest’ individual is considered a good enough solution,
or until a certain number of generations have passed.
</p>
        <p>
There are advantage to using genetic algorithms to solve problems over more traditional
methods like <a href="http://en.wikipedia.org/wiki/Hill_climbing">hill climbing</a>.
</p>
        <ul>
          <li>
Genetic algorithms can quickly produce good solutions though they may take a lot of
time to find the best solution. This is a benefit when the problem is such that the
absolute best solution is not necessary, just one that is ‘good enough’</li>
          <li>
They are not susceptible to getting trapped by local maxima.</li>
          <li>
They do not work on the entire search space one potential solution at a time, but
rather work on populations of potential solutions, focusing towards more optimal areas
of the search space.</li>
        </ul>
        <p>
A genetic algorithm will almost always find an optimal solution, given enough time.
The main downside is that they may take a lot of time to find that optimal solution.
</p>
        <p>
          <span id="more-531">
          </span>
        </p>
        <h3>Components of a Genetic Algorithm
</h3>
        <p>
There are two main critical parts in setting up a genetic algorithm for a problem.
</p>
        <ul>
          <li>
The encoding of the potential solutions into a form where they can be operated on.</li>
          <li>
The fitness function which defines which individuals are better than others, which
are closer to the maximum that is being searched for.</li>
        </ul>
        <p>
Most of the design work when using genetic algorithms goes into those two problems.
</p>
        <h4>Encoding
</h4>
        <p>
Encoding is the process of taking all the values that make up a potential solution
and turning them into a form that the genetic algorithm can operate on.
</p>
        <p>
The selection of an encoding is of utmost importance to the effectiveness of the entire
process and a poor representation can make the entire problem much harder than it
should. Unfortunately there has been little academic work done on the process of designing
representations.
</p>
        <p>
Often for genetic algorithms, the end result of the encoding will be a binary string.
There are other variations of evolutionary computation that use other representations,
from the arrays of real numbers used by evolutionary strategies to the code trees
used by genetic programming.
</p>
        <h4>Fitness function
</h4>
        <p>
Depending on the problem, the fitness function can be trivial to write or near-impossible.
The design of the fitness function is completely based on the problem that is being
solved.
</p>
        <p>
There are two important considerations for a fitness function.
</p>
        <ul>
          <li>
It must be deterministic.</li>
          <li>
It must be fast</li>
        </ul>
        <p>
If the fitness of an individual is assessed twice, it must come to the same value<sup>1</sup>.
If the fitness function could return different values for the same individual, then
it is of no use in determining the fittest individuals in the population and hence
the genetic algorithm will not be able to identify the best solution to the problem.
</p>
        <p>
The fitness of each individual is assessed at least once in each generation. The calculation
of the fitness function is usually the most time consuming part of the entire process
and the longer the fitness function takes to run, the longer the entire process is
run
</p>
        <p>
(1) There are cases where the fitness of an individual may depend on external factors
which change over time. Hence a fitness function may give different values for one
individual if calculated at different times. Genetic algorithms in a changing environment
are a little beyond the scope of this entry.
</p>
        <h3>Evolution Process
</h3>
        <p>
In order to create a new generation, the fittest individuals from the previous generation
are taken and used to generate the next generation. There are two main operators that
are used to generate a generation from the previous one. Crossover and mutation.
</p>
        <h4>Crossover
</h4>
        <p>
Crossover involved taking two individuals, splitting each one’s encoded string and
swapping parts to generate two new individuals.
</p>
        <p>
Say we had two individuals with the following encoded strings (spaces added for clarity)<br />
0000 0001 1111 1110<br />
0101 1010 1100 0011<br />
and we chose the splitting point for the crossover after the 4th bit, the resulting
strings after the crossover will be<br />
0000 1010 1100 0011<br />
0101 0001 1111 1110
</p>
        <p>
In genetic algorithms crossover is the primary operator used. What I described here
was a single crossover. There are a number of other variations that can be used.
</p>
        <h4>Mutation
</h4>
        <p>
Mutation is an operator applied to a single individual. It’s usually applied after
crossover has generated new individuals. Mutation involves flipping a single bit somewhere
in the encoded string.
</p>
        <p>
Let’s take the two individuals that were generates by the crossover earlier and apply
a random mutation to each<br />
0000 1010 1100 0011<br />
0101 0001 1111 1110<br />
After<br />
0000 1010 1101 0011<br />
0101 0001 1011 1110
</p>
        <p>
In genetic algorithms mutation is very seldom applied and only a small percentage
of individuals in a generation will be affected by the mutation operator.
</p>
        <h3>Example
</h3>
        <p>
As a quick example let’s manually evolve a simple function to see how the whole thing
works.
</p>
        <p>
Let’s say I have an array of 4 numbers (call it num) between 0 and 15. I want to know
what values give me the best value for the following.
</p>
        <p>
num[1]-num[2]-num[3]+num[4]
</p>
        <p>
I know, that’s simple enough that we could work out the optimal solution just by eye.
Not the point. This is enough to do a quick and effective demo with.
</p>
        <p>
I’m going to encode that by simply converting the numbers in the array to binary and
concatenating the binary representations of the 4 numbers (spaces just added for clarity).
The fitness function is already defined. I’m going to start with an initial population
of eight individuals.
</p>
        <p>
1111 1111 1100 1110 – fitness = (15-15-12+14) = 2<br />
0101 1010 1100 0011 – fitness = (9-10-12+3) = –10<br />
1011 0111 0011 1111 – fitness = (11-7-3+15) = 16<br />
1111 1001 1010 0011 – fitness = (15-9-10+3) = -1<br />
1010 1010 1010 1010 – fitness = (10-10-10+10) = 0<br />
1000 0010 0111 0110 – fitness = (8-2-7+6) = 5<br />
0000 0001 1111 1110 – fitness = (0-1-15+14) = -2<br />
1010 0101 0010 0101 – fitness = (10-5-2+5) = 8
</p>
        <p>
From this I’m going to take the 4 individuals with the highest fitness, use crossover
operations (with the crossover point exactly in the middle) between them until I have
8 individuals for the 2nd generation and then apply a single bit mutation to one of
the individuals (detailed steps left as an exercise for the reader)
</p>
        <p>
1111 1111 0011 1111 – fitness = (15-15-3+15) = 12<br />
1011 0111 1100 1110 – fitness = (11-7-12+14) = 6<br />
1111 1011 0010 0101 – fitness = (15-11-2+5) = 7<br />
1010 0101 1100 1110 – fitness = (10-5-7+6) = 4<br />
1011 0111 0111 0110 – fitness = (11-7-7+6) = 3<br />
1000 0010 0011 1111 – fitness = (8-2-3+15) = 18<br />
1010 0101 0111 0110 – fitness = (10-5-7+6) = 4<br />
1000 0010 0010 0101 – fitness = (8-2-2+5) = 9
</p>
        <p>
We can already see an improvement. The average and maximum fitness is much higher
than for the first generation. I’ll do one more generation in this example, again
taking the 4 fittest individuals, crossing over to generate 8 new individuals and
then applying a single bit mutation to two individuals. This time however, the crossover
point will between the 4th and 5th bit.
</p>
        <p>
1000 1111 0011 1111 – fitness = (8-15-3+15) = 5<br />
1111 0010 0011 1111 – fitness = (15-2-3+15) = 25<br />
1000 1011 0010 0101 – fitness = (8-11-2+5) = 0<br />
1111 0010 0011 1111 – fitness = (15-2-3+15) = 25<br />
1111 0010 1010 0101 – fitness = (15-2-10+5) = 8<br />
1000 0111 0011 1111 – fitness = (8-7-3+15) = 13<br />
1111 0010 0010 0101 – fitness = (15-2-2+5) = 16<br />
1000 1011 0010 0101 – fitness = (8-11-2+5) = 0
</p>
        <p>
I think that’s enough for this example. We’re getting fairly close to the best possible
solution (15,0,0,15), close enough to see how this works. The population size was
very low, that’s why there are duplicates appearing in the results of the crossover.
With a larger search space there would be a lot more diversity.
</p>
        <p>
I hope that anyone still reading found this brief diversion into the realms of AI
interesting.
</p>
        <p>
        </p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=6b34492c-0441-44ed-9358-171ba0a6e169" />
      </body>
      <title>What are Genetic Algorithms?</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,6b34492c-0441-44ed-9358-171ba0a6e169.aspx</guid>
      <link>http://stanbiron.com/2010/07/30/WhatAreGeneticAlgorithms.aspx</link>
      <pubDate>Fri, 30 Jul 2010 15:27:32 GMT</pubDate>
      <description>&lt;p&gt;
Genetic algorithms are a form of evolutionary computation, a branch of artificial
intelligence that focuses on evolving effective or optimal solutions to difficult
problems, based on the biological theory of evolution.
&lt;/p&gt;
&lt;p&gt;
Genetic algorithms are, at their core, a search/optimisation technique. They are a
way of finding maximum/minimum solutions to problems and, can be effective when there
is no algorithmic solution to the problem. An example here would be the ‘Traveling
Salesman’ problem.
&lt;/p&gt;
&lt;p&gt;
Genetic algorithms work by taking an initial population of potential solutions (referred
to as individuals), selecting a subset of the population that has the highest fitness
then using that subset to generate a second generation. From the second generation
again a subset with the highest fitness is selected and used to generate a third generation.
This repeats until either the ‘fittest’ individual is considered a good enough solution,
or until a certain number of generations have passed.
&lt;/p&gt;
&lt;p&gt;
There are advantage to using genetic algorithms to solve problems over more traditional
methods like &lt;a href="http://en.wikipedia.org/wiki/Hill_climbing"&gt;hill climbing&lt;/a&gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Genetic algorithms can quickly produce good solutions though they may take a lot of
time to find the best solution. This is a benefit when the problem is such that the
absolute best solution is not necessary, just one that is ‘good enough’&lt;/li&gt;
&lt;li&gt;
They are not susceptible to getting trapped by local maxima.&lt;/li&gt;
&lt;li&gt;
They do not work on the entire search space one potential solution at a time, but
rather work on populations of potential solutions, focusing towards more optimal areas
of the search space.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
A genetic algorithm will almost always find an optimal solution, given enough time.
The main downside is that they may take a lot of time to find that optimal solution.
&lt;/p&gt;
&lt;p&gt;
&lt;span id="more-531"&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;h3&gt;Components of a Genetic Algorithm
&lt;/h3&gt;
&lt;p&gt;
There are two main critical parts in setting up a genetic algorithm for a problem.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The encoding of the potential solutions into a form where they can be operated on.&lt;/li&gt;
&lt;li&gt;
The fitness function which defines which individuals are better than others, which
are closer to the maximum that is being searched for.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Most of the design work when using genetic algorithms goes into those two problems.
&lt;/p&gt;
&lt;h4&gt;Encoding
&lt;/h4&gt;
&lt;p&gt;
Encoding is the process of taking all the values that make up a potential solution
and turning them into a form that the genetic algorithm can operate on.
&lt;/p&gt;
&lt;p&gt;
The selection of an encoding is of utmost importance to the effectiveness of the entire
process and a poor representation can make the entire problem much harder than it
should. Unfortunately there has been little academic work done on the process of designing
representations.
&lt;/p&gt;
&lt;p&gt;
Often for genetic algorithms, the end result of the encoding will be a binary string.
There are other variations of evolutionary computation that use other representations,
from the arrays of real numbers used by evolutionary strategies to the code trees
used by genetic programming.
&lt;/p&gt;
&lt;h4&gt;Fitness function
&lt;/h4&gt;
&lt;p&gt;
Depending on the problem, the fitness function can be trivial to write or near-impossible.
The design of the fitness function is completely based on the problem that is being
solved.
&lt;/p&gt;
&lt;p&gt;
There are two important considerations for a fitness function.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
It must be deterministic.&lt;/li&gt;
&lt;li&gt;
It must be fast&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If the fitness of an individual is assessed twice, it must come to the same value&lt;sup&gt;1&lt;/sup&gt;.
If the fitness function could return different values for the same individual, then
it is of no use in determining the fittest individuals in the population and hence
the genetic algorithm will not be able to identify the best solution to the problem.
&lt;/p&gt;
&lt;p&gt;
The fitness of each individual is assessed at least once in each generation. The calculation
of the fitness function is usually the most time consuming part of the entire process
and the longer the fitness function takes to run, the longer the entire process is
run
&lt;/p&gt;
&lt;p&gt;
(1) There are cases where the fitness of an individual may depend on external factors
which change over time. Hence a fitness function may give different values for one
individual if calculated at different times. Genetic algorithms in a changing environment
are a little beyond the scope of this entry.
&lt;/p&gt;
&lt;h3&gt;Evolution Process
&lt;/h3&gt;
&lt;p&gt;
In order to create a new generation, the fittest individuals from the previous generation
are taken and used to generate the next generation. There are two main operators that
are used to generate a generation from the previous one. Crossover and mutation.
&lt;/p&gt;
&lt;h4&gt;Crossover
&lt;/h4&gt;
&lt;p&gt;
Crossover involved taking two individuals, splitting each one’s encoded string and
swapping parts to generate two new individuals.
&lt;/p&gt;
&lt;p&gt;
Say we had two individuals with the following encoded strings (spaces added for clarity)&lt;br /&gt;
0000 0001 1111 1110&lt;br /&gt;
0101 1010 1100 0011&lt;br /&gt;
and we chose the splitting point for the crossover after the 4th bit, the resulting
strings after the crossover will be&lt;br /&gt;
0000 1010 1100 0011&lt;br /&gt;
0101 0001 1111 1110
&lt;/p&gt;
&lt;p&gt;
In genetic algorithms crossover is the primary operator used. What I described here
was a single crossover. There are a number of other variations that can be used.
&lt;/p&gt;
&lt;h4&gt;Mutation
&lt;/h4&gt;
&lt;p&gt;
Mutation is an operator applied to a single individual. It’s usually applied after
crossover has generated new individuals. Mutation involves flipping a single bit somewhere
in the encoded string.
&lt;/p&gt;
&lt;p&gt;
Let’s take the two individuals that were generates by the crossover earlier and apply
a random mutation to each&lt;br /&gt;
0000 1010 1100 0011&lt;br /&gt;
0101 0001 1111 1110&lt;br /&gt;
After&lt;br /&gt;
0000 1010 1101 0011&lt;br /&gt;
0101 0001 1011 1110
&lt;/p&gt;
&lt;p&gt;
In genetic algorithms mutation is very seldom applied and only a small percentage
of individuals in a generation will be affected by the mutation operator.
&lt;/p&gt;
&lt;h3&gt;Example
&lt;/h3&gt;
&lt;p&gt;
As a quick example let’s manually evolve a simple function to see how the whole thing
works.
&lt;/p&gt;
&lt;p&gt;
Let’s say I have an array of 4 numbers (call it num) between 0 and 15. I want to know
what values give me the best value for the following.
&lt;/p&gt;
&lt;p&gt;
num[1]-num[2]-num[3]+num[4]
&lt;/p&gt;
&lt;p&gt;
I know, that’s simple enough that we could work out the optimal solution just by eye.
Not the point. This is enough to do a quick and effective demo with.
&lt;/p&gt;
&lt;p&gt;
I’m going to encode that by simply converting the numbers in the array to binary and
concatenating the binary representations of the 4 numbers (spaces just added for clarity).
The fitness function is already defined. I’m going to start with an initial population
of eight individuals.
&lt;/p&gt;
&lt;p&gt;
1111 1111 1100 1110 – fitness = (15-15-12+14) = 2&lt;br /&gt;
0101 1010 1100 0011 – fitness = (9-10-12+3) = –10&lt;br /&gt;
1011 0111 0011 1111 – fitness = (11-7-3+15) = 16&lt;br /&gt;
1111 1001 1010 0011 – fitness = (15-9-10+3) = -1&lt;br /&gt;
1010 1010 1010 1010 – fitness = (10-10-10+10) = 0&lt;br /&gt;
1000 0010 0111 0110 – fitness = (8-2-7+6) = 5&lt;br /&gt;
0000 0001 1111 1110 – fitness = (0-1-15+14) = -2&lt;br /&gt;
1010 0101 0010 0101 – fitness = (10-5-2+5) = 8
&lt;/p&gt;
&lt;p&gt;
From this I’m going to take the 4 individuals with the highest fitness, use crossover
operations (with the crossover point exactly in the middle) between them until I have
8 individuals for the 2nd generation and then apply a single bit mutation to one of
the individuals (detailed steps left as an exercise for the reader)
&lt;/p&gt;
&lt;p&gt;
1111 1111 0011 1111 – fitness = (15-15-3+15) = 12&lt;br /&gt;
1011 0111 1100 1110 – fitness = (11-7-12+14) = 6&lt;br /&gt;
1111 1011 0010 0101 – fitness = (15-11-2+5) = 7&lt;br /&gt;
1010 0101 1100 1110 – fitness = (10-5-7+6) = 4&lt;br /&gt;
1011 0111 0111 0110 – fitness = (11-7-7+6) = 3&lt;br /&gt;
1000 0010 0011 1111 – fitness = (8-2-3+15) = 18&lt;br /&gt;
1010 0101 0111 0110 – fitness = (10-5-7+6) = 4&lt;br /&gt;
1000 0010 0010 0101 – fitness = (8-2-2+5) = 9
&lt;/p&gt;
&lt;p&gt;
We can already see an improvement. The average and maximum fitness is much higher
than for the first generation. I’ll do one more generation in this example, again
taking the 4 fittest individuals, crossing over to generate 8 new individuals and
then applying a single bit mutation to two individuals. This time however, the crossover
point will between the 4th and 5th bit.
&lt;/p&gt;
&lt;p&gt;
1000 1111 0011 1111 – fitness = (8-15-3+15) = 5&lt;br /&gt;
1111 0010 0011 1111 – fitness = (15-2-3+15) = 25&lt;br /&gt;
1000 1011 0010 0101 – fitness = (8-11-2+5) = 0&lt;br /&gt;
1111 0010 0011 1111 – fitness = (15-2-3+15) = 25&lt;br /&gt;
1111 0010 1010 0101 – fitness = (15-2-10+5) = 8&lt;br /&gt;
1000 0111 0011 1111 – fitness = (8-7-3+15) = 13&lt;br /&gt;
1111 0010 0010 0101 – fitness = (15-2-2+5) = 16&lt;br /&gt;
1000 1011 0010 0101 – fitness = (8-11-2+5) = 0
&lt;/p&gt;
&lt;p&gt;
I think that’s enough for this example. We’re getting fairly close to the best possible
solution (15,0,0,15), close enough to see how this works. The population size was
very low, that’s why there are duplicates appearing in the results of the crossover.
With a larger search space there would be a lot more diversity.
&lt;/p&gt;
&lt;p&gt;
I hope that anyone still reading found this brief diversion into the realms of AI
interesting.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=6b34492c-0441-44ed-9358-171ba0a6e169" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,6b34492c-0441-44ed-9358-171ba0a6e169.aspx</comments>
      <category>General</category>
      <category>Artificial Intelligence</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=695e01ee-9f88-454b-8af0-f0ba79976d1c</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,695e01ee-9f88-454b-8af0-f0ba79976d1c.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,695e01ee-9f88-454b-8af0-f0ba79976d1c.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=695e01ee-9f88-454b-8af0-f0ba79976d1c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
How can you can <strong>make your site run faster</strong>? Google has launched a
firefox extension called <a href="http://code.google.com/speed/page-speed/" modo="false"><font color="#003399">Page
Speed</font></a> which webmasters can use to evaluate the performance of their web
pages and to get suggestions on how to improve them.
</p>
        <p>
Page Speed is available as an <strong>open-source Firefox Add-on</strong>. However
it requires another addon to work called <a href="http://getfirebug.com/"><font color="#003399">Firebug</font></a>,
which integrates with Firefox and lets you edit, debug, and monitor CSS, HTML, and
JavaScript live in any web page.
</p>
        <p>
Page Speed will perform several tests on your <strong>web server configuration</strong> and <strong>front-end
code </strong>based on a set of <a href="http://code.google.com/speed/page-speed/docs/rules_intro.html"><font color="#003399">best
practices</font></a> for improved web page performance, and will then provide <a href="http://code.google.com/speed/page-speed/docs/using.html"><font color="#003399">helpful
suggestions</font></a> on how to improve its performance. It will not only make your
site faster, but also reduce your bandwidth and hosting costs.
</p>
        <p>
Here is how a sample site speed test error report looks like
</p>
        <p>
          <img alt="Page Speed Test" src="http://code.google.com/speed/page-speed/images/page-speed.png" />
        </p>
        <p>
 
</p>
        <p>
While you give your site a try with Google Page Speed, you can also check out <a href="http://developer.yahoo.com/yslow/"><font color="#003399">Yahoo!
Yslow</font></a>, another Firefox extension that works with Firebug to identify website
speed performance issues.
</p>
        <p>
          <strong>Other Posts:</strong>
        </p>
        <p>
          <a href="http://stanbiron.com/2008/10/09/ToolsForWebDevelopers.aspx">
            <strong>Tools
for Web developers</strong>
          </a>
        </p>
        <p>
          <a href="http://stanbiron.com/2008/10/22/8EasyTipsToDriveTrafficFromSearchEnginesToYourSite.aspx">
            <strong>8
easy tips to drive traffic from search engines to your site</strong>
          </a>
        </p>
        <p>
          <a href="http://stanbiron.com/2008/06/26/WhatAreCustomersSayingAboutYouOnline.aspx">
            <strong>What
are your customers saying about you online?</strong>
          </a>
        </p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=695e01ee-9f88-454b-8af0-f0ba79976d1c" />
      </body>
      <title>Make Your Site Faster with Google Page Speed</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,695e01ee-9f88-454b-8af0-f0ba79976d1c.aspx</guid>
      <link>http://stanbiron.com/2010/06/15/MakeYourSiteFasterWithGooglePageSpeed.aspx</link>
      <pubDate>Tue, 15 Jun 2010 15:05:09 GMT</pubDate>
      <description>&lt;p&gt;
How can you can &lt;strong&gt;make your site run faster&lt;/strong&gt;? Google has launched a
firefox extension called &lt;a href="http://code.google.com/speed/page-speed/" modo="false"&gt;&lt;font color="#003399"&gt;Page
Speed&lt;/font&gt;&lt;/a&gt; which webmasters can use to evaluate the performance of their web
pages and to get suggestions on how to improve them.
&lt;/p&gt;
&lt;p&gt;
Page Speed is available as an &lt;strong&gt;open-source Firefox Add-on&lt;/strong&gt;. However
it requires another addon to work called &lt;a href="http://getfirebug.com/"&gt;&lt;font color="#003399"&gt;Firebug&lt;/font&gt;&lt;/a&gt;,
which integrates with Firefox and lets you edit, debug, and monitor CSS, HTML, and
JavaScript live in any web page.
&lt;/p&gt;
&lt;p&gt;
Page Speed will perform several tests on your &lt;strong&gt;web server configuration&lt;/strong&gt; and &lt;strong&gt;front-end
code &lt;/strong&gt;based on a set of &lt;a href="http://code.google.com/speed/page-speed/docs/rules_intro.html"&gt;&lt;font color="#003399"&gt;best
practices&lt;/font&gt;&lt;/a&gt; for improved web page performance, and will then provide &lt;a href="http://code.google.com/speed/page-speed/docs/using.html"&gt;&lt;font color="#003399"&gt;helpful
suggestions&lt;/font&gt;&lt;/a&gt; on how to improve its performance. It will not only make your
site faster, but also reduce your bandwidth and hosting costs.
&lt;/p&gt;
&lt;p&gt;
Here is how a sample site speed test error report looks like
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="Page Speed Test" src="http://code.google.com/speed/page-speed/images/page-speed.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
While you give your site a try with Google Page Speed, you can also check out &lt;a href="http://developer.yahoo.com/yslow/"&gt;&lt;font color="#003399"&gt;Yahoo!
Yslow&lt;/font&gt;&lt;/a&gt;, another Firefox extension that works with Firebug to identify website
speed performance issues.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other Posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/10/09/ToolsForWebDevelopers.aspx"&gt;&lt;strong&gt;Tools
for Web developers&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/10/22/8EasyTipsToDriveTrafficFromSearchEnginesToYourSite.aspx"&gt;&lt;strong&gt;8
easy tips to drive traffic from search engines to your site&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/06/26/WhatAreCustomersSayingAboutYouOnline.aspx"&gt;&lt;strong&gt;What
are your customers saying about you online?&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=695e01ee-9f88-454b-8af0-f0ba79976d1c" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,695e01ee-9f88-454b-8af0-f0ba79976d1c.aspx</comments>
      <category>General</category>
      <category>SEO</category>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=75a65060-353e-4019-9511-dd59e13c9444</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,75a65060-353e-4019-9511-dd59e13c9444.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,75a65060-353e-4019-9511-dd59e13c9444.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=75a65060-353e-4019-9511-dd59e13c9444</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some people are really language gymnasts. <a href="http://en.wikipedia.org/wiki/Georges_Perec">Georges
Perec</a>, who could write a whole 300 pages novel without ever using the letter
e, also wrote a palindrome of more than 6000 characters. At the time of this writing,
it can also be found at <a href="http://graner.net/nicolas/salocin/ten.renarg//:ptth">http://graner.net/nicolas/salocin/ten.renarg//:ptth</a> (which
is, of course, a palindromic URL, in case you did not notice). This is the palindrome
in French. Enjoy:
</p>
        <blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
          <p>
            <em>Trace l'inégal palindrome. Neige. Bagatelle, dira Hercule. Le brut repentir, cet
écrit né Perec. L'arc lu pèse trop, lis à vice versa.</em>
          </p>
          <p>
            <em>Perte. Cerise d'une vérité banale, le Malstrom, Alep, mort édulcoré, crêpe porté
de ce désir brisé d'un iota. Livre si aboli, tes sacres ont éreinté, cor cruel, nos
albatros. Être las, autel bâti, miette vice versa du jeu que fit, nacré, médical,
le sélénite relaps, ellipsoïdal.</em>
          </p>
          <p>
            <em>Ivre il bat, la turbine bat, l'isolé me ravale : le verre si obéi du Pernod --
eh, port su ! -- obsédante sonate teintée d'ivresse.</em>
          </p>
          <p>
            <em>Ce rêve se mit -- peste ! -- à blaguer. Beh ! L'art sec n'a si peu qu'algèbre
s'élabore de l'or évalué. Idiome étiré, hésite, bâtard replié, l'os nu. Si, à la gêne
secrète -- verbe nul à l'instar de cinq occis --, rets amincis, drailles inégales,
il, avatar espacé, caresse ce noir Belzebuth, oeil offensé, tire !</em>
          </p>
          <p>
            <em>L'écho fit (à désert) : Salut, sang, robe et été.</em>
          </p>
          <p>
            <em>Fièvres.</em>
          </p>
          <p>
            <em>Adam, rauque ; il écrit : Abrupt ogre, eh, cercueil, l'avenir tu, effilé, génial
à la rue (murmure sud eu ne tire vaseline séparée ; l'épeire gelée rode : Hep, mortel
?) lia ta balafre native.</em>
          </p>
          <p>
            <em>Litige. Regagner (et ne m'...).</em>
          </p>
          <p>
            <em>Ressac. Il frémit, se sape, na ! Eh, cavale ! Timide, il nia ce sursaut.</em>
          </p>
          <p>
            <em>Hasard repu, tel, le magicien à morte me lit. Un ignare le rapsode, lacs ému,
mixa, mêla : Hep, Oceano Nox, ô, béchamel azur ! Éjaculer ! Topaze !</em>
          </p>
          <p>
            <em>Le cèdre, malabar faible, Arsinoë le macule, mante ivre, glauque, pis, l'air atone
(sic). Art sournois : si, médicinale, l'autre glace (Melba ?) l'un ? N'alertai ni
pollen (retêter : gercé, repu, denté...) ni tobacco.</em>
          </p>
          <p>
            <em>Tu, désir, brio rimé, eh, prolixe nécrophore, tu ferres l'avenir velu, ocre, cromant-né
?</em>
          </p>
          <p>
            <em>Rage, l'ara. Veuglaire. Sedan, tes elzévirs t'obsèdent. Romain ? Exact. Et Nemrod
selle ses Samson !</em>
          </p>
          <p>
            <em>Et nier téocalli ?</em>
          </p>
          <p>
            <em>Cave canem (car ce nu trop minois -- rembuscade d'éruptives à babil -- admonesta,
fil accru, Têtebleu ! qu'Ariane évitât net. Attention, ébénier factice, ressorti du
réel. Ci-gît. Alpaga, gnôme, le héros se lamente, trompé, chocolat : ce laid totem,
ord, nil aplati, rituel biscornu ; ce sacré bedeau (quel bât ce Jésus !). Palace piégé,
Torpédo drue si à fellah tôt ne peut ni le Big à ruer bezef.</em>
          </p>
          <p>
            <em>L'eugéniste en rut consuma d'art son épi d'éolienne ici rot (eh... rut ?). Toi,
d'idem gin, élèvera, élu, bifocal, l'ithos et notre pathos à la hauteur de sec salamalec
?</em>
          </p>
          <p>
            <em>Élucider. Ion éclaté : Elle ? Tenu. Etna but (item mal famé), degré vide, julep
: macédoine d'axiomes, sac semé d'École, véniel, ah, le verbe enivré (ne sucer ni
arrêter, eh ça jamais !) lu n'abolira le hasard ?</em>
          </p>
          <p>
            <em>Nu, ottoman à écho, l'art su, oh, tara zéro, belle Deborah, ô, sacre ! Pute, vertubleu,
qualité si vertu à la part tarifé (décalitres ?) et nul n'a lu trop s'il séria de
ce basilic Iseut.</em>
          </p>
          <p>
            <em>Il à prié bonzes, Samaritain, Tora, vilains monstres (idolâtre DNA en sus) rêvés,
évaporés : Arbalète (bètes) en noce du Tell ivre-mort, émeri tu : O, trapu à elfe,
il lie l'os, il lia jérémiade lucide. Pétard ! Rate ta reinette, bigleur cruel, non
à ce lot ! Si, farcis-toi dito le coeur !</em>
          </p>
          <p>
            <em>Lied à monstre velu, ange ni bête, sec à pseudo délire : Tsarine (sellée, là),
Cid, Arétin, abruti de Ninive, Déjanire...</em>
          </p>
          <p>
            <em>Le Phenix, ève de sables, écarté, ne peut égarer racines radiales en mana : l'Oubli,
fétiche en argile.</em>
          </p>
          <p>
            <em>Foudre.</em>
          </p>
          <p>
            <em>Prix : Ile de la Gorgone en roc, et, ô, Licorne écartelée, Sirène, rumb à bannir
à ma (Red n'osa) niére de mimosa : Paysage d'Ourcq ocre sous ive d'écale ; Volcan.
Roc : tarot célé du Père.</em>
          </p>
          <p>
            <em>Livres.</em>
          </p>
          <p>
            <em>Silène bavard, replié sur sa nullité (nu à je) belge : ipséité banale. L' (eh,
ça !) hydromel à ri, psaltérion. Errée Lorelei...</em>
          </p>
          <p>
            <em>Fi ! Marmelade déviré d'Aladine. D'or, Noël : crèche (l'an ici taverne gelée dès
bol...) à santon givré, fi !, culé de l'âne vairon.</em>
          </p>
          <p>
            <em>Lapalisse élu, gnoses sans orgueil (écru, sale, sec). Saluts : angiome. T'es si
crâneur !</em>
          </p>
          <center>
            <em>* * *</em>
          </center>
          <p>
            <em>Rue. Narcisse ! Témoignas-tu ! l'ascèse, là, sur ce lieu gros, nasses ongulées...</em>
          </p>
          <p>
            <em>S'il a pal, noria vénale de Lucifer, vignot nasal (obsédée, le genre vaticinal),
eh, Cercle, on rode, nid à la dérive, Dèdale (M... !) ramifié ?</em>
          </p>
          <p>
            <em>Le rôle erre, noir, et la spirale mord, y hache l'élan abêti : Espiègle (béjaune)
Till : un as rusé.</em>
          </p>
          <p>
            <em>Il perdra. Va bene.</em>
          </p>
          <p>
            <em>Lis, servile repu d'électorat, cornac, Lovelace. De visu, oser ?</em>
          </p>
          <p>
            <em>Coq cru, ô, Degas, y'a pas, ô mime, de rein à sonder : à marin nabab, murène risée.</em>
          </p>
          <p>
            <em>Le trace en roc, ilote cornéen.</em>
          </p>
          <p>
            <em>O, grog, ale d'elixir perdu, ô, feligrane ! Eh, cité, fil bu ! ô ! l'anamnèse,
lai d'arsenic, arrérage tué, pénétra ce sel-base de Vexin. Eh, pèlerin à (Je : devin
inédit) urbanité radicale (elle s'en ira...), stérile, dodu.</em>
          </p>
          <p>
            <em>Espaces (été biné ? gnaule ?) verts.</em>
          </p>
          <p>
            <em>Nomade, il rue, ocelot. Idiot-sic rafistolé : canon ! Leur cruel gibet te niera,
têtard raté, pédicule d'aimé rejailli.</em>
          </p>
          <p>
            <em>Soleil lie, fléau, partout ire (Métro, Mer, Ville...) tu déconnes. Été : bètel
à brasero. Pavese versus Neandertal ! O, diserts noms ni à Livarot ni à Tir ! Amassez.</em>
          </p>
          <p>
            <em>N'obéir.</em>
          </p>
          <p>
            <em>Pali, tu es ici : lis abécédaires, lis portulan : l'un te sert-il ? à ce défi
rattrapa l'autre ? Vise-t-il auquel but rêvé tu perças ?</em>
          </p>
          <p>
            <em>Oh, arobe d'ellébore, Zarathoustra ! L'ohcéan à mot (Toundra ? Sahel ?) à ri :
Lob à nul si à ma jachère, terrain récusé, nervi, née brève l'haleine véloce de mes
casse-moix à (Déni, ô !) décampé.</em>
          </p>
          <p>
            <em>Lu, je diverge de ma flamme titubante : une telle (étal, ce noir édicule cela
mal) ascèse drue tua, ha, l'As.</em>
          </p>
          <p>
            <em>Oh, taper ! Tontes ! Oh, tillac, ô, fibule à reve l'Énigme (d'idiot tu) rhétoricienne.</em>
          </p>
          <p>
            <em>Il, Oedipe, Nostradamus nocturne et, si né Guelfe, zébreur à Gibelin tué (pentothal
?), le faiseur d'ode protège.</em>
          </p>
          <p>
            <em>Ipéca... : lapsus.</em>
          </p>
          <p>
            <em>Eject à bleu qu'aède berça sec. Un roc si bleu ! Tir. ital. : palindrome tôt dialectal.
Oc ? Oh, cep mort et né, mal essoré, hélé. Mon gag aplati gicle. Érudit rossérecit,
ça freine, benoit, net.</em>
          </p>
          <p>
            <em>Ta tentative en air auquel bète, turc, califat se (nom d'Ali-Baba !) sévit, pure
de -- d'ac ? -- submersion importune, crac, menace, vacilla, co-étreinte...</em>
          </p>
          <p>
            <em>Nos masses, elles dorment ? Etc... Axé ni à mort-né des bots. Rivez ! Les Etna
de Serial-Guevara l'égarent. N'amorcer coulevrine.</em>
          </p>
          <p>
            <em>Valser. Refuter.</em>
          </p>
          <p>
            <em>Oh, porc en exil (Orphée), miroir brisé du toc cabotin et né du Perec : Regret
éternel. L'opiniâtre. L'annulable.</em>
          </p>
          <p>
            <em>Mec, Alger tua l'élan ici démission. Ru ostracisé, notarial, si peu qu'Alger,
Viet-Nam (élu caméléon !), Israël, Biafra, bal à merde : celez, apôtre Luc à Jéruzalem,
ah ce boxon ! On à écopé, ha, le maximum</em>
          </p>
          <p>
            <em>Escale d'os, pare le rang inutile. Métromane ici gamelle, tu perdras. Ah, tu as
rusé ! Cain ! Lied imité la vache (à ne pas estimer) (flic assermenté, rengagé) régit.</em>
          </p>
          <p>
            <em>Il évita, nerf à la bataille trompé.</em>
          </p>
          <p>
            <em>Hé, dorée, l'Égérie pelée rape, sénile, sa vérité nue du sérum : rumeur à la laine,
gel, if, feutrine, val, lieu-créche, ergot, pur, Bâtir ce lieu qu'Armada serve : if
étété, éborgnas-tu l'astre sédatif ?</em>
          </p>
          <p>
            <em>Oh, célérités ! Nef ! Folie ! Oh, tubez ! Le brio ne cessera, ce cap sera ta valise
; l'âge : ni sel-liard (sic) ni master-(sic)-coq, ni cédrats, ni la lune brève. Tercé,
sénégalais, un soleil perdra ta bétise héritée (Moi-Dieu, la vérole !)</em>
          </p>
          <p>
            <em>Déroba le serbe glauque, pis, ancestral, hébreu (Galba et Septime-Sévère). Cesser,
vidé et nié. Tetanos. Etna dès boustrophédon répudié. Boiser. Révèle l'avare mélo,
s'il t'a béni, brutal tablier vil. Adios. Pilles, pale rétine, le sel, l'acide mercanti.
Feu que Judas rêve, civette imitable, tu as alerté, sort à blason, leur croc. Et nier
et n'oser. Casse-t-il, ô, baiser vil ? à toi, nu désir brisé, décédé, trope percé,
roc lu. Détrompe la. Morts : l'Ame, l'Élan abêti, revenu.</em>
          </p>
          <p>
            <em>Désire ce trépas rêvé : Ci va ! S'il porte, sépulcral, ce repentir, cet écrit
ne perturbe le lucre : Haridelle, ta gabegie ne mord ni la plage ni l'écart. </em>
          </p>
        </blockquote>
        <p>
 
</p>
        <p>
Great stuff!
</p>
        <p>
 
</p>
        <p>
          <strong>Other posts:</strong>
        </p>
        <p>
          <a href="http://stanbiron.com/2009/01/16/onceinawhilestopandpayattention.aspx">
            <strong>Once
in a while, stop and pay attention...</strong>
          </a>
        </p>
        <p>
          <a href="http://stanbiron.com/2010/01/20/HugeListOfDumbAndCrazyLawsInTheUnitedStates.aspx">
            <strong>List
of Crazy Laws in the United States</strong>
          </a>
        </p>
        <p>
          <a href="http://stanbiron.com/2009/12/22/SQLInjectionHumor.aspx">
            <strong>SQL Injection
humor </strong>
          </a>
        </p>
        <p>
          <a href="http://stanbiron.com/2009/12/15/factsandfiguresaboutthelanguageindustry.aspx">
            <strong>Facts
and Figures about the Language Industry</strong>
          </a>
        </p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=75a65060-353e-4019-9511-dd59e13c9444" />
      </body>
      <title>Georges Perec's palindrome</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,75a65060-353e-4019-9511-dd59e13c9444.aspx</guid>
      <link>http://stanbiron.com/2010/05/04/GeorgesPerecsPalindrome.aspx</link>
      <pubDate>Tue, 04 May 2010 19:25:37 GMT</pubDate>
      <description>&lt;p&gt;
Some people are really language gymnasts. &lt;a href="http://en.wikipedia.org/wiki/Georges_Perec"&gt;Georges
Perec&lt;/a&gt;, who could write a whole 300&amp;nbsp;pages novel without ever using the letter
e, also wrote a palindrome of more than 6000 characters. At the time of this writing,
it can also be found at &lt;a href="http://graner.net/nicolas/salocin/ten.renarg//:ptth"&gt;http://graner.net/nicolas/salocin/ten.renarg//:ptth&lt;/a&gt; (which
is, of course, a palindromic URL, in case you did not notice). This is the palindrome
in French. Enjoy:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir="ltr"&gt; 
&lt;p&gt;
&lt;em&gt;Trace l'inégal palindrome. Neige. Bagatelle, dira Hercule. Le brut repentir, cet
écrit né Perec. L'arc lu pèse trop, lis à vice versa.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Perte. Cerise d'une vérité banale, le Malstrom, Alep, mort édulcoré, crêpe porté
de ce désir brisé d'un iota. Livre si aboli, tes sacres ont éreinté, cor cruel, nos
albatros. Être las, autel bâti, miette vice versa du jeu que fit, nacré, médical,
le sélénite relaps, ellipsoïdal.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ivre il bat, la turbine bat, l'isolé me ravale : le verre si obéi du Pernod --
eh, port su ! -- obsédante sonate teintée d'ivresse.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ce rêve se mit -- peste ! -- à blaguer. Beh ! L'art sec n'a si peu qu'algèbre
s'élabore de l'or évalué. Idiome étiré, hésite, bâtard replié, l'os nu. Si, à la gêne
secrète -- verbe nul à l'instar de cinq occis --, rets amincis, drailles inégales,
il, avatar espacé, caresse ce noir Belzebuth, oeil offensé, tire !&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;L'écho fit (à désert) : Salut, sang, robe et été.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Fièvres.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Adam, rauque ; il écrit : Abrupt ogre, eh, cercueil, l'avenir tu, effilé, génial
à la rue (murmure sud eu ne tire vaseline séparée ; l'épeire gelée rode : Hep, mortel
?) lia ta balafre native.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Litige. Regagner (et ne m'...).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ressac. Il frémit, se sape, na ! Eh, cavale ! Timide, il nia ce sursaut.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Hasard repu, tel, le magicien à morte me lit. Un ignare le rapsode, lacs ému,
mixa, mêla : Hep, Oceano Nox, ô, béchamel azur ! Éjaculer ! Topaze !&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Le cèdre, malabar faible, Arsinoë le macule, mante ivre, glauque, pis, l'air atone
(sic). Art sournois : si, médicinale, l'autre glace (Melba ?) l'un ? N'alertai ni
pollen (retêter : gercé, repu, denté...) ni tobacco.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Tu, désir, brio rimé, eh, prolixe nécrophore, tu ferres l'avenir velu, ocre, cromant-né
?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Rage, l'ara. Veuglaire. Sedan, tes elzévirs t'obsèdent. Romain ? Exact. Et Nemrod
selle ses Samson !&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Et nier téocalli ?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Cave canem (car ce nu trop minois -- rembuscade d'éruptives à babil -- admonesta,
fil accru, Têtebleu ! qu'Ariane évitât net. Attention, ébénier factice, ressorti du
réel. Ci-gît. Alpaga, gnôme, le héros se lamente, trompé, chocolat : ce laid totem,
ord, nil aplati, rituel biscornu ; ce sacré bedeau (quel bât ce Jésus !). Palace piégé,
Torpédo drue si à fellah tôt ne peut ni le Big à ruer bezef.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;L'eugéniste en rut consuma d'art son épi d'éolienne ici rot (eh... rut ?). Toi,
d'idem gin, élèvera, élu, bifocal, l'ithos et notre pathos à la hauteur de sec salamalec
?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Élucider. Ion éclaté : Elle ? Tenu. Etna but (item mal famé), degré vide, julep
: macédoine d'axiomes, sac semé d'École, véniel, ah, le verbe enivré (ne sucer ni
arrêter, eh ça jamais !) lu n'abolira le hasard ?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Nu, ottoman à écho, l'art su, oh, tara zéro, belle Deborah, ô, sacre ! Pute, vertubleu,
qualité si vertu à la part tarifé (décalitres ?) et nul n'a lu trop s'il séria de
ce basilic Iseut.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Il à prié bonzes, Samaritain, Tora, vilains monstres (idolâtre DNA en sus) rêvés,
évaporés : Arbalète (bètes) en noce du Tell ivre-mort, émeri tu : O, trapu à elfe,
il lie l'os, il lia jérémiade lucide. Pétard ! Rate ta reinette, bigleur cruel, non
à ce lot ! Si, farcis-toi dito le coeur !&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Lied à monstre velu, ange ni bête, sec à pseudo délire : Tsarine (sellée, là),
Cid, Arétin, abruti de Ninive, Déjanire...&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Le Phenix, ève de sables, écarté, ne peut égarer racines radiales en mana : l'Oubli,
fétiche en argile.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Foudre.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Prix : Ile de la Gorgone en roc, et, ô, Licorne écartelée, Sirène, rumb à bannir
à ma (Red n'osa) niére de mimosa : Paysage d'Ourcq ocre sous ive d'écale ; Volcan.
Roc : tarot célé du Père.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Livres.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Silène bavard, replié sur sa nullité (nu à je) belge : ipséité banale. L' (eh,
ça !) hydromel à ri, psaltérion. Errée Lorelei...&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Fi ! Marmelade déviré d'Aladine. D'or, Noël : crèche (l'an ici taverne gelée dès
bol...) à santon givré, fi !, culé de l'âne vairon.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Lapalisse élu, gnoses sans orgueil (écru, sale, sec). Saluts : angiome. T'es si
crâneur !&lt;/em&gt;
&lt;/p&gt;
&lt;center&gt;&lt;em&gt;* * *&lt;/em&gt;
&lt;/center&gt;
&lt;p&gt;
&lt;em&gt;Rue. Narcisse ! Témoignas-tu ! l'ascèse, là, sur ce lieu gros, nasses ongulées...&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;S'il a pal, noria vénale de Lucifer, vignot nasal (obsédée, le genre vaticinal),
eh, Cercle, on rode, nid à la dérive, Dèdale (M... !) ramifié ?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Le rôle erre, noir, et la spirale mord, y hache l'élan abêti : Espiègle (béjaune)
Till : un as rusé.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Il perdra. Va bene.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Lis, servile repu d'électorat, cornac, Lovelace. De visu, oser ?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Coq cru, ô, Degas, y'a pas, ô mime, de rein à sonder : à marin nabab, murène risée.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Le trace en roc, ilote cornéen.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;O, grog, ale d'elixir perdu, ô, feligrane ! Eh, cité, fil bu ! ô ! l'anamnèse,
lai d'arsenic, arrérage tué, pénétra ce sel-base de Vexin. Eh, pèlerin à (Je : devin
inédit) urbanité radicale (elle s'en ira...), stérile, dodu.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Espaces (été biné ? gnaule ?) verts.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Nomade, il rue, ocelot. Idiot-sic rafistolé : canon ! Leur cruel gibet te niera,
têtard raté, pédicule d'aimé rejailli.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Soleil lie, fléau, partout ire (Métro, Mer, Ville...) tu déconnes. Été : bètel
à brasero. Pavese versus Neandertal ! O, diserts noms ni à Livarot ni à Tir ! Amassez.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;N'obéir.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Pali, tu es ici : lis abécédaires, lis portulan : l'un te sert-il ? à ce défi
rattrapa l'autre ? Vise-t-il auquel but rêvé tu perças ?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Oh, arobe d'ellébore, Zarathoustra ! L'ohcéan à mot (Toundra ? Sahel ?) à ri :
Lob à nul si à ma jachère, terrain récusé, nervi, née brève l'haleine véloce de mes
casse-moix à (Déni, ô !) décampé.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Lu, je diverge de ma flamme titubante : une telle (étal, ce noir édicule cela
mal) ascèse drue tua, ha, l'As.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Oh, taper ! Tontes ! Oh, tillac, ô, fibule à reve l'Énigme (d'idiot tu) rhétoricienne.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Il, Oedipe, Nostradamus nocturne et, si né Guelfe, zébreur à Gibelin tué (pentothal
?), le faiseur d'ode protège.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ipéca... : lapsus.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Eject à bleu qu'aède berça sec. Un roc si bleu ! Tir. ital. : palindrome tôt dialectal.
Oc ? Oh, cep mort et né, mal essoré, hélé. Mon gag aplati gicle. Érudit rossérecit,
ça freine, benoit, net.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Ta tentative en air auquel bète, turc, califat se (nom d'Ali-Baba !) sévit, pure
de -- d'ac ? -- submersion importune, crac, menace, vacilla, co-étreinte...&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Nos masses, elles dorment ? Etc... Axé ni à mort-né des bots. Rivez ! Les Etna
de Serial-Guevara l'égarent. N'amorcer coulevrine.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Valser. Refuter.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Oh, porc en exil (Orphée), miroir brisé du toc cabotin et né du Perec : Regret
éternel. L'opiniâtre. L'annulable.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Mec, Alger tua l'élan ici démission. Ru ostracisé, notarial, si peu qu'Alger,
Viet-Nam (élu caméléon !), Israël, Biafra, bal à merde : celez, apôtre Luc à Jéruzalem,
ah ce boxon ! On à écopé, ha, le maximum&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Escale d'os, pare le rang inutile. Métromane ici gamelle, tu perdras. Ah, tu as
rusé ! Cain ! Lied imité la vache (à ne pas estimer) (flic assermenté, rengagé) régit.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Il évita, nerf à la bataille trompé.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Hé, dorée, l'Égérie pelée rape, sénile, sa vérité nue du sérum : rumeur à la laine,
gel, if, feutrine, val, lieu-créche, ergot, pur, Bâtir ce lieu qu'Armada serve : if
étété, éborgnas-tu l'astre sédatif ?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Oh, célérités ! Nef ! Folie ! Oh, tubez ! Le brio ne cessera, ce cap sera ta valise
; l'âge : ni sel-liard (sic) ni master-(sic)-coq, ni cédrats, ni la lune brève. Tercé,
sénégalais, un soleil perdra ta bétise héritée (Moi-Dieu, la vérole !)&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Déroba le serbe glauque, pis, ancestral, hébreu (Galba et Septime-Sévère). Cesser,
vidé et nié. Tetanos. Etna dès boustrophédon répudié. Boiser. Révèle l'avare mélo,
s'il t'a béni, brutal tablier vil. Adios. Pilles, pale rétine, le sel, l'acide mercanti.
Feu que Judas rêve, civette imitable, tu as alerté, sort à blason, leur croc. Et nier
et n'oser. Casse-t-il, ô, baiser vil ? à toi, nu désir brisé, décédé, trope percé,
roc lu. Détrompe la. Morts : l'Ame, l'Élan abêti, revenu.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Désire ce trépas rêvé : Ci va ! S'il porte, sépulcral, ce repentir, cet écrit
ne perturbe le lucre : Haridelle, ta gabegie ne mord ni la plage ni l'écart. &lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Great stuff!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2009/01/16/onceinawhilestopandpayattention.aspx"&gt;&lt;strong&gt;Once
in a while, stop and pay attention...&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2010/01/20/HugeListOfDumbAndCrazyLawsInTheUnitedStates.aspx"&gt;&lt;strong&gt;List
of Crazy Laws in the United States&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2009/12/22/SQLInjectionHumor.aspx"&gt;&lt;strong&gt;SQL Injection
humor &lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2009/12/15/factsandfiguresaboutthelanguageindustry.aspx"&gt;&lt;strong&gt;Facts
and Figures about the Language Industry&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=75a65060-353e-4019-9511-dd59e13c9444" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,75a65060-353e-4019-9511-dd59e13c9444.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=8f3c2ea1-1d17-4801-8d18-8a12aead48f4</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,8f3c2ea1-1d17-4801-8d18-8a12aead48f4.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,8f3c2ea1-1d17-4801-8d18-8a12aead48f4.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8f3c2ea1-1d17-4801-8d18-8a12aead48f4</wfw:commentRss>
      <title>Survey of .NET Framework features most used </title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,8f3c2ea1-1d17-4801-8d18-8a12aead48f4.aspx</guid>
      <link>http://stanbiron.com/2010/02/22/SurveyOfNETFrameworkFeaturesMostUsed.aspx</link>
      <pubDate>Mon, 22 Feb 2010 16:13:35 GMT</pubDate>
      <description>&lt;p&gt;
Scott Hanselman recently has published the&amp;nbsp;&lt;a href="http://www.hanselman.com/blog/2010SurveyResultsWhatNETFrameworkFeaturesDoYouUse.aspx"&gt;survey
results of&lt;/a&gt; : What .NET Framework features do you use?&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://www.hanselman.com/blog/content/binary/WindowsLiveWriter/2010SurveyR.NETFrameworkfeaturesdoyouuse_CD8F/image_48ab2aba-0e74-413b-9ea7-af8f19cd02ed.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
Quite interesting numbers! It interesting to see that such&amp;nbsp;a high percentage
of the respondants still use winforms. It&amp;rsquo;s also interesting to note that the
number of Silverlight users&amp;nbsp;is higher than the number of WPF users.
&lt;/p&gt;
&lt;p&gt;
The survey also shows that WebForms, Ajax, WCF and Linq2SQL&amp;nbsp;are clearly the technologies
of choice as of now.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2009/01/15/HowToHiringAndManagingGeeks.aspx"&gt;&lt;strong&gt;How-To:
hiring and managing geeks&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2007/12/19/SortingStringsForRealPeopleAHumanfriendlyIComparer.aspx"&gt;&lt;strong&gt;Sorting
strings for real people - A human-friendly IComparer&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/05/06/HowToSetNTFSPermissionsUsingC2005.aspx"&gt;&lt;strong&gt;How
to set NTFS permissions using C# 2005&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2007/10/10/HowToUseActiveDirectoryToAuthenticateUsers.aspx"&gt;&lt;strong&gt;How
to Use Active Directory to authenticate users in C#&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/07/10/HowToFindMondayOfTheCurrentWeek.aspx"&gt;&lt;strong&gt;How
to find monday of the current week using T-SQL&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=8f3c2ea1-1d17-4801-8d18-8a12aead48f4" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,8f3c2ea1-1d17-4801-8d18-8a12aead48f4.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=4a325a04-a240-4520-b175-3258408f4258</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,4a325a04-a240-4520-b175-3258408f4258.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,4a325a04-a240-4520-b175-3258408f4258.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=4a325a04-a240-4520-b175-3258408f4258</wfw:commentRss>
      <title>How to get great photos for your blog posts</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,4a325a04-a240-4520-b175-3258408f4258.aspx</guid>
      <link>http://stanbiron.com/2010/02/10/HowToGetGreatPhotosForYourBlogPosts.aspx</link>
      <pubDate>Wed, 10 Feb 2010 14:35:46 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img border="0" hspace="4" alt="Photographer" vspace="4" align="left" src="http://farm4.static.flickr.com/3103/3117714626_62c96eae25.jpg" /&gt;I
like to use to use images to help illustrate the theme or point of a blog post. It&amp;rsquo;s
a proven &amp;ldquo;best practice&amp;rdquo; in blogging and I highly recommend that every
blogger do it.
&lt;/p&gt;
&lt;p&gt;
One trick for easily finding and properly using images in your blog posts is to search
the creative commons licensed photos on the photo sharing site &lt;a href="http://www.flickr.com/"&gt;Flickr.&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;So, what&amp;rsquo;s Creative Commons?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.creativecommons.org/"&gt;Creative Commons&lt;/a&gt; is a non-profit organization
that has created a standardized set of tools for granting various levels of permission
for people to use creative works freely. The author or in this case photographer of
the works designates a type of license and then Flickr allows you to sort through
and find only photos that are free to be used for blog posts. I choose to use photos
that carry the attribution/share alike license. This means that I may use the image
here as long as I attribute the image to the Flickr user&amp;rsquo;s account where I found
it. Here&amp;rsquo;s &lt;a href="http://www.flickr.com/creativecommons/"&gt;Flickr&amp;rsquo;s description
of CC licenses&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;So, here&amp;rsquo;s how to find and grab great images.&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Surf to the &lt;a href="http://www.flickr.com/creativecommons/by-sa-2.0/"&gt;Flickr Creative
Commons Search Page&lt;/a&gt; &amp;ndash; all images you search for here are free to use with
proper attribution 
&lt;/li&gt;
&lt;li&gt;
Search for a specific phrase or concept and choose the image that fits 
&lt;/li&gt;
&lt;li&gt;
Click on &amp;ldquo;all sizes&amp;rdquo; and choose the size you wish to post on your blog 
&lt;/li&gt;
&lt;li&gt;
Right click the image and choose &amp;ldquo;copy image location&amp;rdquo; &amp;ndash; use this
path to paste into your blog post where you want the image to appear 
&lt;/li&gt;
&lt;li&gt;
Somewhere in your post add the words &amp;ndash; Image credit and the link to the Flickr
account where you found the image (see at the bottom of the post)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
To be a good photo user make sure you add your own images and make the available through
the proper CC license &amp;ndash; you can make this a default Flickr account setting.
&lt;/p&gt;
&lt;p&gt;
Image credit: &lt;a href="http://www.flickr.com/photos/dashitnow/"&gt;dashitnow&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other Posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2009/12/01/TheBestDamnWebMarketingChecklistPeriod.aspx"&gt;&lt;strong&gt;The
Best Damn Web Marketing Checklist, Period!&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/06/26/WhatAreCustomersSayingAboutYouOnline.aspx"&gt;&lt;strong&gt;What
Are Customers Saying About You Online?&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/10/22/8EasyTipsToDriveTrafficFromSearchEnginesToYourSite.aspx"&gt;&lt;strong&gt;8
easy tips to drive traffic from search engines to your site&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=4a325a04-a240-4520-b175-3258408f4258" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,4a325a04-a240-4520-b175-3258408f4258.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=90f93697-faa5-40ca-a6ae-4455d3847d3d</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,90f93697-faa5-40ca-a6ae-4455d3847d3d.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,90f93697-faa5-40ca-a6ae-4455d3847d3d.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=90f93697-faa5-40ca-a6ae-4455d3847d3d</wfw:commentRss>
      <title>How to use the Robots.txt file</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,90f93697-faa5-40ca-a6ae-4455d3847d3d.aspx</guid>
      <link>http://stanbiron.com/2010/02/05/HowToUseTheRobotstxtFile.aspx</link>
      <pubDate>Fri, 05 Feb 2010 19:26:11 GMT</pubDate>
      <description>&lt;p&gt;
You can place a robots.txt file in the root of your site to help inform search engines
and other bots about the areas of your site that you don&amp;rsquo;t want them to access.
For example, you may not want bots to access the content of your images folder:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;User-agent: * 
&lt;br /&gt;
Disallow: /images/&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
You can also provide instructions for particular bots. For example, to exclude Google
image search from your entire site, use this:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;User-agent: Googlebot-Image 
&lt;br /&gt;
Disallow: /&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The robots.txt standard is unfortunately very limited; it only supports the User-agent
and Disallow fields, and the only wildcard allowed is when you specify it by itself
in User-agent, as in the previous example. 
&lt;/p&gt;
&lt;p&gt;
Google has introduced support for a couple of extensions to the robots.txt standard.
First, you can use limited patterns in pathnames. You can also specify an Allow clause.
Since those extensions are specific to Google, you should probably only use them with
one of the Google user agents or with Googlebot, which all of its bots recognize.
&lt;/p&gt;
&lt;p&gt;
For example, you can block PNG files from all Google user agents as follows:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;User-agent: Googlebot 
&lt;br /&gt;
Disallow: /*.png$&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
As with regular expressions, the asterisk means to match any sequence of characters,
and the dollar sign means to match the end of the string. Those are the only two pattern
matching characters that Google supports. 
&lt;/p&gt;
&lt;p&gt;
To disable all bots except for Google, use this:&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;User-agent: * 
&lt;br /&gt;
Disallow: / &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;User-agent: Googlebot 
&lt;br /&gt;
Allow: /&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
To exclude pages with sort as the first element of a query string that can be followed
by any other text, use this: 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;User-agent: Googlebot 
&lt;br /&gt;
Disallow: /*?sort&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This clause will also work only woth the Google bots.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other posts:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2009/01/20/WhiteHouseNewRobotstxt.aspx"&gt;&lt;strong&gt;White
House new Robots.txt&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/10/22/8EasyTipsToDriveTrafficFromSearchEnginesToYourSite.aspx"&gt;&lt;strong&gt;8
easy tips to drive traffic from search engines to your site&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2010/01/20/HugeListOfDumbAndCrazyLawsInTheUnitedStates.aspx"&gt;&lt;strong&gt;Huge
List of Dumb and Crazy Laws in the United States&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/10/09/ToolsForWebDevelopers.aspx"&gt;&lt;strong&gt;Tools
for Web developers&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=90f93697-faa5-40ca-a6ae-4455d3847d3d" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,90f93697-faa5-40ca-a6ae-4455d3847d3d.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=058d2f14-2f2f-4448-ac5c-fb6bc6170d71</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,058d2f14-2f2f-4448-ac5c-fb6bc6170d71.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,058d2f14-2f2f-4448-ac5c-fb6bc6170d71.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=058d2f14-2f2f-4448-ac5c-fb6bc6170d71</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img border="0" hspace="4" alt="000002775701Small" vspace="4" align="right" src="http://stanbiron.com/content/binary/000002775701Small.jpg" />
        </p>
        <p>
Here are some interesting facts and numbers about the language industry.
</p>
        <p>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            <span style="FONT-SIZE: 10pt">
              <strong>Language
Services Market</strong>
              <br />
            </span>
          </span>
        </p>
        <ul>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">The
language services market is predicted to reach US$25 billion by 2013.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">North
American telephone interpreting providers account for 85% of the combined revenue
of the Top 15 global providers.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">The
average year-over-year growth rate of the top 20 translation companies in 2007 was
26.68%.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">The
total market for outsourced interpreting services stood at US$2.5 billion in 2007,
with telephone interpreting worth US$700 million.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">70%
of LSPs employ between one and 10 people, 11% employ between 20 to 99, and the rest
employ 101 or more.<span></span>Only six firms worldwide employ more than 1,000 people.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Nearly
90% of companies outsource some or all of their translation and localization work.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">In
2005, there were around 4,000 translation companies with more than five employees
in the world; 450 of those were based in the United States.</span>
            </span>
          </li>
        </ul>
        <p>
          <strong>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Translation
Technologies</span>
            </span>
          </strong>
        </p>
        <ul>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">20%
of medium-to-large LSPs offer a house brand of translation management.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">67%
of language buyers say that a vendor’s automation capabilities are important.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Content
that reaches 200,000 words (roughly 400 U.S. letter-size pages) triggers the need
for a translation memory</span>
            </span>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">.</span>
            </span>
          </li>
        </ul>
        <p style="MARGIN-RIGHT: 0px" dir="ltr">
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            <span style="FONT-SIZE: 10pt">
              <strong>
                <a name="globalmarketing">
                </a>
              </strong>
            </span>
          </span>
          <span style="FONT-SIZE: 13px">
            <strong>
            </strong>
          </span>
          <span style="FONT-SIZE: 13px">
            <strong>
              <span style="FONT-FAMILY: tahoma; FONT-SIZE: 13px">Procurement</span>
            </strong>
          </span>
          <br />
        </p>
        <ul>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">About
40% of translation buyers regularly buy from five or more suppliers, while 20% buy
from only two.</span>
            </span>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Almost
one-tenth of software firms fully outsource localization work to a language services
provider, specialty coding house or offshore developer.</span>
            </span>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            </span>
          </li>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            <span style="FONT-SIZE: 10pt">
              <em>
              </em>
            </span>
          </span>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Only
26% of companies can formally measure and calculate the return on their localization
investment.</span>
            </span>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">
              </span>
            </span>
          </li>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            <span style="FONT-SIZE: 10pt">
              <em>
              </em>
            </span>
          </span>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">44%
of translation buyers stayed with their vendors for five years or more, with the rest
citing far longer relationships.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Three-quarters
of the typical purchaser of translation services have been buyers for six years or
less.</span>
            </span>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">
              </span>
            </span>
          </li>
        </ul>
        <p style="MARGIN-RIGHT: 0px" dir="ltr">
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
            <span style="FONT-SIZE: 10pt">
              <strong>Global
Marketing</strong>
              <br />
            </span>
          </span>
        </p>
        <ul>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">It
would take 83 languages to reach 80% of all the people in the world, and over 7,000
languages to reach everyone.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Websites
offered in only one language can address at most 30% of the total online population.</span>
            </span>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">
              </span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Translating
into 50 languages provides access to almost 96% of the world’s online residents.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">72.4%
of consumers say they would be more likely to buy a product with information in their
own language.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">56.2%
of consumers say that the ability to obtain information in their own language is more
important than price.</span>
            </span>
          </li>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
          </span>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">72.1%
of the consumers spend most or all of their time on sites in their own language.</span>
            </span>
          </li>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
          </span>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">English,
French, Italian, German, Spanish and Japanese add up to 88% of the addressable online
market.</span>
            </span>
          </li>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
          </span>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">More
than 99% of what people write, say, or generate never leaves the language in which
it was created.</span>
            </span>
          </li>
          <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
          </span>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Websites
tailored linguistically and transactionally to the residents of one country can address,
at most, 20% of the total world online population.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Over
70% of software suppliers localize new releases.</span>
            </span>
          </li>
          <li>
            <span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px">
              <span style="FONT-SIZE: 10pt">Only
12 of the top 100 global brands and just four of the top 50 U.S. online retailers
translated a significant part of their corporate websites in Spanish.</span>
            </span>
          </li>
        </ul>
        <p style="MARGIN-RIGHT: 0px" dir="ltr">
        </p>
        <p style="MARGIN-RIGHT: 0px" dir="ltr">
Source: <a href="http://www.commonsenseadvisory.com/resources/factsandfigures/tabid/1213/default.aspx">Common
Sense Advisory</a></p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=058d2f14-2f2f-4448-ac5c-fb6bc6170d71" />
      </body>
      <title>Facts and Figures about the Language Industry</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,058d2f14-2f2f-4448-ac5c-fb6bc6170d71.aspx</guid>
      <link>http://stanbiron.com/2009/12/15/FactsAndFiguresAboutTheLanguageIndustry.aspx</link>
      <pubDate>Tue, 15 Dec 2009 18:34:59 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img border="0" hspace="4" alt="000002775701Small" vspace="4" align="right" src="http://stanbiron.com/content/binary/000002775701Small.jpg" /&gt;
&lt;/p&gt;
&lt;p&gt;
Here are some interesting facts and numbers about the language industry.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;strong&gt;Language
Services Market&lt;/strong&gt; 
&lt;br /&gt;
&lt;/p&gt;
&gt;&gt; 
&lt;ul&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;The
language services market is predicted to reach US$25 billion by 2013.&lt;/span&gt;&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;North
American telephone interpreting providers account for 85% of the combined revenue
of the Top 15 global providers.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;The
average year-over-year growth rate of the top 20 translation companies in 2007 was
26.68%.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;The
total market for outsourced interpreting services stood at US$2.5 billion in 2007,
with telephone interpreting worth US$700 million.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;70%
of LSPs employ between one and 10 people, 11% employ between 20 to 99, and the rest
employ 101 or more.&lt;span&gt; &lt;/span&gt;Only six firms worldwide employ more than 1,000 people.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Nearly
90% of companies outsource some or all of their translation and localization work.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;In
2005, there were around 4,000 translation companies with more than five employees
in the world; 450 of those were based in the United States.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Translation
Technologies&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;20%
of medium-to-large LSPs offer a house brand of translation management.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;67%
of language buyers say that a vendor’s automation capabilities are important.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Content
that reaches 200,000 words (roughly 400 U.S. letter-size pages) triggers the need
for a translation memory&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;strong&gt;&lt;a name="globalmarketing"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 13px"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 13px"&gt;&lt;strong&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 13px"&gt;Procurement&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;About
40% of translation buyers regularly buy from five or more suppliers, while 20% buy
from only two.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt; &lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Almost
one-tenth of software firms fully outsource localization work to a language services
provider, specialty coding house or offshore developer.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt; &lt;/span&gt;
&lt;/li&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Only
26% of companies can formally measure and calculate the return on their localization
investment.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;44%
of translation buyers stayed with their vendors for five years or more, with the rest
citing far longer relationships.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Three-quarters
of the typical purchaser of translation services have been buyers for six years or
less.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;strong&gt;Global
Marketing&lt;/strong&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;It
would take 83 languages to reach 80% of all the people in the world, and over 7,000
languages to reach everyone.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Websites
offered in only one language can address at most 30% of the total online population.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Translating
into 50 languages provides access to almost 96% of the world’s online residents.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;72.4%
of consumers say they would be more likely to buy a product with information in their
own language.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;56.2%
of consumers say that the ability to obtain information in their own language is more
important than price.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;72.1%
of the consumers spend most or all of their time on sites in their own language.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;English,
French, Italian, German, Spanish and Japanese add up to 88% of the addressable online
market.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;More
than 99% of what people write, say, or generate never leaves the language in which
it was created.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;/span&gt; 
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Websites
tailored linguistically and transactionally to the residents of one country can address,
at most, 20% of the total world online population.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Over
70% of software suppliers localize new releases.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span style="FONT-FAMILY: tahoma; FONT-SIZE: 12px"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Only
12 of the top 100 global brands and just four of the top 50 U.S. online retailers
translated a significant part of their corporate websites in Spanish.&lt;/span&gt;&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px" dir="ltr"&gt;
Source: &lt;a href="http://www.commonsenseadvisory.com/resources/factsandfigures/tabid/1213/default.aspx"&gt;Common
Sense Advisory&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=058d2f14-2f2f-4448-ac5c-fb6bc6170d71" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,058d2f14-2f2f-4448-ac5c-fb6bc6170d71.aspx</comments>
      <category>Business</category>
      <category>General</category>
      <category>Language Industry</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=3e2cec8d-a0cb-461b-b23d-a7158352ef1e</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,3e2cec8d-a0cb-461b-b23d-a7158352ef1e.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,3e2cec8d-a0cb-461b-b23d-a7158352ef1e.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3e2cec8d-a0cb-461b-b23d-a7158352ef1e</wfw:commentRss>
      <title>How to put log4net configs outside of the application configuration file</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,3e2cec8d-a0cb-461b-b23d-a7158352ef1e.aspx</guid>
      <link>http://stanbiron.com/2009/11/23/HowToPutLog4netConfigsOutsideOfTheApplicationConfigurationFile.aspx</link>
      <pubDate>Mon, 23 Nov 2009 15:21:14 GMT</pubDate>
      <description>&lt;p&gt;
I use &lt;a href="http://logging.apache.org/log4net/" target="_blank"&gt;log4net&lt;/a&gt; in&amp;nbsp;every&amp;nbsp;applications
I build that needs to have some sort of log.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Most of the examples on the log4net site puts the configuration right in the App.config/Web.config
file for the example application. Since they are simply example and not real-life
scenarios, that&amp;rsquo;s not necessarily the best way to do it.&amp;nbsp;For example, you
may have&amp;nbsp;a single log4net.config that you want&amp;nbsp;to use in several projects
or&amp;nbsp;you simply want to stick log4net.config somewhere else to make those config
files more readable.
&lt;/p&gt;
&lt;p&gt;
The magic bit that at least I can't easily find and always forget is:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;If you add an appSettings key called "log4net.Config" you can put an app-relative
path to an external log4net.config file in there and everything will automatically
configure itself using that.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
It looks like this:
&lt;/p&gt;
&lt;pre&gt;&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;configuration&amp;gt;
  &amp;lt;appSettings&amp;gt;
    &amp;lt;add key="log4net.Config" value="log4net.config" /&amp;gt;
  &amp;lt;/appSettings&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/pre&gt;
&lt;p&gt;
That example puts the log4net.config file right in the root of the application. You
could specify "config/log4net.config" to put it in a "config" subfolder. You don't
even have to call the &lt;code&gt;XmlConfigurator.Configure&lt;/code&gt; method or mark your assembly
with an &lt;code&gt;XmlConfiguratorAttribute&lt;/code&gt; or anything. Some voodoo magic happens&amp;nbsp;in
the background and it just works.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Other posts :&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2009/06/10/HowToEnumerateTheDomainControllersInTheCurrentDomainInC.aspx"&gt;How
to enumerate the Domain Controllers in the current Domain in C#&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2009/03/20/HowToCreateUserAccountsInActiveDirectoryUsingC.aspx"&gt;How
to Create User Accounts in Active Directory using C#&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://stanbiron.com/2008/12/17/HowToRestartAWindowsServiceUsingC.aspx"&gt;How
to restart a Windows service using C#&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stanbiron.com/2008/05/06/HowToSetNTFSPermissionsUsingC2005.aspx"&gt;&lt;strong&gt;How
to set NTFS permissions using C# 2005&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=3e2cec8d-a0cb-461b-b23d-a7158352ef1e" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,3e2cec8d-a0cb-461b-b23d-a7158352ef1e.aspx</comments>
      <category>.NET</category>
      <category>General</category>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=6d250839-4f0c-4cb7-8040-32d4bd704635</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,6d250839-4f0c-4cb7-8040-32d4bd704635.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,6d250839-4f0c-4cb7-8040-32d4bd704635.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=6d250839-4f0c-4cb7-8040-32d4bd704635</wfw:commentRss>
      <title>Programming Quotes Compilation</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,6d250839-4f0c-4cb7-8040-32d4bd704635.aspx</guid>
      <link>http://stanbiron.com/2009/02/13/ProgrammingQuotesCompilation.aspx</link>
      <pubDate>Fri, 13 Feb 2009 21:45:37 GMT</pubDate>
      <description>&lt;blockquote&gt;&amp;ldquo;Beware of bugs in the above code; I have only proved it correct,
not tried it.&amp;rdquo;&lt;/blockquote&gt;&lt;cite&gt;(Donald Knuth, 1977)&lt;/cite&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&amp;ldquo;It is practically impossible to teach good programming style to
students that have had prior exposure to Basic; as potential programmers they are
mentally mutilated beyond hope of regeneration.&amp;rdquo;&lt;/blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;(Edsger W. Dijkstra, 1982)&lt;/cite&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;&amp;ldquo;The question of whether computers can think is like the question of whether
submarines can swim.&amp;rdquo;&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;cite&gt; 
&lt;p&gt;
(Edsger W. Dijkstra)
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&amp;ldquo;The use of COBOL cripples the mind; its teaching should therefore be regarded
as a criminal offense.&amp;rdquo;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;(E.W. Dijkstra)&lt;/cite&gt;
&lt;/cite&gt;&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&amp;ldquo;Measuring programming progress by lines of code is like measuring aircraft
building progress by weight.&amp;rdquo;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;(Bill Gates)&lt;/cite&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;&amp;ldquo;Software suppliers are trying to make their software packages more &amp;lsquo;user-friendly&amp;rsquo;&amp;hellip;&amp;nbsp;
Their best approach so far has been to take all the old brochures and stamp the words
&amp;lsquo;user-friendly&amp;rsquo; on the cover.&amp;rdquo;&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;cite&gt; 
&lt;p&gt;
(Bill Gates)
&lt;/cite&gt;&gt;
&lt;cite&gt;&lt;/cite&gt; &lt;blockquote&gt; 
&lt;p&gt;
&amp;ldquo;Never trust a computer you can&amp;rsquo;t throw out a window.&amp;rdquo;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;em&gt;(Steve Wozniak)&lt;/em&gt; 
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&amp;ldquo;Should array indices start at 0 or 1? My compromise of 0.5 was rejected without,
I thought, proper consideration.&amp;rdquo;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;(Stan Kelly-Bootle)&lt;/cite&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;cite&gt;&amp;ldquo;Computers are like bikinis. They save people a lot of guesswork.&amp;rdquo;&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;cite&gt;(Sam Ewing) &lt;/cite&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;cite&gt;&amp;ldquo;No matter how slick the demo is in rehearsal, when you do it in front
of a live audience, the probability of a flawless presentation is inversely proportional
to the number of people watching, raised to the power of the amount of money involved.&amp;rdquo;&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;cite&gt; 
&lt;p dir="ltr"&gt;
(Mark Gibbs)
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr"&gt;
&amp;ldquo;Always code as if the guy who ends up maintaining your code will be a violent
psychopath who knows where you live.&amp;rdquo;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;cite&gt;(Martin Golding)&lt;/cite&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;cite&gt;Walking on water and developing software from a specification are easy if both
are frozen.&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;cite&gt;(Edward V Berard)&lt;/cite&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr"&gt;
&lt;cite&gt;Java is to JavaScript what Car is to Carpet&lt;/cite&gt;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;cite&gt; 
&lt;p dir="ltr"&gt;
(Anonymous)
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr"&gt;
"If you want to set off and go develop some grand new thing, you don't need millions
of dollars of capitalization. You need enough pizza and Diet Coke to stick in your
refrigerator, a cheap PC to work on and the dedication to go through with it."
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr"&gt;
(John Carmack)
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr"&gt;
Software and cathedrals are much the same - first we build them, then we pray.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr"&gt;
(Anonymous)
&lt;/p&gt;
&lt;/cite&gt;&lt;/cite&gt;&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=6d250839-4f0c-4cb7-8040-32d4bd704635" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,6d250839-4f0c-4cb7-8040-32d4bd704635.aspx</comments>
      <category>General</category>
      <category>Humor</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=739395a7-6247-4e09-89b4-560ed808ad32</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,739395a7-6247-4e09-89b4-560ed808ad32.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,739395a7-6247-4e09-89b4-560ed808ad32.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=739395a7-6247-4e09-89b4-560ed808ad32</wfw:commentRss>
      <title>Nice brain-teaser</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,739395a7-6247-4e09-89b4-560ed808ad32.aspx</guid>
      <link>http://stanbiron.com/2009/02/03/NiceBrainteaser.aspx</link>
      <pubDate>Tue, 03 Feb 2009 18:56:12 GMT</pubDate>
      <description>This is a problem, which can be easily solved by children &lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;before&lt;/span&gt;&amp;nbsp;entering
elementary school. If you want to give it a try, please forget everything you have
ever studied.&amp;nbsp;Here it comes: 
&lt;div&gt;
&lt;br /&gt;
8809 = 6&lt;br /&gt;
7111 = 0&lt;br /&gt;
2172 = 0&lt;br /&gt;
6666 = 4&lt;br /&gt;
1111 = 0&lt;br /&gt;
3213 = 0&lt;br /&gt;
7662 = 2&lt;br /&gt;
9312 = 1&lt;br /&gt;
0000 = 4&lt;br /&gt;
2222 = 0&lt;br /&gt;
3333 = 0&lt;br /&gt;
5555 = 0&lt;br /&gt;
8193 = 3&lt;br /&gt;
8096 = 5&lt;br /&gt;
7777 = 0&lt;br /&gt;
9999 = 4&lt;br /&gt;
7756 = 1&lt;br /&gt;
6855 = 3&lt;br /&gt;
9881 = 5&lt;br /&gt;
5531 = 0&lt;br /&gt;
&lt;br /&gt;
2581 = ?
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Can you solve it ?
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Others posts:
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;a href="http://stanbiron.com/2009/01/15/HowToHiringAndManagingGeeks.aspx"&gt;&lt;strong&gt;How-To:
Hiring and managing geeks&lt;/strong&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&lt;a href="http://stanbiron.com/2009/01/19/Meetings.aspx"&gt;&lt;strong&gt;Meetings&amp;hellip;&lt;/strong&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=739395a7-6247-4e09-89b4-560ed808ad32" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,739395a7-6247-4e09-89b4-560ed808ad32.aspx</comments>
      <category>Challenge</category>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=a1f4e87a-c793-4b18-b8f9-71c5c447570e</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,a1f4e87a-c793-4b18-b8f9-71c5c447570e.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,a1f4e87a-c793-4b18-b8f9-71c5c447570e.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a1f4e87a-c793-4b18-b8f9-71c5c447570e</wfw:commentRss>
      <title>Cheeseburgery hamburgers...</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,a1f4e87a-c793-4b18-b8f9-71c5c447570e.aspx</guid>
      <link>http://stanbiron.com/2009/02/02/CheeseburgeryHamburgers.aspx</link>
      <pubDate>Mon, 02 Feb 2009 19:19:02 GMT</pubDate>
      <description>&lt;p&gt;
On the Financial Times&amp;rsquo;s blogs Tony Barber wrote &lt;a href="http://blogs.ft.com/brusselsblog/2009/01/cheeseburgery-hamburgers-and-the-problem-of-computerised-translations/"&gt;this
article&lt;/a&gt; about his recent experience of machine translation. After hearing a recommendation
that bloggers should&amp;nbsp;&amp;ldquo;try to use computer-generated translations&amp;rdquo;
to provide foreign language versions of their own blogs he decided to see for himself
and he put &lt;a href="http://translate.google.com/"&gt;Google Translate&lt;/a&gt; to the test.
&lt;/p&gt;
&lt;p&gt;
One section that was especially funny was&amp;nbsp;taken from a Polish Newspaper and translated
into English using Google Translate&amp;nbsp;it says,
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;&amp;ldquo;A sign of the collapse of the French culture of the restaurant is visible
on the streets of Paris rash of quick-service bar, offering generally pogardzane a
few years ago and cheeseburgery hamburgers.&amp;rdquo;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Cheeseburgery Hamburgers &amp;mdash; brilliant!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=a1f4e87a-c793-4b18-b8f9-71c5c447570e" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,a1f4e87a-c793-4b18-b8f9-71c5c447570e.aspx</comments>
      <category>General</category>
      <category>Humor</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=2b764b31-c316-4fb4-827d-53e75a841e97</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,2b764b31-c316-4fb4-827d-53e75a841e97.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,2b764b31-c316-4fb4-827d-53e75a841e97.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2b764b31-c316-4fb4-827d-53e75a841e97</wfw:commentRss>
      <title>Meetings...</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,2b764b31-c316-4fb4-827d-53e75a841e97.aspx</guid>
      <link>http://stanbiron.com/2009/01/19/Meetings.aspx</link>
      <pubDate>Mon, 19 Jan 2009 22:08:27 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span class="bodytext"&gt;&lt;img alt="Hold-a-meeting" hspace="16" src="http://stanbiron.com/content/binary/hold_2Da_2Dmeeting.jpg" align="left" vspace="16" border="0" / /&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="bodytext"&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="bodytext"&gt;&lt;/span&gt;&amp;nbsp;&lt;span class="bodytext"&gt;Want to call a meeting
today? &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="bodytext"&gt;Then first, s&lt;/span&gt;&lt;span class="bodytext"&gt;top and&amp;nbsp;consider
the hourly cost of the people that will be attending your meeting. You'll realize
quickly&amp;nbsp;that calling a meeting is very expensive since no productive work is
done during that time.&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="bodytext"&gt;It's important to ensure that every person present and every
minute of your meeting adds value. It&amp;rsquo;s equally important that your motivation
for calling this meeting is justified and need a consensus&amp;nbsp;of everyone&amp;nbsp;attending.&amp;nbsp;Don't
invite people who won't participate but will simply report back to their boss or team
(sending a copy of the meeting minutes by email will be a lot more effective). Also,
don't&amp;nbsp;call a&amp;nbsp;meeting to tell people things that could be communicated&amp;nbsp;by
email or memo. &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="bodytext"&gt;In fact, you should only call a meeting when actual decisions
needs to be taken or something &lt;em&gt;really&lt;/em&gt; needs to be discussed live with the
attendees.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span class="bodytext"&gt;Then when you finally decide that you need to hold your meeting,
make sure that:&lt;/span&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;span class="bodytext"&gt;You are prepared. People don&amp;rsquo;t like seeing the&amp;nbsp;main
speaker&amp;nbsp;confused or ill-prepared.&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class="bodytext"&gt;You assign someone to the note-taking task.&amp;nbsp;Everyone else
can then actively participate, knowing that the full meeting notes will be emailed
to them later that day.&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class="bodytext"&gt;You verify that everyone present has a good reason to be present.&lt;/span&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;span class="bodytext"&gt;You keep it short and sweet.&amp;nbsp;A long, boring meeting is&amp;nbsp;useless
and energy-draining. The most effective meetings I've seen are the &lt;a href="http://www.martinfowler.com/articles/itsNotJustStandingUp.html"&gt;daily
stand-up meetings&lt;/a&gt; in the Agile Methodology. They typically last from 5 to 15 minutes
and still manage to get a lot done in that period of time.&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=2b764b31-c316-4fb4-827d-53e75a841e97" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,2b764b31-c316-4fb4-827d-53e75a841e97.aspx</comments>
      <category>Business</category>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=c30e6295-ad32-4a3f-905d-5e9b9e87544a</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,c30e6295-ad32-4a3f-905d-5e9b9e87544a.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,c30e6295-ad32-4a3f-905d-5e9b9e87544a.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c30e6295-ad32-4a3f-905d-5e9b9e87544a</wfw:commentRss>
      <title>Once in a while, stop and pay attention...</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,c30e6295-ad32-4a3f-905d-5e9b9e87544a.aspx</guid>
      <link>http://stanbiron.com/2009/01/16/OnceInAWhileStopAndPayAttention.aspx</link>
      <pubDate>Fri, 16 Jan 2009 22:06:43 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt="Joshuabell" hspace="8" src="http://stanbiron.com/content/binary/joshuabell.jpg" align="left" vspace="8" border="0" /&gt;A
man sat at a metro station in Washington DC and started to play the violin; it was
a cold January morning. He played six Bach pieces and&amp;nbsp;his performance lasted
about 45 minutes. During all that time, since it was rush hour, it was calculated
that thousands of people went through the station, most of them on their way to work.
&lt;/p&gt;
&lt;p&gt;
Three minutes went by and a middle aged man noticed there was musician playing. He
slowed his pace and stopped for a few seconds -- then hurried to meet his schedule.
&lt;/p&gt;
&lt;p&gt;
Then,&amp;nbsp;maybe a minute later, the violinist received his first dollar tip from&amp;nbsp;a
woman who threw the money in&amp;nbsp;his violin case&amp;nbsp;and, without stopping or looking
at the musician, continued to walk.
&lt;/p&gt;
&lt;p&gt;
A few minutes later, someone leaned against the wall to listen to him, but the man
looked at his watch and started to walk again. Clearly he was late for work.
&lt;/p&gt;
&lt;p&gt;
The one who paid the most attention was a 3-year old boy...
&lt;/p&gt;
&lt;div id="a000646more"&gt;
&lt;div id="more"&gt;
&lt;p&gt;
His mother tried to rush him, but the boy stopped to look at the violinist. Finally
the mother pushed hard and the child continued to walk turning his head all the time.
Something interesting is that, every single time a child walked by the musician, he
or she tried to stop and watch. And every single time, a parent rushed the kid away.
&lt;/p&gt;
&lt;p&gt;
Some time later, a lady stopped and gave the musician a long hard look before walking
on. It turns out that she didn&amp;rsquo;t even notice the music.&amp;nbsp; She were trying
to figure out what he was doing there, how does this work for him, can he make much
money, would it be better to start with some money in the case, or for it to be empty,
so people feel sorry for him?&amp;nbsp;She was analyzing it financially.
&lt;/p&gt;
&lt;p&gt;
In the 45 minutes the musician played, only 6 people stopped and stayed for a while.
About 20 gave him money but continued to walk their normal pace. He collected $32.
When he finished playing and silence took over, no one noticed it. No one applauded,
nor was there any recognition. 
&lt;/p&gt;
&lt;p&gt;
No one knew this but the violinist was &lt;a href="http://jp.youtube.com/watch?v=hnOPu0_YWhw" target="_blank"&gt;Joshua
Bell&lt;/a&gt;, one of the best musicians in the world. He played one of the most intricate
pieces ever written with a violin worth 3.5 million dollars.
&lt;/p&gt;
&lt;p&gt;
Two days before his playing in the subway, Joshua Bell sold out at a theater in Boston
and the seats averaged $100.
&lt;/p&gt;
&lt;p&gt;
This is a real story. Joshua Bell playing incognito in the metro station was organized
by the &lt;a href="http://www.washingtonpost.com/wp-dyn/content/article/2007/04/04/AR2007040401721.html" target="_blank"&gt;Washington
Post&lt;/a&gt; as part of an social experiment about perception, taste and priorities of
people. The themes were: in a commonplace environment at an inappropriate hour: &lt;em&gt;How
do we perceive beauty? Do we stop to appreciate it? Do we recognize the talent in
an unexpected context?&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
One of the possible conclusions from this experience could be:
&lt;/p&gt;
&lt;p&gt;
If we do not have or take&amp;nbsp;the&amp;nbsp;time the time to stop and listen to one of
the best musicians in the world playing the best music ever written, how many other
things are we missing?
&lt;/p&gt;
&lt;p&gt;
Want to be really innovative? Notice what's going on right in front of you and appreciate
it.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=c30e6295-ad32-4a3f-905d-5e9b9e87544a" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,c30e6295-ad32-4a3f-905d-5e9b9e87544a.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=ffc822de-369b-4a57-b3f7-ca618a927df0</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,ffc822de-369b-4a57-b3f7-ca618a927df0.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,ffc822de-369b-4a57-b3f7-ca618a927df0.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=ffc822de-369b-4a57-b3f7-ca618a927df0</wfw:commentRss>
      <title>Short blogging break</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,ffc822de-369b-4a57-b3f7-ca618a927df0.aspx</guid>
      <link>http://stanbiron.com/2008/12/17/ShortBloggingBreak.aspx</link>
      <pubDate>Wed, 17 Dec 2008 20:38:53 GMT</pubDate>
      <description>&lt;p&gt;
I&amp;rsquo;m taking a short blogging break for the hollidays.
&lt;/p&gt;
&lt;p&gt;
Happy hollidays and see ya in 2009!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=ffc822de-369b-4a57-b3f7-ca618a927df0" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,ffc822de-369b-4a57-b3f7-ca618a927df0.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=0df33710-424b-4ead-8d47-4a81739fb93c</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,0df33710-424b-4ead-8d47-4a81739fb93c.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,0df33710-424b-4ead-8d47-4a81739fb93c.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=0df33710-424b-4ead-8d47-4a81739fb93c</wfw:commentRss>
      <title>Free software tools for students</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,0df33710-424b-4ead-8d47-4a81739fb93c.aspx</guid>
      <link>http://stanbiron.com/2008/11/27/FreeSoftwareToolsForStudents.aspx</link>
      <pubDate>Thu, 27 Nov 2008 19:16:58 GMT</pubDate>
      <description>&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
As a follow-up on &lt;a href="http://stanbiron.com/2008/11/05/MicrosoftBizSparkFreeMSSoftwareForStartups.aspx"&gt;my
post on Bizspark&lt;/a&gt;, Microsoft&amp;rsquo;s initiative to &lt;a href="http://www.microsoftstartupzone.com/BizSpark/Pages/At_a_Glance.aspx"&gt;provide
startups with free versions of their software&lt;/a&gt;, here is &lt;a href="http://www.dreamspark.com/"&gt;&lt;strong&gt;DreamSpark&lt;/strong&gt;&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
Basically, DreamSpark is the same thing as Bizspark but&amp;nbsp;aimed at&amp;nbsp;students
all over the world. DreamSpark is simple, it's all about giving students Microsoft
professional-level developer and design tools at no&amp;nbsp;charge. DreamSpark enables
students to download and use Microsoft developer, designer, gaming tools, Windows
Server 2008 and more. In order to access the softwares available on DreamSpark, students
only need to verify their student status once every 12 months.
&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
The full list of software that is available for free on DreamSpark&amp;rsquo;s site&amp;nbsp;is:
&lt;/p&gt;
&lt;span id="ctl00_ContentPlaceHolder1_span_about_downloading" editable="yes"&gt; 
&lt;ul&gt;
&lt;li&gt;
Visual Studio 2008 Professional Edition&lt;/li&gt;
&lt;li&gt;
Visual Studio 2005 Professional Edition&lt;/li&gt;
&lt;li&gt;
Expression Studio 2 (includes Web, Blend, Media and Design)&lt;/li&gt;
&lt;li&gt;
SQL Server 2008 Developer Edition&lt;/li&gt;
&lt;li&gt;
Windows Server 2008 Standard Edition&lt;/li&gt;
&lt;li&gt;
IT Academy Student Pass&lt;/li&gt;
&lt;li&gt;
Robotics Developers Studio 2008 &lt;span id="ctl00_ContentPlaceHolder1_span_about_downloading" editable="yes"&gt;
&lt;/li&gt;
&lt;li&gt;
SQL Server 2008 Express Edition&lt;/li&gt;
&lt;li&gt;
Visual Studio 2008 Express Edition&lt;/li&gt;
&lt;li&gt;
XNA Game Studio 2.0 (with 12-month Creators Club Student trial membership)&lt;/li&gt;
&lt;li&gt;
Virtual PC 2007 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;span id="ctl00_ContentPlaceHolder1_span_about_downloading" editable="yes"&gt;The Microsoft
developer, designer and gaming tools available on DreamSpark are &lt;strong&gt;NOT&lt;/strong&gt; 30-day
trial versions; they&amp;rsquo;re the complete and full professional grade versions.&lt;/span&gt;
&lt;/span&gt;&gt;&gt;
&lt;p&gt;
There is a little problem however.&amp;nbsp;If you&amp;rsquo;re living in Canada like me (and
probably in other places too), not every&amp;nbsp;university&amp;nbsp;is&amp;nbsp;participating
in this program.&amp;nbsp; Here is the list of the canadian&amp;rsquo;s universities that
are participating as of today:
&lt;/p&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;ISIC
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;McGill University
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;Queen&amp;rsquo;s University
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;Simon Fraser University
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Alberta
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Calgary
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Gelph
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Ottawa
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Saskatchewan
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Toronto
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;University of Windsor
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="MARGIN-RIGHT: 0px"&gt;York University
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="MARGIN-RIGHT: 0px"&gt;
So, if you&amp;rsquo;re canadian&amp;nbsp;and&amp;nbsp;not a&amp;nbsp;student&amp;nbsp;of one of these
universities, you can&amp;rsquo;t benefit from this program right now.&amp;nbsp; However,
i&amp;rsquo;m sure that Microsoft is working on integrating more universities into their
program.
&lt;/p&gt;
&lt;p style="MARGIN-RIGHT: 0px"&gt;
If you want to have your university added to this program, or if you are a administrator
of a university that isn&amp;rsquo;t currently on Microsoft&amp;rsquo;s list, go to &lt;a href="https://www.dreamspark.com/FAQ/UniversityAdministrators.aspx"&gt;&lt;strong&gt;this
page&lt;/strong&gt;&lt;/a&gt; to get more information about enrolling.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=0df33710-424b-4ead-8d47-4a81739fb93c" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,0df33710-424b-4ead-8d47-4a81739fb93c.aspx</comments>
      <category>General</category>
      <category>News</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=98bf6f88-71c7-4d44-b139-d55991240003</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,98bf6f88-71c7-4d44-b139-d55991240003.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,98bf6f88-71c7-4d44-b139-d55991240003.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=98bf6f88-71c7-4d44-b139-d55991240003</wfw:commentRss>
      <title>My 6 Favourites File Hosting Services</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,98bf6f88-71c7-4d44-b139-d55991240003.aspx</guid>
      <link>http://stanbiron.com/2008/11/26/My6FavouritesFileHostingServices.aspx</link>
      <pubDate>Wed, 26 Nov 2008 21:27:40 GMT</pubDate>
      <description>&lt;p&gt;
Here is&amp;nbsp;my list of some great file hosting sites that make uploading and sharing
files really simple.
&lt;/p&gt;
&lt;p&gt;
You are welcome to share if you know more free file hosting services which our readers/viewers
may like.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.mediafire.com/" target="_blank"&gt;&lt;strong&gt;MediaFire&amp;nbsp;- Free
File Hosting&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff"&gt;&lt;a title="Free File Hosting" href="http://www.mediafire.com/"&gt;&lt;img alt="MediaFire - Free File Hosting Made Simple" src="http://www.mediafire.com/free-file-hosting/234x60.gif" border="0" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#000000"&gt;With the free account, you get unlimited :&lt;/font&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;font color="#000000"&gt;Downloads&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font color="#000000"&gt;Uploads&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font color="#000000"&gt;Bandwidth&lt;/font&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;font color="#000000"&gt;Storage&lt;/font&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;font color="#000000"&gt;The only downside to this service is the 100Mb file size&amp;nbsp;limit
for the free account.&amp;nbsp; The file size limit for the pro account is 10Gb.&lt;/font&gt;
&lt;/p&gt;
&gt; 
&lt;p&gt;
&lt;a href="http://www.filesavr.com/" target="_blank"&gt;&lt;strong&gt;File Savr - Free File Hosting&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.filesavr.com/" target="_blank"&gt;&lt;img height="120" alt="File Savr" src="http://www.smashingapps.com/wp-content/uploads/2008/08/file-savr1.png" width="400" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
FileSavr.com makes file hosting easier with Web 2.0 technology and the use of Ajax
and Flash. FileSavr has 10 GB upload size limit, currently the largest available on
the internet.&amp;nbsp;This allows users the flexibility to upload any large file of 10
GB or less.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://filefactory.com/" target="_blank"&gt;&lt;strong&gt;File Factory - free and
simple file hosting service&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://filefactory.com/" target="_blank"&gt;&lt;img height="76" alt="File Factory" src="http://www.smashingapps.com/wp-content/uploads/2008/08/file-factory.jpg" width="423" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
FileFactory lets you host files up to 300MB for free. You don&amp;rsquo;t have to register
and there is nothing to download. Your files can be downloaded an unlimited number
of times! One thing I found very annoying and spammy about FileFactory was the number
of ads they have on the page.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://fileden.com/" target="_blank"&gt;&lt;strong&gt;FileDen - Free file hosting
and online storage&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://fileden.com/" target="_blank"&gt;&lt;img height="85" alt="File Den" src="http://www.smashingapps.com/wp-content/uploads/2008/08/file-den.jpg" width="423" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
With File Den&amp;rsquo;s free file hosting and online storage service it&amp;rsquo;s easy
to share files across the internet with friends, family, work associates or anyone
else. They allow our users to direct link to their files also giving you the oppurtunity
to embed your files into your webpages, myspace or other social networking profiles.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.fileqube.com/" target="_blank"&gt;&lt;strong&gt;Fileqube - Free Online
Storage&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.fileqube.com/" target="_blank"&gt;&lt;img height="56" alt="fileqube" src="http://www.smashingapps.com/wp-content/uploads/2008/08/file-qube.jpg" width="423" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Fileqube has an eye-pleasing design that shows its intentions well. When you upload
a personal file it gives you a download link, a link to remove the file, and embed
code to drop your file&amp;rsquo;s link on a website. The only downside is the 150MB file
size, which is rather small with some of the other sites in comparison.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.filedropper.com/" target="_blank"&gt;&lt;strong&gt;File Dropper - Free
File Hosting for MP3, Videos, Documents&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.filedropper.com/" target="_blank"&gt;&lt;img height="92" alt="File dropper" src="http://www.smashingapps.com/wp-content/uploads/2008/08/file-dropper.jpg" width="400" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
FileDropper&amp;rsquo;s beauty is in its simplicity. It has one click file hosting where
you simply click on the upload button and select your file. After the file is uploaded
you are taken to the page where the file is hosted. If the file is an image, it shows
the image directly on the page for easier sharing. Upload size is an impressive 5
GB.
&lt;/p&gt;
&lt;font color="#0000ff"&gt; 
&lt;p&gt;
&lt;font color="#000000"&gt;Happy uploading!&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#000000"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#000000"&gt;Other posts:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff"&gt;&lt;a href="http://stanbiron.com/2008/10/22/8EasyTipsToDriveTrafficFromSearchEnginesToYourSite.aspx"&gt;&lt;strong&gt;8
easy tips to drive traffic from search engines to your site&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff"&gt;&lt;a href="http://stanbiron.com/2008/11/05/MicrosoftBizSparkFreeMSSoftwareForStartups.aspx"&gt;&lt;strong&gt;Microsoft
BizSpark - Free MS software for startups&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/font&gt;&gt;&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=98bf6f88-71c7-4d44-b139-d55991240003" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,98bf6f88-71c7-4d44-b139-d55991240003.aspx</comments>
      <category>General</category>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=77f86f7e-48ba-4278-bff2-4f2bb586de59</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,77f86f7e-48ba-4278-bff2-4f2bb586de59.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,77f86f7e-48ba-4278-bff2-4f2bb586de59.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=77f86f7e-48ba-4278-bff2-4f2bb586de59</wfw:commentRss>
      <title>Microsoft BizSpark - Free MS software for startups</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,77f86f7e-48ba-4278-bff2-4f2bb586de59.aspx</guid>
      <link>http://stanbiron.com/2008/11/05/MicrosoftBizSparkFreeMSSoftwareForStartups.aspx</link>
      <pubDate>Wed, 05 Nov 2008 16:13:54 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft is launching a new program focused on helping Startups get up and running.
The program is called &lt;a href="http://www.microsoftstartupzone.com/BizSpark/Pages/At_a_Glance.aspx"&gt;BizSpark&lt;/a&gt; and
according to Microsoft, the biggest benefits are
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;ul xxxxx="noindent"&gt;
&lt;li&gt;
&lt;strong&gt;Software&lt;/strong&gt;. Receive fast and easy access to current full-featured Microsoft
development tools, platform technologies, and production licenses of server products
for immediate use in developing and bringing to market innovative and interoperable
solutions. There is no upfront cost to enroll. 
&lt;li&gt;
&lt;strong&gt;Support&lt;/strong&gt;. Get connected to Network Partners around the world &amp;mdash;
incubators, investors, advisors, government agencies and hosters &amp;mdash; that are
equally involved and vested in software-fueled innovation and entrepreneurship who
will provide a wide range of support resources 
&lt;li&gt;
&lt;strong&gt;Visibility&lt;/strong&gt;. Achieve global visibility to an audience of potential
investors, clients and partners 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Basically, you enroll and are &lt;a href="http://www.microsoftstartupzone.com/BIZSPARK/Pages/What_Do_I_Get.aspx"&gt;given
access to a almost all the nessecary server and development software you need&lt;/a&gt;.
The server licenses are even prouduction grade, so you can deploy (from what I can
tell) cheaply. You are getting a high end MSDN subscription and a lot more, all for
free.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=77f86f7e-48ba-4278-bff2-4f2bb586de59" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,77f86f7e-48ba-4278-bff2-4f2bb586de59.aspx</comments>
      <category>General</category>
      <category>News</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=f779fcef-cd3b-4185-9a6d-a01d340c0463</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,f779fcef-cd3b-4185-9a6d-a01d340c0463.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,f779fcef-cd3b-4185-9a6d-a01d340c0463.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f779fcef-cd3b-4185-9a6d-a01d340c0463</wfw:commentRss>
      <title>Password aren't a good defense?</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,f779fcef-cd3b-4185-9a6d-a01d340c0463.aspx</guid>
      <link>http://stanbiron.com/2008/08/11/PasswordArentAGoodDefense.aspx</link>
      <pubDate>Mon, 11 Aug 2008 18:19:25 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt="PasswordPostIt" src="http://stanbiron.com/content/binary/passwordPostIt.jpg" border="0" /&gt;
&lt;/p&gt;
&lt;p&gt;
Randal Stross of the New York Times explains why many experts propose dropping website
passwords entirely for a security system based on cryptography.&lt;br /&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p xxxxx="body"&gt;
The best password is a long, nonsensical string of letters and numbers and punctuation
marks, a combination never put together before. Some admirable people actually do
memorize random strings of characters for their passwords &amp;mdash; and replace them
with other random strings every couple of months.
&lt;/p&gt;
&lt;p xxxxx="body"&gt;
Then there&amp;rsquo;s the rest of us, selecting the short, the familiar and the easiest
to remember. And holding onto it forever.
&lt;/p&gt;
&lt;p xxxxx="body"&gt;
I once felt ashamed about failing to follow best practices for password selection
&amp;mdash; but no more. Computer security experts say that choosing hard-to-guess passwords
ultimately brings little security protection. Passwords won&amp;rsquo;t keep us safe from
identity theft, no matter how clever we are in choosing them.&lt;br /&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p xxxxx="body"&gt;
&lt;a href="http://www.nytimes.com/2008/08/10/technology/10digi.html?_r=1&amp;amp;oref=slogin" target="_blank"&gt;Read
Full story here&lt;/a&gt;.
&lt;/p&gt;
&lt;u&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/u&gt;&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=f779fcef-cd3b-4185-9a6d-a01d340c0463" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,f779fcef-cd3b-4185-9a6d-a01d340c0463.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=20c9de3e-d430-4439-b2c5-70546d31eea8</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,20c9de3e-d430-4439-b2c5-70546d31eea8.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,20c9de3e-d430-4439-b2c5-70546d31eea8.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=20c9de3e-d430-4439-b2c5-70546d31eea8</wfw:commentRss>
      <title>Amazon's new payment service</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,20c9de3e-d430-4439-b2c5-70546d31eea8.aspx</guid>
      <link>http://stanbiron.com/2008/07/31/AmazonsNewPaymentService.aspx</link>
      <pubDate>Thu, 31 Jul 2008 13:37:49 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.appscout.com/" target="_blank"&gt;AppScout&lt;/a&gt; has a good article
on the new Amazon&amp;rsquo;s payment service:
&lt;/p&gt;
&lt;blockquote style="BACKGROUND-COLOR: #dddddd"&gt; 
&lt;p itxtvisited="1"&gt;
&lt;font size="2"&gt;Amazon on Tuesday unveiled two new payment options that allow Web site
owners to shift payment transactions to the online retailer. &lt;/font&gt; 
&lt;p itxtvisited="1"&gt;
&lt;font size="2"&gt;With &lt;/font&gt;&lt;a href="https://payments.amazon.com/sdui/sdui/business?sn=cba/o" s_oc="null"&gt;&lt;font size="2"&gt;Checkout
by Amazon&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, webmasters will get help from Amazon in managing
shipping charges, sales tax, promotions, and post-sale activities including shipments,
refunds, cancellations, and charge backs. &lt;/font&gt; 
&lt;p itxtvisited="1"&gt;
&lt;a href="https://payments.amazon.com/sdui/sdui/business?sn=paynow/o" s_oc="null"&gt;&lt;font size="2"&gt;Amazon
Simple Pay&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, meanwhile, is a less complicated option for
those who don't need Amazon's end-to-end checkout pipeline and order management capabilities. &lt;/font&gt; 
&lt;p itxtvisited="1"&gt;
&lt;font size="2"&gt;To enable Checkout by Amazon, webmasters must add Amazon 1-Click to
their Amazon.com account and insert a few lines of code into their Web site template.
When customers go to check out of the site, they click the "Checkout with Amazon"
button, a widget pops up asking for a shipping address, and customers buy via Amazon's
1-Click. Amazon sends them a confirmation e-mail, and users remain on your site.&lt;/font&gt; 
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr" itxtvisited="1"&gt;
Click &lt;a href="http://www.appscout.com/2008/07/amazon_unveils_new_web_site_pa_1.php" target="_blank"&gt;here&lt;/a&gt; to
read more
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=20c9de3e-d430-4439-b2c5-70546d31eea8" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,20c9de3e-d430-4439-b2c5-70546d31eea8.aspx</comments>
      <category>General</category>
      <category>News</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=0ed8221d-f94d-489a-9f5d-3affd8cd8362</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,0ed8221d-f94d-489a-9f5d-3affd8cd8362.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,0ed8221d-f94d-489a-9f5d-3affd8cd8362.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=0ed8221d-f94d-489a-9f5d-3affd8cd8362</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
CAPTCHAs are everywhere now.  When you want to open an account, anywhere, you
will encounter one of those.  But there are times when the programmers probably
needed a spec describing exactly what the expression “proving that you are a human”
means…
</p>
        <p>
          <a href="http://www.masterthebusiness.com/2008/03/20/captcha/" target="_blank">Corey
Smith</a> found some of the worst CAPTCHAs on the Web.  Here is my personal favourite:
</p>
        <p>
          <img alt="Mathcaptcha" src="http://stanbiron.com/content/binary/mathcaptcha.jpg" border="0" />
        </p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=0ed8221d-f94d-489a-9f5d-3affd8cd8362" />
      </body>
      <title>When CAPTCHA goes bad.</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,0ed8221d-f94d-489a-9f5d-3affd8cd8362.aspx</guid>
      <link>http://stanbiron.com/2008/07/30/WhenCAPTCHAGoesBad.aspx</link>
      <pubDate>Wed, 30 Jul 2008 18:26:43 GMT</pubDate>
      <description>&lt;p&gt;
CAPTCHAs are everywhere now.&amp;nbsp; When you want to open an account, anywhere, you
will encounter one of those.&amp;nbsp; But there are times when the programmers probably
needed a spec describing exactly what the expression “proving that you are a human”
means…
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.masterthebusiness.com/2008/03/20/captcha/" target="_blank"&gt;Corey
Smith&lt;/a&gt; found some of the worst CAPTCHAs on the Web.&amp;nbsp; Here is my personal favourite:
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="Mathcaptcha" src="http://stanbiron.com/content/binary/mathcaptcha.jpg" border="0"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=0ed8221d-f94d-489a-9f5d-3affd8cd8362" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,0ed8221d-f94d-489a-9f5d-3affd8cd8362.aspx</comments>
      <category>General</category>
      <category>Humor</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=f7bc242b-1068-499f-8d85-8985634ce86b</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,f7bc242b-1068-499f-8d85-8985634ce86b.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,f7bc242b-1068-499f-8d85-8985634ce86b.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f7bc242b-1068-499f-8d85-8985634ce86b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
From <a href="http://blogs.wsj.com/independentstreet/2008/06/18/web-reputation-what-are-customers-saying-about-you-online/" target="_blank">The
Wall Street Journal</a>:
</p>
        <blockquote>
          <p>
Brand reputation, or what your customers think about your business, is crucial for
any small company that wants to attract new clients and grow a business.
</p>
          <p>
What one customer says in a blog or product review can directly influence another
customer’s decision to choose you over your competitors.
</p>
          <p>
Here are four ways you can monitor your brand online:
</p>
          <p>
1. <strong><a href="http://www.google.com/alerts" target="_blank">Google Alerts</a></strong>:
Set up a once-a-day alert for the names of your company, key products and top executives
so you can check every time they’re mentioned on a Web site or news story. You can
also set up alerts to track the same information about your competitors.
</p>
          <p>
2. <strong>Social-media buzz</strong>: At <a href="http://www.serph.com/" target="_blank">Serph.com</a>,
you can search social-media sites that Google Alerts may not catch. For example, Serph
pulls results from social-bookmarking site <a href="http://del.icio.us/" target="_blank">del.icio.us </a>and
social news site <a href="http://www.digg.com/" target="_blank">digg.com</a>, among
others.
</p>
          <p>
3. <strong>Customer reviews:</strong> Monitor and respond to what customers are saying
about your business on review Web sites like <a href="http://yelp.com/" target="_blank">Yelp.com </a>and <a href="http://citysearch.com/" target="_blank">Citysearch.com</a>.
These sites allow businesses to register with the site so they can customize their
listings with contact information and better interact with customers.
</p>
          <p>
4. <a href="http://pipes.yahoo.com/pipes/" target="_blank">Yahoo Pipes</a>: This service
allows you to set up a “pipeline” that aggregates information from search engines,
miniblogging tool <a href="http://twitter.com/" target="_blank">twitter</a>, photo-sharing
site <a href="http://flickr.com/" target="_blank">flickr</a> and other Web portals
that could be mentioning your business.
</p>
        </blockquote>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=f7bc242b-1068-499f-8d85-8985634ce86b" />
      </body>
      <title>What Are Customers Saying About You Online?</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,f7bc242b-1068-499f-8d85-8985634ce86b.aspx</guid>
      <link>http://stanbiron.com/2008/06/26/WhatAreCustomersSayingAboutYouOnline.aspx</link>
      <pubDate>Thu, 26 Jun 2008 19:04:57 GMT</pubDate>
      <description>&lt;p&gt;
From &lt;a href="http://blogs.wsj.com/independentstreet/2008/06/18/web-reputation-what-are-customers-saying-about-you-online/" target="_blank"&gt;The
Wall Street Journal&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Brand reputation, or what your customers think about your business, is crucial for
any small company that wants to attract new clients and grow a business.
&lt;/p&gt;
&lt;p&gt;
What one customer says in a blog or product review can directly influence another
customer’s decision to choose you over your competitors.
&lt;/p&gt;
&lt;p&gt;
Here are four ways you can monitor your brand online:
&lt;/p&gt;
&lt;p&gt;
1. &lt;strong&gt;&lt;a href="http://www.google.com/alerts" target="_blank"&gt;Google Alerts&lt;/a&gt;&lt;/strong&gt;:
Set up a once-a-day alert for the names of your company, key products and top executives
so you can check every time they’re mentioned on a Web site or news story. You can
also set up alerts to track the same information about your competitors.
&lt;/p&gt;
&lt;p&gt;
2. &lt;strong&gt;Social-media buzz&lt;/strong&gt;: At &lt;a href="http://www.serph.com/" target="_blank"&gt;Serph.com&lt;/a&gt;,
you can search social-media sites that Google Alerts may not catch. For example, Serph
pulls results from social-bookmarking site &lt;a href="http://del.icio.us/" target="_blank"&gt;del.icio.us &lt;/a&gt;and
social news site &lt;a href="http://www.digg.com/" target="_blank"&gt;digg.com&lt;/a&gt;, among
others.
&lt;/p&gt;
&lt;p&gt;
3. &lt;strong&gt;Customer reviews:&lt;/strong&gt; Monitor and respond to what customers are saying
about your business on review Web sites like &lt;a href="http://yelp.com/" target="_blank"&gt;Yelp.com &lt;/a&gt;and &lt;a href="http://citysearch.com/" target="_blank"&gt;Citysearch.com&lt;/a&gt;.
These sites allow businesses to register with the site so they can customize their
listings with contact information and better interact with customers.
&lt;/p&gt;
&lt;p&gt;
4. &lt;a href="http://pipes.yahoo.com/pipes/" target="_blank"&gt;Yahoo Pipes&lt;/a&gt;: This service
allows you to set up a “pipeline” that aggregates information from search engines,
miniblogging tool &lt;a href="http://twitter.com/" target="_blank"&gt;twitter&lt;/a&gt;, photo-sharing
site &lt;a href="http://flickr.com/" target="_blank"&gt;flickr&lt;/a&gt; and other Web portals
that could be mentioning your business.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=f7bc242b-1068-499f-8d85-8985634ce86b" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,f7bc242b-1068-499f-8d85-8985634ce86b.aspx</comments>
      <category>Business</category>
      <category>General</category>
      <category>Marketing</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=29af457d-8c82-48df-915f-b32ecff4ff28</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,29af457d-8c82-48df-915f-b32ecff4ff28.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,29af457d-8c82-48df-915f-b32ecff4ff28.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=29af457d-8c82-48df-915f-b32ecff4ff28</wfw:commentRss>
      <title>How to sleep less and better</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,29af457d-8c82-48df-915f-b32ecff4ff28.aspx</guid>
      <link>http://stanbiron.com/2008/06/26/HowToSleepLessAndBetter.aspx</link>
      <pubDate>Thu, 26 Jun 2008 17:53:52 GMT</pubDate>
      <description>&lt;p&gt;
The quality of your sleep is a determining factor in your daily productivity.&amp;nbsp;
Hacking your sleep schedule requires some time and effort but can be really rewarding
in the end.&amp;nbsp; You will have more time to do whatever you like to do (work, be
with your family, blog, etc.) and you will have more energy to do it.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Do not eat before going to bed (at least 2 hours before sleep time).&lt;/li&gt;
&lt;li&gt;
Sleep in dark, quiet room.&lt;/li&gt;
&lt;li&gt;
Sleep with fresh air (open windows or get air refresher).&lt;/li&gt;
&lt;li&gt;
Exercise during the day. If you don&amp;rsquo;t exercise, go for a 15 minutes walk before
the sleep time.&lt;/li&gt;
&lt;li&gt;
Do not watch TV in the bed before going to sleep. Read a book, take a bath, do something
relaxing.&lt;/li&gt;
&lt;li&gt;
Don&amp;rsquo;t drink coffee or other stimulants within 6 hours of bed time.&lt;/li&gt;
&lt;li&gt;
Don&amp;rsquo;t take long naps (more than 30 minutes) during the day.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Follow these simple tips and within one or two weeks you will notice how your sleep
starts improving.
&lt;/p&gt;
&lt;p&gt;
A trick that works marvels for me is:
&lt;/p&gt;
&lt;p&gt;
First, condition yourself to wake up exactly at the same time every morning,&amp;nbsp;weekdays,
weekends and holidays included.&amp;nbsp; Your body needs stability at some point in the
sleeping process.&amp;nbsp; For working people like me, the easiest variable to standardize
is the wake-up time.&amp;nbsp; Then, go to sleep only when you feel tired.&amp;nbsp; Don&amp;rsquo;t
give yourself a specific bed time but let your body decide when you&amp;nbsp;need sleep.&amp;nbsp;
By having the same wake-up time, your body will automatically feel tired at exactly
the right time to&amp;nbsp;have the perfect sleeping time, every time.&amp;nbsp;&amp;nbsp;Doing
so will save you countless hours of sleepless bedtime.&amp;nbsp; I went from 8&amp;ndash;9
hours of sleep per normal night to 6&amp;ndash;7 and I have the same amount of energy
than before.
&lt;/p&gt;
&lt;p&gt;
Another tip that I can give you is to stop the caffeine and replace it with exercise.&amp;nbsp;
A good rule of thumb is 15 minutes of exercise for each cup of coffee taken in a normal
day.&amp;nbsp; For example, if you take 3 coffees in your normal day, exercise 45 minutes
per day.&amp;nbsp; After 2&amp;ndash;3 weeks, you will find that you need less and less coffee
to stay awake and alert.&amp;nbsp; Within 2&amp;ndash;3 months, you will have replaced your
coffee addiction altogether, you will be more healthy, more rich (coffee is expensive
in the long run), you will sleep better and you will need less sleep than before.
&lt;/p&gt;
&lt;p&gt;
Since everyone is different, something that works for me may not work for you.&amp;nbsp;
These are just examples of what you can do to sleep better but you need to find what
works best for you.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=29af457d-8c82-48df-915f-b32ecff4ff28" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,29af457d-8c82-48df-915f-b32ecff4ff28.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=1a8fe7c1-46ea-4b06-ab7b-da4c835aca59</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,1a8fe7c1-46ea-4b06-ab7b-da4c835aca59.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,1a8fe7c1-46ea-4b06-ab7b-da4c835aca59.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1a8fe7c1-46ea-4b06-ab7b-da4c835aca59</wfw:commentRss>
      <title>Mix08 Sessions</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,1a8fe7c1-46ea-4b06-ab7b-da4c835aca59.aspx</guid>
      <link>http://stanbiron.com/2008/05/22/Mix08Sessions.aspx</link>
      <pubDate>Thu, 22 May 2008 14:15:28 GMT</pubDate>
      <description>&lt;table style="WIDTH: 100%; HEIGHT: 95px"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;
&lt;font size="2"&gt;All the &lt;/font&gt;&lt;a href="http://sessions.visitmix.com/" target="_blank"&gt;&lt;font size="2"&gt;Mix08
sessions are online&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; ! &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;I also found &lt;/font&gt;&lt;a href="http://weblogs.asp.net/guerchele/archive/2008/03/12/mix-2008-88-presentations-wmv-and-mp4-links.aspx" target="_blank"&gt;&lt;font size="2"&gt;this
blog post&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; with links to the wmv of all 88 sessions if you
want to watch them offline.&lt;/font&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;font size="2"&gt;&lt;img alt="Mix08logo" src="http://stanbiron.com/content/binary/mix08logo.gif" border="0" / / /&gt; &lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=1a8fe7c1-46ea-4b06-ab7b-da4c835aca59" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,1a8fe7c1-46ea-4b06-ab7b-da4c835aca59.aspx</comments>
      <category>General</category>
      <category>News</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=9869c6e1-14a7-41a6-9686-2ac8310afa7b</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,9869c6e1-14a7-41a6-9686-2ac8310afa7b.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,9869c6e1-14a7-41a6-9686-2ac8310afa7b.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9869c6e1-14a7-41a6-9686-2ac8310afa7b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Originally taken from <a href="http://codesnipers.com/" target="_blank">codesnipers.com</a></p>
        <p>
Programming is like sex because :
</p>
        <ul>
          <li>
One mistake and you have to support it for the rest of your life. (Michael Sinz)</li>
          <li>
Once you get started, you'll only stop because you're exhausted.</li>
          <li>
It often takes another experienced person to really appreciate what you're doing.</li>
          <li>
Conversely, there's some odd people who pride themselves on their lack of experience.</li>
          <li>
You can do it for money or for fun.</li>
          <li>
If you spend more time doing it than watching TV, people think you're some kind of
freak.</li>
          <li>
It's not really an appropriate topic for dinner conversation.</li>
          <li>
There's not enough taught about it in public school.</li>
          <li>
It doesn't make any sense at all if you try to explain it in strictly clinical terms.</li>
          <li>
Some people are just naturally good.</li>
          <li>
But some people will never realize how bad they are, and you're wasting your time
trying to tell them.</li>
          <li>
There are a few weirdos with bizarre practices nobody really is<br />
comfortable with.</li>
          <li>
One little thing going wrong can ruin <em>everything</em>.</li>
          <li>
It's a great way to spend a lunch break.</li>
          <li>
Everyone acts like they're the first person to come up with a new technique.</li>
          <li>
Everyone who's done it pokes fun at those who haven't.</li>
          <li>
Beginners do a lot of clumsy fumbling about.</li>
          <li>
You'll miss it if it's been a while.</li>
          <li>
There's always someone willing to write about the only right way to do things.</li>
          <li>
It doesn't go so well when you're drunk, but you're more likely to do it.</li>
          <li>
Sometimes it's fun to use expensive toys.</li>
          <li>
Other people just get in the way.</li>
        </ul>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=9869c6e1-14a7-41a6-9686-2ac8310afa7b" />
      </body>
      <title>Programming is like sex</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,9869c6e1-14a7-41a6-9686-2ac8310afa7b.aspx</guid>
      <link>http://stanbiron.com/2008/02/29/ProgrammingIsLikeSex.aspx</link>
      <pubDate>Fri, 29 Feb 2008 21:51:24 GMT</pubDate>
      <description>&lt;p&gt;
Originally taken from &lt;a href="http://codesnipers.com/" target="_blank"&gt;codesnipers.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Programming is like sex because :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
One mistake and you have to support it for the rest of your life. (Michael Sinz)&lt;/li&gt;
&lt;li&gt;
Once you get started, you'll only stop because you're exhausted.&lt;/li&gt;
&lt;li&gt;
It often takes another experienced person to really appreciate what you're doing.&lt;/li&gt;
&lt;li&gt;
Conversely, there's some odd people who pride themselves on their lack of experience.&lt;/li&gt;
&lt;li&gt;
You can do it for money or for fun.&lt;/li&gt;
&lt;li&gt;
If you spend more time doing it than watching TV, people think you're some kind of
freak.&lt;/li&gt;
&lt;li&gt;
It's not really an appropriate topic for dinner conversation.&lt;/li&gt;
&lt;li&gt;
There's not enough taught about it in public school.&lt;/li&gt;
&lt;li&gt;
It doesn't make any sense at all if you try to explain it in strictly clinical terms.&lt;/li&gt;
&lt;li&gt;
Some people are just naturally good.&lt;/li&gt;
&lt;li&gt;
But some people will never realize how bad they are, and you're wasting your time
trying to tell them.&lt;/li&gt;
&lt;li&gt;
There are a few weirdos with bizarre practices nobody really is&lt;br /&gt;
comfortable with.&lt;/li&gt;
&lt;li&gt;
One little thing going wrong can ruin &lt;em&gt;everything&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
It's a great way to spend a lunch break.&lt;/li&gt;
&lt;li&gt;
Everyone acts like they're the first person to come up with a new technique.&lt;/li&gt;
&lt;li&gt;
Everyone who's done it pokes fun at those who haven't.&lt;/li&gt;
&lt;li&gt;
Beginners do a lot of clumsy fumbling about.&lt;/li&gt;
&lt;li&gt;
You'll miss it if it's been a while.&lt;/li&gt;
&lt;li&gt;
There's always someone willing to write about the only right way to do things.&lt;/li&gt;
&lt;li&gt;
It doesn't go so well when you're drunk, but you're more likely to do it.&lt;/li&gt;
&lt;li&gt;
Sometimes it's fun to use expensive toys.&lt;/li&gt;
&lt;li&gt;
Other people just get in the way.&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=9869c6e1-14a7-41a6-9686-2ac8310afa7b" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,9869c6e1-14a7-41a6-9686-2ac8310afa7b.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=e02dd1a1-0c6a-4c32-b76f-976d2fa153ec</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,e02dd1a1-0c6a-4c32-b76f-976d2fa153ec.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,e02dd1a1-0c6a-4c32-b76f-976d2fa153ec.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=e02dd1a1-0c6a-4c32-b76f-976d2fa153ec</wfw:commentRss>
      <title>We're Hiring!</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,e02dd1a1-0c6a-4c32-b76f-976d2fa153ec.aspx</guid>
      <link>http://stanbiron.com/2008/02/07/WereHiring.aspx</link>
      <pubDate>Thu, 07 Feb 2008 14:23:01 GMT</pubDate>
      <description>&lt;p&gt;
The company where I work is currently hiring.&amp;nbsp; We&amp;rsquo;re searching for two
superstar C# developers for a Research and Development project.
&lt;/p&gt;
&lt;p&gt;
So, if you live near Montreal (Canada) or wish to move here and want&amp;nbsp;to contribute
to a great team, send me your CV at &lt;a href="mailto:stan@stanbiron.com"&gt;stan@stanbiron.com&lt;/a&gt; and
I&amp;rsquo;ll contact you individually for more details.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=e02dd1a1-0c6a-4c32-b76f-976d2fa153ec" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,e02dd1a1-0c6a-4c32-b76f-976d2fa153ec.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=edd83632-b67a-4c60-88a1-0f4fccf75e4b</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,edd83632-b67a-4c60-88a1-0f4fccf75e4b.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,edd83632-b67a-4c60-88a1-0f4fccf75e4b.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=edd83632-b67a-4c60-88a1-0f4fccf75e4b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Visual Studio 2008 is a great tool.  But there is one very annoying point. The
bad news of the day is that, if you tried the pre-release version of Visual Studio
2008, there are a <a href="http://www.microsoft.com/express/support/uninstall/default.aspx" target="_blank">whooping
22 steps</a> needed to un-install it.
</p>
        <p>
Needless to say that it made me really cranky when I found about this.  I guess
it's the price to pay when you are an early adopter..<br /></p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=edd83632-b67a-4c60-88a1-0f4fccf75e4b" />
      </body>
      <title>Microsoft dropped the ball on that one..</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,edd83632-b67a-4c60-88a1-0f4fccf75e4b.aspx</guid>
      <link>http://stanbiron.com/2007/11/28/MicrosoftDroppedTheBallOnThatOne.aspx</link>
      <pubDate>Wed, 28 Nov 2007 16:20:34 GMT</pubDate>
      <description>&lt;p&gt;
Visual Studio 2008 is a great tool.&amp;nbsp; But there is one very annoying point. The
bad news of the day is that, if you tried the pre-release version of Visual Studio
2008, there&amp;nbsp;are a &lt;a href="http://www.microsoft.com/express/support/uninstall/default.aspx" target="_blank"&gt;whooping
22 steps&lt;/a&gt; needed to un-install it.
&lt;/p&gt;
&lt;p&gt;
Needless to say that it made me really cranky when I found about this.&amp;nbsp; I guess
it's the price to pay when you are an early adopter..&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=edd83632-b67a-4c60-88a1-0f4fccf75e4b" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,edd83632-b67a-4c60-88a1-0f4fccf75e4b.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=9627ebeb-e2e1-44d8-9319-ede57068d893</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,9627ebeb-e2e1-44d8-9319-ede57068d893.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,9627ebeb-e2e1-44d8-9319-ede57068d893.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9627ebeb-e2e1-44d8-9319-ede57068d893</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There are so much “productivity hacks” out there.  The blog <a href="http://lifehacker.com/" target="_blank">lifehacker</a> is
full of little productivity hacks to boost your effectiveness.  For developers
we have more stuff to look at that every one else combined.  This is not
an article about some yet-another-incredible-new-tool, because there will be a better
one next week.  I’ll have plenty of time later to talk about my favorite tools
that are great <em>Time Savers.</em> But IMHO, there is no tool yet that is
as high a productivity booster as owning whole features in an application.
</p>
        <p>
The current problem with any tool is that you can have a productivity increase
of 1.5x – 2x.  Maybe you can make that number 3x - 4x if the tasks you have
to accomplish are repetitive, you are a master of your particular tool and
you take the time to enhance it, creating your own snippet or macros.  The thing
about it is that, with most these kind of tools, you just become a faster typist. 
Since the number of lines of code is a terrible productivity metric, we can assess
that being a faster typist doesn’t necessary make you a more productive developer.
</p>
        <p>
The real productivity gains lies elsewhere.  It has been given many names
: Being “in the zone”, “in the moment”, “in trance”.  Everybody has experienced
this state of mind where time seems to stop, you lose awareness of everything
around you and you wake up, several hours later, having done a week’s worth of
work.  This state of mind is one of the main points of the classic software
project management book <em>Peopleware</em>.  Getting into that state of mind
can take from 15 minutes up to a full hour or even more depending on the individuals
and many others parameters (ambient noise, stress level).  And getting out of
that state of mind is terribly easy.  
</p>
        <p>
But what’s all this have to do with developers owning some features? 
Simply that owning some code will make the “in-the-zone-boot-up-time” a lot shorter
when working on that particular piece of software.  Basically, what’s happening
when you are in the process of getting in the zone?  Your subconscious mind is
loading (or, at least, tries to load) the entire problem space that you’re facing. 
When there are unknown elements, as there are always in shared code situation, the
problem space is filled with variables elements, making the process really harder
than if you know everything about the problem.
</p>
        <p>
When you own features, you have seen (and probably written) every single line
of code and you know every bit of functionality, every hack that shouldn’t be there
and every little design flaw.  So when you work on that feature, the feature
problem space contain only known elements and is a lot easier to load in your subconscious
mind.  Moreover, it helps a lot for debugging and refactoring situations to know
the entire feature characteristics.  The developers that own their features will
avoid a lot more pitfalls than those who share functionnalities, simply because they
know the implications everywhere of the code they’re writing.
</p>
        <p>
Owning features is not only beneficial on the developer’s performance side. 
Developers in general are elitist people and they don’t like others developers
messing with their code.  The fact that it is clearly stated that features X,
Y and Z are properties of Joe Developer will surely make him not only happier on the
job but he will be a lot more committed to those features than he could
ever have been otherwise.
</p>
        <p>
But that’s just me, what’s your opinion on this subject?
</p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=9627ebeb-e2e1-44d8-9319-ede57068d893" />
      </body>
      <title>Why owning features is so important for your developer's productivity</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,9627ebeb-e2e1-44d8-9319-ede57068d893.aspx</guid>
      <link>http://stanbiron.com/2007/10/23/WhyOwningFeaturesIsSoImportantForYourDevelopersProductivity.aspx</link>
      <pubDate>Tue, 23 Oct 2007 13:28:49 GMT</pubDate>
      <description>&lt;p&gt;
There are so much “productivity hacks” out there.&amp;nbsp; The blog &lt;a href="http://lifehacker.com/" target="_blank"&gt;lifehacker&lt;/a&gt; is
full of little productivity hacks to boost your effectiveness.&amp;nbsp; For developers
we have more stuff to look at that every one else combined.&amp;nbsp;&amp;nbsp;This is not
an article about some yet-another-incredible-new-tool, because there will be a better
one next week.&amp;nbsp; I’ll have plenty of time later to talk about my favorite tools
that are great &lt;em&gt;Time Savers.&lt;/em&gt; But IMHO, there is&amp;nbsp;no tool yet that&amp;nbsp;is
as high a productivity booster as owning whole features in an application.
&lt;/p&gt;
&lt;p&gt;
The current problem with any tool&amp;nbsp;is that you can have a productivity increase
of 1.5x – 2x.&amp;nbsp; Maybe you can make that number 3x&amp;nbsp;- 4x if the tasks you have
to accomplish are repetitive, you are a master&amp;nbsp;of your particular tool&amp;nbsp;and
you take the time to enhance it, creating your own snippet or macros.&amp;nbsp; The thing
about it is that, with most&amp;nbsp;these kind of tools, you just become a faster typist.&amp;nbsp;
Since the number of lines of code is a terrible productivity metric, we can assess
that being a faster typist doesn’t necessary make you a more productive developer.
&lt;/p&gt;
&lt;p&gt;
The real productivity gains&amp;nbsp;lies elsewhere.&amp;nbsp; It has been given many names
: Being “in the zone”, “in the moment”, “in trance”.&amp;nbsp; Everybody has experienced
this state of mind where time seems to stop, you lose awareness of&amp;nbsp;everything
around you&amp;nbsp;and you wake up, several hours later, having done a week’s worth of
work.&amp;nbsp; This state of mind is&amp;nbsp;one of the main points of the classic software
project management book &lt;em&gt;Peopleware&lt;/em&gt;.&amp;nbsp; Getting into that state of mind
can take from 15 minutes up&amp;nbsp;to a full hour or even more depending on the individuals
and many others parameters (ambient noise, stress level).&amp;nbsp; And getting out of
that state of mind is terribly easy.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
But what’s all this have to do with developers&amp;nbsp;owning some&amp;nbsp;features?&amp;nbsp;
Simply that owning some code will make the&amp;nbsp;“in-the-zone-boot-up-time” a lot shorter
when working on that particular piece of software.&amp;nbsp; Basically, what’s happening
when you are in the process of getting in the zone?&amp;nbsp; Your subconscious mind is
loading (or, at least, tries to load)&amp;nbsp;the entire problem space that you’re facing.&amp;nbsp;
When there are unknown elements, as there are always in shared code situation, the
problem space is filled with variables elements, making the process really harder
than if you know everything about the problem.
&lt;/p&gt;
&lt;p&gt;
When you own features, you have seen (and probably written)&amp;nbsp;every single line
of code and you know every bit of functionality, every hack that shouldn’t be there
and every little design flaw.&amp;nbsp; So when you work on that feature, the&amp;nbsp;feature
problem space contain only known elements and is a lot easier to load in your subconscious
mind.&amp;nbsp; Moreover, it helps a lot for debugging and refactoring situations to know
the entire feature characteristics.&amp;nbsp; The developers that own their features will
avoid a lot more pitfalls than those who share functionnalities, simply because they
know the implications everywhere of the code they’re writing.
&lt;/p&gt;
&lt;p&gt;
Owning features&amp;nbsp;is not only beneficial on the developer’s performance side.&amp;nbsp;
Developers in general are elitist&amp;nbsp;people and they don’t like others developers
messing with their code.&amp;nbsp; The fact that it is clearly stated that features X,
Y and Z are properties of Joe Developer will surely make him not only happier on the
job but&amp;nbsp;he will be a&amp;nbsp;lot more committed to those features than he could
ever have been otherwise.
&lt;/p&gt;
&lt;p&gt;
But that’s just me, what’s your opinion on this subject?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=9627ebeb-e2e1-44d8-9319-ede57068d893" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,9627ebeb-e2e1-44d8-9319-ede57068d893.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p dir="ltr" style="margin-right: 0px;">
At the office, we use an Outlook addin (that I originally developed in Visual Studio
2002 targeting the 1.0 .NET Framework).  Finding that technology to be a little
obsolete (all of our others internal applications are on the 2.0 Framework),
we’ve decided to migrate it to 2.0 and add some news features while we’re at it.
</p>
        <p dir="ltr" style="margin-right: 0px;">
The migration and installation went fine at first on my Vista development PC but I
couldn’t get the addin to load on the users computers (that are on WinXP).  Every
thing I tried, didn’t work and the addin couldn’t load at all.  What I ended
up doing is a complete rebuild of the application using VSTO SE (Visual Studio
Tools for Office Second Edition).  Since everything works well now, I’ll share
with you every resource that I came across about creating an addin with VSTO.
</p>
        <p dir="ltr" style="margin-right: 0px;">
          <strong>
            <u>1. Get the prerequisites:</u>
          </strong>
        </p>
        <blockquote>
          <p dir="ltr" style="margin-right: 0px;">
In order to deploy a VSTO addin, you need the following prerequisites installed on
every user’s computer:
</p>
          <ul dir="ltr">
            <li>
              <div style="margin-right: 0px;">The 2.0 Framework
</div>
            </li>
            <li>
              <div style="margin-right: 0px;">Office 2003 (or only Outlook 2003 for an Outlook addin)
</div>
            </li>
            <li>
              <div style="margin-right: 0px;">
                <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=F5539A90-DC41-4792-8EF8-F4DE62FF1E81&amp;displaylang=en" target="_blank">The
VSTO runtime</a>
              </div>
            </li>
            <li>
              <div style="margin-right: 0px;">
                <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&amp;displaylang=en" target="_blank">Office
2003: Redistributable Primary Interop Assemblies</a>
              </div>
            </li>
          </ul>
        </blockquote>
        <p style="margin-right: 0px;">
 
</p>
        <p dir="ltr" style="margin-right: 0px;">
          <strong>
            <u>2. Code the addin:</u>
          </strong>
        </p>
        <blockquote>
          <p dir="ltr" style="margin-right: 0px;">
Pretty straightforward step, depending on your company’s requirements. 
I’ll write another article about that part soon with some code examples.
</p>
        </blockquote>
        <p dir="ltr" style="margin-right: 0px;">
 
</p>
        <p dir="ltr" style="margin-right: 0px;">
          <strong>
            <u>3. Prepare for deployment:</u>
          </strong>
        </p>
        <blockquote>
          <p dir="ltr" style="margin-right: 0px;">
In order to prepare for the deployment of your solution, you need to set the code
access security policy for your assemblies.  To do so, you need to do the following
tasks:
</p>
          <ul dir="ltr">
            <li>
              <div style="margin-right: 0px;">Get the “SetSecurity” project <a href="http://www.microsoft.com/downloads/details.aspx?familyid=6991E869-8D5B-45F4-91E7-B527BD236F4C&amp;displaylang=en" target="_blank">here</a> and
add it to your project.
</div>
            </li>
            <li>
              <div style="margin-right: 0px;">Sign your assembly (or assemblies) in the Signing
section of the project’s properties.  All you need to do is to check the Sign
the assembly check box and create a new strong name file.  You need to make sure
that <em><strong>every</strong></em> assembly that you deploy is signed (including
the SetSecurity.dll assembly).
</div>
            </li>
          </ul>
          <blockquote>
            <blockquote>
              <p dir="ltr" style="margin-right: 0px;">
 <img alt="Sshot-1" src="http://stanbiron.com/content/binary/sshot_2D1.png" border="0" /></p>
              <p dir="ltr" style="margin-right: 0px;">
                <img alt="Sshot-02" src="http://stanbiron.com/content/binary/sshot_2D02.png" border="0" />
              </p>
              <p dir="ltr" style="margin-right: 0px;">
 
</p>
            </blockquote>
          </blockquote>
          <ul>
            <li>
              <div style="margin-right: 0px;">Add the SetSecurity project output to your deployment
project and add a custom action for Installation, Rollback and Uninstall.
</div>
            </li>
          </ul>
          <blockquote>
            <blockquote>
              <p style="margin-right: 0px;">
                <img alt="Sshot-3" src="http://stanbiron.com/content/binary/sshot_2D3.png" border="0" />
              </p>
              <p style="margin-right: 0px;">
In the custom action data for the Install custom action, you need to enter the following
data, replacing “OutlookAddin” with the name of your addin:
</p>
              <blockquote>
                <p style="margin-right: 0px;">
/assemblyName="OutlookAddin.dll" /targetDir="[TARGETDIR]\" /solutionCodeGroupName="MyCompany.OutlookAddin"
/solutionCodeGroupDescription="Code group for OutlookAddin" /assemblyCodeGroupName="OutlookAddin"
/assemblyCodeGroupDescription="Code group for OutlookAddin" /allUsers=[ALLUSERS]
</p>
              </blockquote>
              <p dir="ltr" style="margin-right: 0px;">
For the Rollback and Uninstall, all you need to provide in the custom action
data is:
</p>
              <blockquote>
                <p dir="ltr" style="margin-right: 0px;">
/solutionCodeGroupName="MyCompany.OutlookAddin"
</p>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
        <p dir="ltr" style="margin-right: 0px;">
 
</p>
        <p dir="ltr" style="margin-right: 0px;">
That’s a wrapper of about everything useful I found in my research.  I hope this
helps you!  If there is something you think would be a good addition to this
article, feel free to email me at: stan AT stanbiron DOT com.
</p>
        <p dir="ltr" style="margin-right: 0px;">
          <strong>
            <u>Some more useful resources:</u>
          </strong>
        </p>
        <ul>
          <li>
            <div style="margin-right: 0px;">
              <font color="#000000">If you don’t have VSTO as part
of your Visual Studio Installation, <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86CAB3-6FD6-4955-B979-E1676DB6B3CB&amp;displaylang=en" target="_blank">here
is the link</a> to download it separately.</font>
            </div>
          </li>
          <li>
            <div style="margin-right: 0px;">
              <font color="#000000">If you code on a Vista
PC and you use Visual Studio 2005 (with the Vista service pack), you won’t be
able to debug into a VSTO addin for Office 2003.  Microsoft has issued <a href="http://support.microsoft.com/kb/937652" target="_blank">an
hotfix</a><font color="#0066cc"></font>to resolve this problem.</font>
            </div>
          </li>
          <li style="margin-right: 0px;">
If you can’t get the addin to work on the target computer, you can use this really
great <a href="http://blog.jausovec.info/blogs/petersblog/archive/2006/03/01/33.aspx" target="_blank">Outlook
Addin Checker</a> that looks for missing registry keys, prerequisites or Code
Access Security policies.</li>
          <li style="margin-right: 0px;">
            <p dir="ltr" style="margin-right: 0px;">
There is a two-part article on MSDN for every step needed to deploy an VSTO addin
or document customization: <a href="http://msdn2.microsoft.com/en-us/library/bb332051.aspx" target="_blank">part
1</a> and <a href="http://msdn2.microsoft.com/en-us/library/bb332052.aspx" target="_blank">part
2</a>.  These article are somewhat long but every bit of information for the
deployment part is there.  They also explain how to set custom deployment conditions
to ensure that the prerequisites are installed.
</p>
          </li>
        </ul>
        <p style="margin-right: 0px;">
          <font color="#000000"> </font>
        </p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd" />
      </body>
      <title>How To: Create an Outlook 2003 addin using VSTO SE and Visual Studio 2005</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd.aspx</guid>
      <link>http://stanbiron.com/2007/10/22/HowToCreateAnOutlook2003AddinUsingVSTOSEAndVisualStudio2005.aspx</link>
      <pubDate>Mon, 22 Oct 2007 21:14:29 GMT</pubDate>
      <description>&lt;p dir="ltr" style="margin-right: 0px;"&gt;
At the office, we use an Outlook addin (that I originally developed in Visual Studio
2002 targeting the 1.0 .NET Framework).&amp;nbsp; Finding that technology to be a little
obsolete (all of our others internal applications&amp;nbsp;are&amp;nbsp;on&amp;nbsp;the 2.0 Framework),
we’ve decided to migrate it to 2.0 and add some news features while we’re at it.
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
The migration and installation went fine at first on my Vista development PC but I
couldn’t get the addin to load on the users computers (that are on WinXP).&amp;nbsp; Every
thing I tried, didn’t work and the addin couldn’t load at all.&amp;nbsp; What I ended
up doing is a complete rebuild of the application using VSTO&amp;nbsp;SE (Visual Studio
Tools for Office Second Edition).&amp;nbsp; Since everything works well now, I’ll share
with you every resource that I came across&amp;nbsp;about creating an addin with VSTO.
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&lt;strong&gt;&lt;u&gt;1. Get the prerequisites:&lt;/u&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
In order to deploy a VSTO addin, you need the following prerequisites installed on
every user’s computer:
&lt;/p&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;The 2.0 Framework
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;Office 2003 (or only Outlook 2003 for an Outlook addin)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=F5539A90-DC41-4792-8EF8-F4DE62FF1E81&amp;amp;displaylang=en" target="_blank"&gt;The
VSTO runtime&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&amp;amp;displaylang=en" target="_blank"&gt;Office
2003: Redistributable Primary Interop Assemblies&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt; 
&lt;p style="margin-right: 0px;"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&lt;strong&gt;&lt;u&gt;2. Code the addin:&lt;/u&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
Pretty straightforward step, depending on your company’s&amp;nbsp;requirements.&amp;nbsp;
I’ll write another article about that part soon with some code examples.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&lt;strong&gt;&lt;u&gt;3. Prepare for deployment:&lt;/u&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
In order to prepare for the deployment of your solution, you need to set the code
access security policy for your assemblies.&amp;nbsp; To do so, you need to do the following
tasks:
&lt;/p&gt;
&lt;ul dir="ltr"&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;Get the “SetSecurity” project &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=6991E869-8D5B-45F4-91E7-B527BD236F4C&amp;amp;displaylang=en" target="_blank"&gt;here&lt;/a&gt; and
add it to your project.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;Sign your assembly (or assemblies) in the Signing
section of the project’s properties.&amp;nbsp; All you need to do is to check the Sign
the assembly check box and create a new strong name file.&amp;nbsp; You need to make sure
that &lt;em&gt;&lt;strong&gt;every&lt;/strong&gt;&lt;/em&gt; assembly that you deploy is signed (including
the SetSecurity.dll assembly).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt; &lt;blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&amp;nbsp;&lt;img alt="Sshot-1" src="http://stanbiron.com/content/binary/sshot_2D1.png" border="0"&gt;
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&lt;img alt="Sshot-02" src="http://stanbiron.com/content/binary/sshot_2D02.png" border="0"&gt;
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt; 
&lt;ul&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;Add the SetSecurity project output to your deployment
project and add a custom action for Installation, Rollback and Uninstall.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt; &lt;blockquote&gt; 
&lt;p style="margin-right: 0px;"&gt;
&lt;img alt="Sshot-3" src="http://stanbiron.com/content/binary/sshot_2D3.png" border="0"&gt;
&lt;/p&gt;
&lt;p style="margin-right: 0px;"&gt;
In the custom action data for the Install custom action, you need to enter the following
data, replacing “OutlookAddin” with the name of your addin:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p style="margin-right: 0px;"&gt;
/assemblyName="OutlookAddin.dll" /targetDir="[TARGETDIR]\" /solutionCodeGroupName="MyCompany.OutlookAddin"
/solutionCodeGroupDescription="Code group for OutlookAddin" /assemblyCodeGroupName="OutlookAddin"
/assemblyCodeGroupDescription="Code group for OutlookAddin" /allUsers=[ALLUSERS]
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
For the Rollback and Uninstall, all you need&amp;nbsp;to provide in the custom action
data is:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
/solutionCodeGroupName="MyCompany.OutlookAddin"
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt; 
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
That’s a wrapper of about everything useful I found in my research.&amp;nbsp; I hope this
helps you!&amp;nbsp; If there is something you think would be a good addition to&amp;nbsp;this
article, feel free to email me at: stan AT stanbiron DOT com.
&lt;/p&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
&lt;strong&gt;&lt;u&gt;Some more&amp;nbsp;useful&amp;nbsp;resources:&lt;/u&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;&lt;font color="#000000"&gt;If you don’t have VSTO as part
of your Visual Studio Installation, &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86CAB3-6FD6-4955-B979-E1676DB6B3CB&amp;amp;displaylang=en" target="_blank"&gt;here
is the link&lt;/a&gt; to download it separately.&lt;/font&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-right: 0px;"&gt;&lt;font color="#000000"&gt;If&amp;nbsp;you code on a Vista
PC and you use Visual Studio 2005 (with the Vista service pack), you&amp;nbsp;won’t be
able to&amp;nbsp;debug into a VSTO addin for Office 2003.&amp;nbsp; Microsoft has issued &lt;a href="http://support.microsoft.com/kb/937652" target="_blank"&gt;an
hotfix&lt;/a&gt;&lt;font color="#0066cc"&gt; &lt;/font&gt;to resolve this problem.&lt;/font&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li style="margin-right: 0px;"&gt;
If you can’t get the addin to work on the target computer, you&amp;nbsp;can use this really
great&amp;nbsp;&lt;a href="http://blog.jausovec.info/blogs/petersblog/archive/2006/03/01/33.aspx" target="_blank"&gt;Outlook
Addin Checker&lt;/a&gt;&amp;nbsp;that looks for missing registry keys, prerequisites or Code
Access Security policies.&lt;/li&gt;
&lt;li style="margin-right: 0px;"&gt;
&lt;p dir="ltr" style="margin-right: 0px;"&gt;
There is a two-part article on MSDN for every step needed to deploy an VSTO addin
or document customization: &lt;a href="http://msdn2.microsoft.com/en-us/library/bb332051.aspx" target="_blank"&gt;part
1&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-us/library/bb332052.aspx" target="_blank"&gt;part
2&lt;/a&gt;.&amp;nbsp; These article are somewhat long but every bit of information for the
deployment part is there.&amp;nbsp; They also explain how to set custom deployment conditions
to ensure that the prerequisites are installed.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin-right: 0px;"&gt;
&lt;font color="#000000"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,8b8d4ad7-c3f2-460f-bf43-a37881eb7ffd.aspx</comments>
      <category>General</category>
      <category>Office Interop</category>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=3e9502a4-678b-40b1-8801-71344e27e235</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,3e9502a4-678b-40b1-8801-71344e27e235.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,3e9502a4-678b-40b1-8801-71344e27e235.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3e9502a4-678b-40b1-8801-71344e27e235</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It’s simply amazing! <a href="http://weblogs.asp.net/scottgu/" target="_blank">Scott
Guthrie</a> announced today that the .NET framework source code is going to be
released later this year.  He says it will be released at the same time that
Visual Studio 2008 and the 3.5 Framework are going to be released.  This means
that you will be able to drill down <em><strong>inside</strong></em> the framework
when debugging your applications in Visual Studio 2008.
</p>
        <p>
This is a bold move from Microsoft’s part by any standards.  I think the motivation
behind this release is two-fold:
</p>
        <p>
1. This seems to be part of a larger company-wide politic to show to developers
that Microsoft <em>genuinely</em> care about them.
</p>
        <p>
2. They also need to work with the flow.  More and more, tools like Lutz Roeder’s <a href="http://www.aisto.com/roeder/dotnet/" target="_blank">.NET
Reflector</a> (a utility and Visual Studio plugin to decompile and visualize .NET
assemblies) are becoming popular and the Framework is, for all intent and purposes,
already opened and ripped apart.  I look at classes of the framework myself using
this tool from time to time.
</p>
        <p>
All that being said, this is really great news and I can’t wait to play with this
and see the internals of the framework “in action”.
</p>
        <p>
          <a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx" target="_blank">Click
here to view the full article from Scott.</a>
        </p>
        <p>
If you don’t know who Scott Guthrie is..  Well he’s the team leader for :
</p>
        <ul>
          <li>
IIS</li>
          <li>
ASP.NET</li>
          <li>
The AJAX Toolkit</li>
          <li>
The CLR</li>
          <li>
The Compact Framework</li>
          <li>
Windows Forms</li>
          <li>
Commerce Server</li>
          <li>
Visual Web Developer 2005</li>
          <li>
Visual Studio Tools for WPF</li>
        </ul>
        <p>
In others words, if you love your job as a programmer using Microsoft’s technologies,
it’s because of this guy.
</p>
        <div class="bjtags">Tags: <a rel="tag" href="http://technorati.com/tag/.NET">.NET</a>, <a rel="tag" href="http://technorati.com/tag/News">News</a></div>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=3e9502a4-678b-40b1-8801-71344e27e235" />
      </body>
      <title>In the news today: The .NET Framework 3.5 source code is going to be released!</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,3e9502a4-678b-40b1-8801-71344e27e235.aspx</guid>
      <link>http://stanbiron.com/2007/10/03/InTheNewsTodayTheNETFramework35SourceCodeIsGoingToBeReleased.aspx</link>
      <pubDate>Wed, 03 Oct 2007 19:37:44 GMT</pubDate>
      <description>&lt;p&gt;
It’s simply amazing! &lt;a href="http://weblogs.asp.net/scottgu/" target="_blank"&gt;Scott
Guthrie&lt;/a&gt; announced today that the .NET framework source code&amp;nbsp;is going to&amp;nbsp;be
released later this year.&amp;nbsp; He says it will be released at the same time that
Visual Studio 2008 and the 3.5 Framework are going to be released.&amp;nbsp; This means
that you will be able to drill down &lt;em&gt;&lt;strong&gt;inside&lt;/strong&gt;&lt;/em&gt; the framework
when debugging your applications in Visual Studio 2008.
&lt;/p&gt;
&lt;p&gt;
This is a bold move from Microsoft’s part by any standards.&amp;nbsp; I think the motivation
behind this release is two-fold:
&lt;/p&gt;
&lt;p&gt;
1. This seems to be part of a larger company-wide politic to show to&amp;nbsp;developers
that Microsoft &lt;em&gt;genuinely&lt;/em&gt; care about them.
&lt;/p&gt;
&lt;p&gt;
2. They also need to work with the flow.&amp;nbsp; More and more, tools like Lutz Roeder’s &lt;a href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;.NET
Reflector&lt;/a&gt; (a utility and Visual Studio plugin to decompile and visualize .NET
assemblies) are becoming popular and the Framework is, for all intent and purposes,
already opened and ripped apart.&amp;nbsp; I look at classes of the framework myself using
this tool from time to time.
&lt;/p&gt;
&lt;p&gt;
All that being said, this is really great news and I can’t wait to play with this
and see the internals of the framework “in action”.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx" target="_blank"&gt;Click
here to view the full article from Scott.&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
If you don’t know who Scott Guthrie is..&amp;nbsp; Well he’s the team leader for :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
IIS&lt;/li&gt;
&lt;li&gt;
ASP.NET&lt;/li&gt;
&lt;li&gt;
The AJAX Toolkit&lt;/li&gt;
&lt;li&gt;
The CLR&lt;/li&gt;
&lt;li&gt;
The Compact Framework&lt;/li&gt;
&lt;li&gt;
Windows Forms&lt;/li&gt;
&lt;li&gt;
Commerce Server&lt;/li&gt;
&lt;li&gt;
Visual Web Developer 2005&lt;/li&gt;
&lt;li&gt;
Visual Studio Tools for WPF&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
In others words, if you love your job as a programmer using Microsoft’s technologies,
it’s because of this guy.
&lt;/p&gt;
&lt;div class="bjtags"&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tag/.NET"&gt;.NET&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/News"&gt;News&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=3e9502a4-678b-40b1-8801-71344e27e235" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,3e9502a4-678b-40b1-8801-71344e27e235.aspx</comments>
      <category>General</category>
      <category>.NET</category>
      <category>News</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=acdb5be9-9c8d-4648-a9df-2ab18d67a234</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,acdb5be9-9c8d-4648-a9df-2ab18d67a234.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,acdb5be9-9c8d-4648-a9df-2ab18d67a234.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=acdb5be9-9c8d-4648-a9df-2ab18d67a234</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you haven’t already heard about it, (very unlikely since it has been all <a href="http://www.news.com/8301-13580_3-9784577-39.html" target="_blank">over</a><a href="http://it.slashdot.org/article.pl?sid=07/09/24/2339203&amp;from=rss" target="_blank">the</a><a href="http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22?hl=en#2f8806d5400dfe22" target="_blank">news</a>)
there is a bug in Microsoft’s Excel 2007 that display the wrong result when doing
a multiplication.  The bug first shown up with the multiplication of 77.1 * 850
but the Excel team blog tells us that there are <a href="http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.aspx" target="_blank">12
specific calculations</a> that are subject to this flaw.
</p>
        <p>
Basically, this is a problem with the internal representation of numbers in Excel
that gets translated for displaying.  It’s a conversion bug in the UI part
so it won’t affect any calculation, charting or other number analysis on those
numbers.  VBA script and COM Interop are also immune to this bug because they use
the internal representation and not the number actually rendered on
the Excel interface.  Joel of <a href="http://www.joelonsoftware.com/" target="_blank">joelonsoftware.com</a> has
a really good <a href="http://www.joelonsoftware.com/items/2007/09/26b.html" target="_blank">article</a> that
explains the specifics of this bug.  
</p>
        <p>
Every forum and blog posts that I've seen out there, with the exception of Joel’s
one, shouts that this is a major/critical bug and start bashing on Microsoft
for their “gross incompetence”.  My humble opinion on this is that those
guys are going totally overboard and see critical problems when there are, in
fact, none.  Since the bug we’re talking about affect only the number displaying
but not the internal representation it will affect people’s life <em>only</em> if
they do those exact calculations and don’t use the calculation result to do anything
else.  The chances of that happening out there exists, I agree.  However,
they are so slim that this bug should not be considered critical at all. 
Microsoft will probably release a hotfix in the next days/weeks and it will all be
history soon.
</p>
        <p>
          <b>
            <font color="#ff0000">UPDATE</font>
          </b>: The Excel team has released a hotfix to
correct this issue.  The fix can be found <a href="http://blogs.msdn.com/excel/archive/2007/10/09/calculation-issue-update-fix-available.aspx">here</a>.<br /></p>
        <img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=acdb5be9-9c8d-4648-a9df-2ab18d67a234" />
      </body>
      <title>On the Excel Bug</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,acdb5be9-9c8d-4648-a9df-2ab18d67a234.aspx</guid>
      <link>http://stanbiron.com/2007/10/02/OnTheExcelBug.aspx</link>
      <pubDate>Tue, 02 Oct 2007 19:45:18 GMT</pubDate>
      <description>&lt;p&gt;
If you haven’t already heard about it, (very unlikely since it has been&amp;nbsp;all &lt;a href="http://www.news.com/8301-13580_3-9784577-39.html" target="_blank"&gt;over&lt;/a&gt; &lt;a href="http://it.slashdot.org/article.pl?sid=07/09/24/2339203&amp;amp;from=rss" target="_blank"&gt;the&lt;/a&gt; &lt;a href="http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22?hl=en#2f8806d5400dfe22" target="_blank"&gt;news&lt;/a&gt;)
there is a bug in Microsoft’s Excel 2007 that display the wrong result when doing
a multiplication.&amp;nbsp; The bug first shown up with the multiplication of 77.1 * 850
but the Excel team blog&amp;nbsp;tells us that there are &lt;a href="http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.aspx" target="_blank"&gt;12
specific calculations&lt;/a&gt; that are subject to this flaw.
&lt;/p&gt;
&lt;p&gt;
Basically, this is a problem with the internal representation of numbers in Excel
that gets translated for displaying.&amp;nbsp; It’s a conversion bug&amp;nbsp;in the UI part
so it won’t affect any calculation, charting&amp;nbsp;or other number analysis on those
numbers.&amp;nbsp; VBA script and COM&amp;nbsp;Interop&amp;nbsp;are also immune to this bug because&amp;nbsp;they&amp;nbsp;use
the internal&amp;nbsp;representation&amp;nbsp;and not the number actually rendered&amp;nbsp;on
the Excel interface.&amp;nbsp; Joel of &lt;a href="http://www.joelonsoftware.com/" target="_blank"&gt;joelonsoftware.com&lt;/a&gt; has
a really good &lt;a href="http://www.joelonsoftware.com/items/2007/09/26b.html" target="_blank"&gt;article&lt;/a&gt; that
explains&amp;nbsp;the specifics of this bug.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Every forum and blog posts that I've seen out there, with the exception of Joel’s
one,&amp;nbsp;shouts that this is a major/critical bug and start bashing on Microsoft
for their “gross incompetence”.&amp;nbsp; My humble opinion on this is that&amp;nbsp;those
guys are going totally&amp;nbsp;overboard and see critical problems when there are,&amp;nbsp;in
fact,&amp;nbsp;none.&amp;nbsp; Since the bug we’re talking about affect only the number displaying
but not the internal representation it will affect people’s life &lt;em&gt;only&lt;/em&gt; if
they do those exact calculations and don’t use the calculation result to do anything
else.&amp;nbsp; The chances of that happening out there exists, I agree.&amp;nbsp; However,
they are so slim&amp;nbsp;that this bug should not be considered critical at all.&amp;nbsp;
Microsoft will probably release a hotfix in the next days/weeks and it will all be
history soon.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;font color="#ff0000"&gt;UPDATE&lt;/font&gt;&lt;/b&gt;: The Excel team has released a hotfix to
correct this issue.&amp;nbsp; The fix can be found &lt;a href="http://blogs.msdn.com/excel/archive/2007/10/09/calculation-issue-update-fix-available.aspx"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=acdb5be9-9c8d-4648-a9df-2ab18d67a234" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,acdb5be9-9c8d-4648-a9df-2ab18d67a234.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=2e67d100-6a2e-4584-8a4f-b720de1de7dc</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,2e67d100-6a2e-4584-8a4f-b720de1de7dc.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,2e67d100-6a2e-4584-8a4f-b720de1de7dc.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2e67d100-6a2e-4584-8a4f-b720de1de7dc</wfw:commentRss>
      <title>About Me</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,2e67d100-6a2e-4584-8a4f-b720de1de7dc.aspx</guid>
      <link>http://stanbiron.com/2007/10/01/AboutMe.aspx</link>
      <pubDate>Mon, 01 Oct 2007 16:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 0px 10px 10px; BORDER-RIGHT-WIDTH: 0px" alt="Me" src="http://stanbiron.com/content/binary/me.jpg" align="right" border="0" /&gt;My
name is Stanislas Biron. I'm currently working at Versacom in Montréal, Canada, as
the Research and Development Director. Versacom is the biggest Canadian translation
firm and, as R&amp;D Director, I try to discover new ways to tackle translation's workflow
(From customer's initial request to the final product) and process (Improving translation
itself). Before that, I was the President of a very small consulting company based
in Quebec, Canada.
&lt;/p&gt;
&lt;p&gt;
You might say I'm a business savvy developer with a strong entrepreneur's spirit.
&lt;/p&gt;
&lt;p&gt;
I'm writing this blog to share my thought on software project management, tools, programming,
entrepreneurship, database administration and the occasional humor post. In fact,
I blog about everything that I think would help other developers, DBAs, and software
industry execs.
&lt;/p&gt;
&lt;p&gt;
You can contact me at &lt;a href="mailto:stan@stanbiron.com"&gt;stan@stanbiron.com&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=2e67d100-6a2e-4584-8a4f-b720de1de7dc" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,2e67d100-6a2e-4584-8a4f-b720de1de7dc.aspx</comments>
      <category>General</category>
    </item>
    <item>
      <trackback:ping>http://stanbiron.com/Trackback.aspx?guid=89c1538f-0ca5-47d6-99f7-3544ddf06b23</trackback:ping>
      <pingback:server>http://stanbiron.com/pingback.aspx</pingback:server>
      <pingback:target>http://stanbiron.com/PermaLink,guid,89c1538f-0ca5-47d6-99f7-3544ddf06b23.aspx</pingback:target>
      <dc:creator>Stanislas Biron</dc:creator>
      <wfw:comment>http://stanbiron.com/CommentView,guid,89c1538f-0ca5-47d6-99f7-3544ddf06b23.aspx</wfw:comment>
      <wfw:commentRss>http://stanbiron.com/SyndicationService.asmx/GetEntryCommentsRss?guid=89c1538f-0ca5-47d6-99f7-3544ddf06b23</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Hmmm..  It seems that I have started myself a nifty little blog!  I might
be a little late on the train, starting a technical blog in 2007, am I?  But
more importantly, why am I doing this ?  Well, for starters I like to help others.
I want to share my knowledge and ideas with the most people possible, and I want to
connect with other people who like the same things as I do.
</p>
        <p>
Who am I?  I’m Stanislas Biron, software consultant in Montreal, Canada. 
I have a lot of interests in everything that is tech-related but I'm especially fond
of the Microsoft’s .NET technologies (C#, VB.NET, ASP.NET) and I will probably
blog a lot of content about those.  I also want this blog to become some kind
of code repository for interesting snippets or whole projects.  So if you have
some interesting code that you want to share with the others readers, feel free to
email it to me at : <a href="mailto:stan@stanbiron.com">stan@stanbiron.com</a>. 
I’ll make sure to include it into my posts and maybe that someday, I'll be able to
do a “Stan’s daily piece of code” to showcase the numerous marvels that we can
come across in our work as developers.  Sometimes, I'll also show some bad code
(that I may or may not have written at some point) and show you how that kind of code
can be refactored and transformed to become better.  Everyone of us makes
mistakes but it’s by sharing those mistakes and by listening to others that we can
really learn from them.
</p>
        <p>
And by the way, I'm using the <a href="http://www.dasblog.info/" target="_blank">Dasblog</a> blogging
engine to run this blog and so far it’s a very smooth and nice experience.  It’s
written in ASP.NET and is Open Source so if you’re interested in seeing some
interesting blogging engine code or if you want to start a blog yourself and wonders
what technology to use, Dasblog is a good choice in my opinion.
</p>
        <p>
So let’s get started, shall we?
</p>
        <a href="http://technorati.com/claim/guhkze7tqb" rel="me">
        </a>
        <p>
        </p>
        <br />
Tags: <a href="http://technorati.com/tag/General" rel="tag">General</a><img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=89c1538f-0ca5-47d6-99f7-3544ddf06b23" /></body>
      <title>Welcome to the obligatory welcome post</title>
      <guid isPermaLink="false">http://stanbiron.com/PermaLink,guid,89c1538f-0ca5-47d6-99f7-3544ddf06b23.aspx</guid>
      <link>http://stanbiron.com/2007/09/27/WelcomeToTheObligatoryWelcomePost.aspx</link>
      <pubDate>Thu, 27 Sep 2007 18:08:09 GMT</pubDate>
      <description>&lt;p&gt;
Hmmm..&amp;nbsp; It seems that I have started myself a nifty little blog!&amp;nbsp; I might
be a little late on the train, starting a technical blog in 2007, am I?&amp;nbsp; But
more importantly, why am I doing this ?&amp;nbsp; Well, for starters I like to help others.
I want to share my knowledge and ideas with the most people possible, and I want to
connect with other people who like the same things as I do.
&lt;/p&gt;
&lt;p&gt;
Who am I?&amp;nbsp; I’m Stanislas Biron, software consultant in Montreal, Canada.&amp;nbsp;
I have a lot of interests in everything that is tech-related but I'm especially fond
of the Microsoft’s .NET technologies (C#, VB.NET, ASP.NET)&amp;nbsp;and I will probably
blog a lot of content about those.&amp;nbsp; I also want this blog to become some kind
of code repository for interesting snippets or whole projects.&amp;nbsp; So if you have
some interesting code that you want to share with the others readers, feel free to
email it to me at :&amp;nbsp;&lt;a href="mailto:stan@stanbiron.com"&gt;stan@stanbiron.com&lt;/a&gt;.&amp;nbsp;
I’ll make sure to include it into my posts and maybe that someday, I'll be able to
do a “Stan’s daily piece of code” to showcase the numerous&amp;nbsp;marvels that we can
come across in our work as developers.&amp;nbsp; Sometimes, I'll also show some bad code
(that I may or may not have written at some point) and show you how that kind of code
can be refactored and transformed to become better.&amp;nbsp; Everyone of us&amp;nbsp;makes
mistakes but it’s by sharing those mistakes and by listening to others that we can
really&amp;nbsp;learn from them.
&lt;/p&gt;
&lt;p&gt;
And by the way, I'm using the &lt;a href="http://www.dasblog.info/" target="_blank"&gt;Dasblog&lt;/a&gt;&amp;nbsp;blogging
engine to run this blog and so far it’s a very smooth and nice experience.&amp;nbsp; It’s
written in ASP.NET and is&amp;nbsp;Open Source so if you’re interested in seeing some
interesting blogging engine code or if you want to start a blog yourself and wonders
what technology to use, Dasblog is a good choice in my opinion.
&lt;/p&gt;
&lt;p&gt;
So let’s get started, shall we?
&lt;/p&gt;
&lt;a href="http://technorati.com/claim/guhkze7tqb" rel="me"&gt;&lt;/a&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;br&gt;
Tags: &lt;a href="http://technorati.com/tag/General" rel="tag"&gt;General&lt;/a&gt;&lt;img width="0" height="0" src="http://stanbiron.com/aggbug.ashx?id=89c1538f-0ca5-47d6-99f7-3544ddf06b23" /&gt;</description>
      <comments>http://stanbiron.com/CommentView,guid,89c1538f-0ca5-47d6-99f7-3544ddf06b23.aspx</comments>
      <category>General</category>
    </item>
  </channel>
</rss>