<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>david.segonds.org &#187; Programming</title>
	<atom:link href="http://david.segonds.org/category/work/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://david.segonds.org</link>
	<description>Chronicles of an Agile Software Development Manager</description>
	<lastBuildDate>Thu, 19 Jan 2012 01:17:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Benoît Mandelbrot, my favorite mathematicien passed away</title>
		<link>http://david.segonds.org/2010/10/benoit-mandelbrot-my-favorite-mathematicien-passed-away/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=benoit-mandelbrot-my-favorite-mathematicien-passed-away</link>
		<comments>http://david.segonds.org/2010/10/benoit-mandelbrot-my-favorite-mathematicien-passed-away/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 16:00:42 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[nostalgia]]></category>

		<guid isPermaLink="false">http://david.segonds.org/?p=753</guid>
		<description><![CDATA[Back in 1989, when I got my first PC, an 8086, I became obsessed with fractals and more specifically, the famous Mandelbrot set, along with 3D simulated mountainous range. At the time, I was programming using an OOP version of Borland Turbo Pascal and I created multiple DOS applications to generate, visualize, and marvel at [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2010/10/Mandelbrot-660x660-300x300.jpg" alt="Benoît Mandelbrot" title="Benoît Mandelbrot" width="150" height="150" class="alignleft size-medium wp-image-754" />Back in 1989, when I got my first PC, an 8086, I became obsessed with fractals and more specifically, the famous Mandelbrot set, along with 3D simulated mountainous range. At the time, I was programming using an OOP version of Borland Turbo Pascal and I created multiple DOS applications to generate, visualize, and marvel at those mathematic constructs. I had to take photos of my screen since my dot-matrix printer was not up to the task. When I took the computer science exam as part of the tests to enter the School of Geology, I brought with me pictures and programs on 3&#8243;1/2 floppy disks and it helped me get a good grade.</p>
<p>My favorite mathematician, <a href="http://en.wikipedia.org/wiki/Beno%C3%AEt_Mandelbrot">Benoît Mandelbrot</a> died at age 85. He was quite an inspiration and part of the reason why I am doing what I am doing today. In the video below, Professor Mandelbrot, discuss some of his work.</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/ay8OMOsf6AQ?fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ay8OMOsf6AQ?fs=1" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://david.segonds.org/2010/10/benoit-mandelbrot-my-favorite-mathematicien-passed-away/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A crash course in modern hardware</title>
		<link>http://david.segonds.org/2010/01/a-crash-course-in-modern-hardware/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-crash-course-in-modern-hardware</link>
		<comments>http://david.segonds.org/2010/01/a-crash-course-in-modern-hardware/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 18:34:48 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://david.segonds.org/?p=610</guid>
		<description><![CDATA[If you have not reviewed lately how modern CPUs operate and how they differs from CPUs that you grew up with, you may want to watch this video. It is quite long but certainly instructive. You will learn about what impacts performance today and how Donald Knuth was right all along. :-) &#8220;We should forget [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>If you have not reviewed lately how modern CPUs operate and how they differs from CPUs that you grew up with, you may want to watch this <a href="http://www.infoq.com/presentations/click-crash-course-modern-hardware">video</a>. It is quite long but certainly instructive.</p>
<p>You will learn about what impacts performance today and how Donald Knuth was right all along. :-)</p>
<p>&#8220;We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil&#8221; &mdash; Donald Knuth</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://david.segonds.org/2010/01/a-crash-course-in-modern-hardware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secret Perl Operators</title>
		<link>http://david.segonds.org/2009/12/secret-perl-operators/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=secret-perl-operators</link>
		<comments>http://david.segonds.org/2009/12/secret-perl-operators/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 03:51:55 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://david.segonds.org/?p=517</guid>
		<description><![CDATA[I don&#8217;t know about you, but I feel that Perl is a great scripting language. I have used it quite a bit in the past and it always helped me accomplish what I wanted to accomplish. I must also admit that Python now has my favor and one of the reason is the simpler syntax [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know about you, but I feel that Perl is a great scripting language. I have used it quite a bit in the past and it always helped me accomplish what I wanted to accomplish. I must also admit that Python now has my favor and one of the reason is the simpler syntax and object manipulation.</p>
<p>To illustrate my point regarding Perl syntax idiosyncrasies, here is an <a href="http://www.catonmat.net/blog/secret-perl-operators/">article</a> describing some &#8220;secret&#8221; Perl operators that I have never heard of before: </p>
<ul>
<li>The Spaceship Operator</li>
<li>The Eskimo Greeting Operator</li>
<li>The Goatse Operator</li>
<li>The Turtle Operator</li>
<li>The Inchworm Operator</li>
<li>The Inchworm-On-A-Stick Operator</li>
<li>The Spacestation Operator</li>
<li>The Venus Operator</li>
</ul>
<p>Have you used those operators? What is your favorite scripting language? Leave a note in the comments.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://david.segonds.org/2009/12/secret-perl-operators/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Puzzle</title>
		<link>http://david.segonds.org/2009/11/programming-puzzle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=programming-puzzle</link>
		<comments>http://david.segonds.org/2009/11/programming-puzzle/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 07:53:52 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://david.segonds.org/?p=494</guid>
		<description><![CDATA[Tonight, I found a programming puzzle while reading the blog &#8220;It&#8217;s common sense, stupid&#8220;. I solved the puzzle, but I don&#8217;t know what to do next. Do you know what I am supposed to do once the puzzle is solved? Here is the puzzle for your enjoyment: ofqgz Wqlnru;gtqwljnkx tvy{vfnal tvyl{mgimbg kmlvvz tvy = "ZHFF [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p>Tonight, I found a <a href="http://learn.typemock.com/its-coming/">programming puzzle</a> while reading the blog &#8220;<a href="http://itscommonsensestupid.blogspot.com/2009/11/can-you-figure-out-what-it-is.html">It&#8217;s common sense, stupid</a>&#8220;. I solved the puzzle, but I don&#8217;t know what to do next. Do you know what I am supposed to do once the puzzle is solved?</p>
<p>Here is the puzzle for your enjoyment:</p>
<pre>
                      ofqgz Wqlnru;gtqwljnkx
            tvy{vfnal tvyl{mgimbg kmlvvz tvy =
          "ZHFF PFOQ UUOE IBIKE UNUU MLHBDICYF";
      wltnvk lmvaga nzzs="y"+        "fbngmlm";wltnvk
  ohmv Fuvv(itvsfm fbkbry[         ]tlta){by(ejzm.Ymgzxz
==0)Fuvv(tkk,skam);meli            {ay(ueol[0]=="")kilnla
;qy(tvyl[1]=="")ueol[               1]=tvys;pnz tkkm=tlta[
   0][0];otv skat=65;qgm            ejzj=nzzn-ejza;  vvm
    tvylm=nzzl[1][0]-97;          mx(Vbnz.BlPwmnrz(tkkm
    ))tltx=(tkkh-tltal+26)    %26;Vsfliym.Pkmlx((wuik
        )(tvyi+ueoz));Feag(ueol[0].Lytlneqgz(1),
             ejzm[1].Fculxjbht(1));}}}}
</pre>
<p>The solution to the puzzle is the following C# program. The puzzle is a simple cryptogram where the jey is &#8216;unittest&#8217;.</p>
<pre>
using System;
namespace arg
{
    class args
    {
        static string arg = "GNSX WMKY BABW PIESL AAMB THPIJVUFM";
        static string argz = "u" + "nittest";
        static void Main(params string[] args)
        {
            if (args.Length == 0) Main(arg, argz);
            else
            {
                if (args[0] == "") return;
                if (args[1] == "") args[1] = argz;
                var argu = args[0][0];
                var argg = 65;
                int argp = argu - argg;
                int argss = args[1][0] - 97;
                if (Char.IsLetter(argu)) argp = (argp - argss + 26) % 26;
                Console.Write((char)(argp + argg));
                Main(args[0].Substring(1),args[1].Substring(1));
            }
        }
    }
}
</pre>
<p>When you run this program with no arguments, you get the following string: &#8220;MAKE SURE THIS WORKS WITH LOWERCASE&#8221;. Ironically, the program does not process strings contains lowercase.</p>
<p>I used cryptanalysis and a bit of python script to solve the puzzle. This was entertaining.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://david.segonds.org/2009/11/programming-puzzle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

