<?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"
	>

<channel>
	<title>Peter Janssons Blogg</title>
	<atom:link href="http://peter.jansson.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://peter.jansson.net</link>
	<description>En bloggblandning av programmering och IT-verktyg i stort.</description>
	<pubDate>Mon, 17 Nov 2008 20:37:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Eftertraktad kaffemugg</title>
		<link>http://peter.jansson.net/2008/11/17/eftertraktad-kaffemugg/</link>
		<comments>http://peter.jansson.net/2008/11/17/eftertraktad-kaffemugg/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 20:34:41 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[Okategoriserat]]></category>

		<category><![CDATA[kaffe]]></category>

		<category><![CDATA[SDF]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=219</guid>
		<description><![CDATA[Om man som jag har surfat runt några gånger på nätet så kan det hända att man någon gång har letat efter något ställe, där man kan logga in och göra sina vanliga ärenden, som att läsa mail, läsa det senaste från de nyhetsflöden man prenumererar på eller för att knåpa ihop något program. Eller [...]]]></description>
			<content:encoded><![CDATA[<p>Om man som jag har surfat runt några gånger på nätet så kan det hända att man någon gång har letat efter något ställe, där man kan logga in och göra sina vanliga ärenden, som att läsa mail, läsa det senaste från de nyhetsflöden man prenumererar på eller för att knåpa ihop något program. Eller för att göra annat trevligt man kan göra med bara ett terminalfönster.</p>
<p>Det finns en hel del sådana (free shell-) krypin på linan men jag vill här bara nämna en av dem som jag själv råkar vara medlem i. Det är "<a title="SDF - i ett nytt fönster" href="http://sdf.lonestar.org" target="_blank">SDF - Public Access UNIX System</a>", en icke-vinst drivande organisation som lever på bidrag, för tillfället exekverande i ett <a title="NetBSD home page" href="http://www.netbsd.org" target="_blank">NetBSD</a>-kluster. Jag har varit medlem sedan slutet av förra årtusendet och det känns fortfarande rätt för en som jag att kunna logga in via en terminal och läsa mailen via <a title="Hemsidan för orogrammet som förrut hette Pine - i ett nytt fönster." href="http://www.washington.edu/alpine/" target="_blank">Alpine</a> eller syndikat-flöden via <a title="Snownews - Console RSS reader." href="http://kiza.kcore.de/software/snownews/" target="_blank">Snownews</a>. På sistone har jag uppgraderat mitt medlemskap till högsta formen - det kostar lite grann men å andra sidan erhåller man då något höjda privilegier i systemet. Ett mysigt krypin helt enkelt. <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I en nyligen genomförd "fund raiser" så såldes ett gäng kaffemuggar ut. Jag slog till direkt och har sedan dess väntat och väntat och väntat på att min mugg skulle levereras. Idag fick jag den, äntligen! Så här ser den ut, både i och utan paket:</p>
<p style="text-align: center;">
<table border="0">
<tbody>
<tr>
<td><img src="/bilder/20081117_sdf_kaffemugg_0.jpg" alt="" /></td>
<td><img src="/bilder/20081117_sdf_kaffemugg_1.jpg" alt="" /></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/11/17/eftertraktad-kaffemugg/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Om OpenBSD</title>
		<link>http://peter.jansson.net/2008/11/17/om-openbsd/</link>
		<comments>http://peter.jansson.net/2008/11/17/om-openbsd/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 16:43:03 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[OpenBSD]]></category>

		<category><![CDATA[Säkerhet]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=217</guid>
		<description><![CDATA[På adressen http://www.openbsd.org kan man i skrivande stund läsa:
"The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography."
På adressen http://www.openbsd101.com kan man i skrivande stund läsa:
"OpenBSD is an ultra-secure, freely available, multi-platform BSD-based UNIX-like operating system. And is arguably the most secure operating [...]]]></description>
			<content:encoded><![CDATA[<p>På adressen <a title="www.OpenBSD - i ett nytt fönster" href="http://www.openbsd.org/" target="_blank">http://www.openbsd.org</a> kan man i skrivande stund läsa:</p>
<blockquote><p>"The OpenBSD project produces a <strong>FREE</strong>, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography."</p></blockquote>
<p>På adressen <a title="www.openbsd101.com - i ett nytt fönster" href="http://www.openbsd101.com/" target="_blank">http://www.openbsd101.com</a> kan man i skrivande stund läsa:</p>
<p style="padding-left: 30px;">"OpenBSD is an ultra-secure, freely available, multi-platform BSD-based UNIX-like operating system. And is arguably the most secure operating system in the world."</p>
<p>Och vad skriver jag då om detta? Inget alls. Orden talar för sig själva och jag kan inte göra annat än att ge vidare lovord om detta operativsystem. Det tog mig 15 minuter från det att jag hade brännt en installations-CD tills dess att jag hade systemet uppe, körandes <a href="http://www.mozilla.com" target="_blank">Firefox</a> för att ha möjlighet att skriva i denna blogg. Och de 15 minuterna inkluderar även demontering av CD-spelare från annan dator och montering i den datorn jag skulle installera på ty jag hade ingen fungerande sådan i maskinen. <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Rekommenderas!</p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/11/17/om-openbsd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>About.Com’s C/C++/C# programmeringstävling nummer sjutton</title>
		<link>http://peter.jansson.net/2008/11/15/aboutcom%e2%80%99s-ccc-programmeringstavling-nummer-sjutton/</link>
		<comments>http://peter.jansson.net/2008/11/15/aboutcom%e2%80%99s-ccc-programmeringstavling-nummer-sjutton/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 09:11:53 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[about.com]]></category>

		<category><![CDATA[tävling]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=209</guid>
		<description><![CDATA[Så var ännu en programmeringstävling anordad av David Bolton hos about.com avslutad. Denna gång handlade tävlingen om att implementera ett sorts spel eller artificiell intelligens på ett visst sätt och låta det hela utvecklas så snabbt som möjligt under 1000 generationer.
Spelet som kallas Life, uppfunnet av den brittiske matematikern John Horton Conway, handlar om att [...]]]></description>
			<content:encoded><![CDATA[<p>Så var ännu en <a title="Till tävling 17 i ett nytt fönster." href="http://cplus.about.com/od/programmingchallenges/a/challenge17.htm" target="_blank">programmeringstävling</a> anordad av David Bolton hos about.com avslutad. Denna gång handlade tävlingen om att implementera ett sorts spel eller artificiell intelligens på ett visst sätt och låta det hela utvecklas så snabbt som möjligt under 1000 generationer.</p>
<p>Spelet som kallas Life, uppfunnet av den brittiske matematikern John Horton Conway, handlar om att låta ett mönster i ett rutnät utvecklas enligt visa regler. <a title="Wikipedia: Conway's Game of Life - nytt fönster" href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life" target="_blank">På Wikipedia</a> finns en artikel om det, där det även visas en animerad bild över hur utvecklingen kan se ut. Det är fascinerande att se hur en enkel regeluppsättning kan resultera i ett sådant herrans liv på ett rutnät.</p>
<p>Cirka en och en halv månad innan tävlingen var avgjord så hade jag ett par timmar över så jag satte mig ner och programmerade och skickade in ett bidrag, dock helt utan vidare optimering eller tanke på någon smart algoritm. Jag funderade som så att jag tänkte optimera mera senare när/om tid medgavs och skicka in ett nytt bidrag till tävlingen (för det får man göra) men det blev aldrig någon tid över.</p>
<p>Med tanke på det lilla arbetet jag la ner på det hela är jag ändå ganska nöjd med placeringen i tävlingen. De två som kom före mig hade använt sig av publicerade algoritmer för att snabba upp det hela - och de algoritmerna är verkligen effektiva. Intressant att notera är att personen som kom direkt efter mig, med bara 23 mikrosekunders marginal, hade använt sig ungefär av samma idé som jag hade för implementationen.</p>
<p>För ert nöjes skull så finns min programkod att studera här nedan.</p>
<p><span id="more-209"></span></p>
<pre class="cpp">&nbsp;
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">// The &quot;game of life&quot;, cellular automaton as John Horton Conway thought it.</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">// Programming challenge 17.</span>
<span style="color: #ff0000;">// http://cplus.about.com/od/programmingchallenges/a/challenge17.htm</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">// Straight forward solution using C++ with no profiling or any other</span>
<span style="color: #ff0000;">// optimization work.</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">// Peter Jansson   http://peter.jansson.net</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">// 2008-09-09</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">//</span>
<span style="color: #ff0000;">//-----------------------------------------------------------------------------</span>
<span style="color: #ff0000;">// Timing code declaration.</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> <span style="color: #000000;">&#123;</span>
   LARGE_INTEGER start;
   LARGE_INTEGER stop;
<span style="color: #000000;">&#125;</span> stopWatch;
<span style="color: #0000ff;">class</span> CStopWatch <span style="color: #000000;">&#123;</span>
   <span style="color: #0000ff;">private</span>:
      stopWatch timer;
      LARGE_INTEGER frequency;
      <span style="color: #0000ff;">double</span> LIToSecs<span style="color: #000000;">&#40;</span> LARGE_INTEGER &amp; L<span style="color: #000000;">&#41;</span>;
   <span style="color: #0000ff;">public</span>:
      CStopWatch<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
      <span style="color: #0000ff;">void</span> startTimer<span style="color: #000000;">&#40;</span> <span style="color: #000000;">&#41;</span>;
      <span style="color: #0000ff;">void</span> stopTimer<span style="color: #000000;">&#40;</span> <span style="color: #000000;">&#41;</span>;
      <span style="color: #0000ff;">double</span> getElapsedTime<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>;
<span style="color: #ff0000;">//-----------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #ff0000;">// A point on the grid of life.</span>
<span style="color: #0000ff;">class</span> point
<span style="color: #000000;">&#123;</span>
   <span style="color: #0000ff;">private</span>:
      <span style="color: #ff0000;">// The point is 2D on a grid.</span>
      <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> x,y;
   <span style="color: #0000ff;">public</span>:
      <span style="color: #ff0000;">// Constructor.</span>
      point<span style="color: #000000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> int&amp; x=<span style="color: #0000dd;">0</span>,<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> int&amp; y=<span style="color: #0000dd;">0</span><span style="color: #000000;">&#41;</span>:x<span style="color: #000000;">&#40;</span>x<span style="color: #000000;">&#41;</span>,y<span style="color: #000000;">&#40;</span>y<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><span style="color: #000000;">&#125;</span>;
      <span style="color: #ff0000;">// Sorting order between points.</span>
      <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">bool</span> operator&lt;<span style="color: #000000;">&#40;</span><span style="color: #0000ff;">const</span> point&amp; p<span style="color: #000000;">&#41;</span> <span style="color: #0000ff;">const</span>
      <span style="color: #000000;">&#123;</span>
         <span style="color: #0000ff;">return</span> <span style="color: #000000;">&#40;</span>x
&lt;p.<span style="color: #00eeff;">x</span> || <span style="color: #000000;">&#40;</span>x==p.<span style="color: #00eeff;">x</span> &amp;&amp; y&lt;p.<span style="color: #00eeff;">y</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;
      <span style="color: #000000;">&#125;</span>;
      <span style="color: #ff0000;">// Get the 8 neighbours around this point.</span>
      <span style="color: #ff0000;">// Numbered according to:</span>
      <span style="color: #ff0000;">//   0    1     2</span>
      <span style="color: #ff0000;">//   7   this   3</span>
      <span style="color: #ff0000;">//   6    5     4</span>
      <span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> GetNeighbours<span style="color: #000000;">&#40;</span>point neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span> <span style="color: #0000ff;">const</span>
      <span style="color: #000000;">&#123;</span>
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = <span style="color: #000000;">&#40;</span>x&gt;<span style="color: #0000dd;">0</span>?x<span style="color: #0000dd;">-1</span>:<span style="color: #0000dd;">999</span><span style="color: #000000;">&#41;</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = <span style="color: #000000;">&#40;</span>y&gt;<span style="color: #0000dd;">0</span>?y<span style="color: #0000dd;">-1</span>:<span style="color: #0000dd;">999</span><span style="color: #000000;">&#41;</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = x;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = <span style="color: #000000;">&#40;</span>x&lt;<span style="color: #0000dd;">999</span>?x<span style="color: #0000dd;">+1</span>:<span style="color: #0000dd;">0</span><span style="color: #000000;">&#41;</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = y;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = <span style="color: #000000;">&#40;</span>y&lt;<span style="color: #0000dd;">999</span>?y<span style="color: #0000dd;">+1</span>:<span style="color: #0000dd;">0</span><span style="color: #000000;">&#41;</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = x;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">6</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">6</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span> = neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">x</span>;
         neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">7</span><span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">y</span> = y;
      <span style="color: #000000;">&#125;</span>;
<span style="color: #000000;">&#125;</span>;
&nbsp;
<span style="color: #ff0000;">//-----------------------------------------------------------------------------</span>
&nbsp;
<span style="color: #339900;">#include &lt;fstream&gt;</span>
<span style="color: #339900;">#include &lt;set&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
&nbsp;
   <span style="color: #ff0000;">// The code was faster than 1 second on my machine so we loop the whole</span>
   <span style="color: #ff0000;">// process a few times and calculate the average time for 1000</span>
   <span style="color: #ff0000;">// generation per loop.</span>
   <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> num_of_runs<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">7</span><span style="color: #000000;">&#41;</span>;
   <span style="color: #0000ff;">double</span> sum_of_elapsed_times<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">0.0</span><span style="color: #000000;">&#41;</span>;
   <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> run_count<span style="color: #000000;">&#40;</span>num_of_runs<span style="color: #000000;">&#41;</span>;
         run_count &gt; <span style="color: #0000dd;">0</span>;
         run_count-- <span style="color: #000000;">&#41;</span>
   <span style="color: #000000;">&#123;</span>
&nbsp;
      <span style="color: #ff0000;">// The collection of set points, where life live.</span>
      std::<span style="color: #00eeff;">set</span>
&lt;point&gt; life;
&nbsp;
      <span style="color: #ff0000;">// Set the initial F-Pentomino pattern.</span>
      life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> point<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">499</span>,<span style="color: #0000dd;">500</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
      life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> point<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">500</span>,<span style="color: #0000dd;">499</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
      life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> point<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">500</span>,<span style="color: #0000dd;">500</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
      life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> point<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">500</span>,<span style="color: #0000dd;">501</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
      life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> point<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">501</span>,<span style="color: #0000dd;">499</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>;
&nbsp;
      <span style="color: #ff0000;">// Let's live for 1000 generations.</span>
      std::<span style="color: #00eeff;">set</span>
&lt;point&gt;::<span style="color: #00eeff;">const_iterator</span> i,e;
      point neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #000000;">&#93;</span>, near_neighbours<span style="color: #000000;">&#91;</span><span style="color: #0000dd;">8</span><span style="color: #000000;">&#93;</span>;
      <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> num_of_set_neighbours,num_of_set_near_neighbours;
      <span style="color: #0000ff;">int</span> n,m;
&nbsp;
      CStopWatch s;
      s.<span style="color: #00eeff;">startTimer</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
      <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> <span style="color: #0000ff;">int</span> generation<span style="color: #000000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #000000;">&#41;</span>; generation&lt;<span style="color: #0000dd;">1000</span>; ++generation <span style="color: #000000;">&#41;</span>
      <span style="color: #000000;">&#123;</span>
         <span style="color: #ff0000;">// The next generation of life.</span>
         std::<span style="color: #00eeff;">set</span>
&lt;point&gt; next_life;
&nbsp;
         <span style="color: #ff0000;">// Count the number of set neighbours to each set point.</span>
         <span style="color: #ff0000;">// Count also the number of set points besides each</span>
         <span style="color: #ff0000;">// clear point. The clear point gets set if it has exactly 3</span>
         <span style="color: #ff0000;">// set neighbours so it must have at least one, i.e. it is</span>
         <span style="color: #ff0000;">// enough to look at the clear points around each set point.</span>
         <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> i=life.<span style="color: #00eeff;">begin</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>,e=life.<span style="color: #00eeff;">end</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>; i != e; ++i <span style="color: #000000;">&#41;</span>
         <span style="color: #000000;">&#123;</span>
            num_of_set_neighbours = <span style="color: #0000dd;">0</span>;
            i-&gt;GetNeighbours<span style="color: #000000;">&#40;</span> neighbours <span style="color: #000000;">&#41;</span>;
            <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> n=<span style="color: #0000dd;">0</span>; n&lt;<span style="color: #0000dd;">8</span>; ++n <span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
               <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span> e != life.<span style="color: #00eeff;">find</span><span style="color: #000000;">&#40;</span> neighbours<span style="color: #000000;">&#91;</span>n<span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span> <span style="color: #ff0000;">// neighbour is set</span>
               <span style="color: #000000;">&#123;</span>
                  num_of_set_neighbours++;
               <span style="color: #000000;">&#125;</span>
               <span style="color: #0000ff;">else</span>
                  <span style="color: #ff0000;">// neighbour is clear, count set points around this neighbour</span>
               <span style="color: #000000;">&#123;</span>
                  neighbours<span style="color: #000000;">&#91;</span>n<span style="color: #000000;">&#93;</span>.<span style="color: #00eeff;">GetNeighbours</span><span style="color: #000000;">&#40;</span>near_neighbours<span style="color: #000000;">&#41;</span>;
                  num_of_set_near_neighbours = <span style="color: #0000dd;">0</span>;
                  <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> m=<span style="color: #0000dd;">0</span>; m&lt;<span style="color: #0000dd;">8</span> &amp;&amp; num_of_set_near_neighbours&lt;<span style="color: #0000dd;">4</span>; ++m <span style="color: #000000;">&#41;</span>
                  <span style="color: #000000;">&#123;</span>
                     <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span> e != life.<span style="color: #00eeff;">find</span><span style="color: #000000;">&#40;</span> near_neighbours<span style="color: #000000;">&#91;</span>m<span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>
                        <span style="color: #ff0000;">// near neighbour is set</span>
                     <span style="color: #000000;">&#123;</span>
                        num_of_set_near_neighbours++;
                     <span style="color: #000000;">&#125;</span>
                  <span style="color: #000000;">&#125;</span>
                  <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span> num_of_set_near_neighbours == <span style="color: #0000dd;">3</span> <span style="color: #000000;">&#41;</span>
                  <span style="color: #000000;">&#123;</span>
                     <span style="color: #ff0000;">// this neighbour is brough to life.</span>
                     next_life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> neighbours<span style="color: #000000;">&#91;</span>n<span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#41;</span>;
                  <span style="color: #000000;">&#125;</span>
               <span style="color: #000000;">&#125;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #ff0000;">// Will this set point survive?</span>
            <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span> num_of_set_neighbours&gt;<span style="color: #0000dd;">1</span> &amp;&amp; num_of_set_neighbours&lt;<span style="color: #0000dd;">4</span> <span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
               next_life.<span style="color: #00eeff;">insert</span><span style="color: #000000;">&#40;</span> *i <span style="color: #000000;">&#41;</span>;
            <span style="color: #000000;">&#125;</span>
         <span style="color: #000000;">&#125;</span>
&nbsp;
         <span style="color: #ff0000;">// Life evolves to the next generation.</span>
         life.<span style="color: #00eeff;">swap</span><span style="color: #000000;">&#40;</span> next_life <span style="color: #000000;">&#41;</span>;
      <span style="color: #000000;">&#125;</span>
&nbsp;
      s.<span style="color: #00eeff;">stopTimer</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
      sum_of_elapsed_times += s.<span style="color: #00eeff;">getElapsedTime</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
      <span style="color: #ff0000;">// Write the results on the last iteration.</span>
      <span style="color: #0000ff;">if</span><span style="color: #000000;">&#40;</span> run_count == <span style="color: #0000dd;">1</span> <span style="color: #000000;">&#41;</span>
      <span style="color: #000000;">&#123;</span>
         <span style="color: #ff0000;">// Write the result.</span>
         std::<span style="color: #00eeff;">ofstream</span> f<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;life.txt&quot;</span><span style="color: #000000;">&#41;</span>;
         e = life.<span style="color: #00eeff;">end</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
         <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> y=<span style="color: #0000dd;">0</span>; y&lt;<span style="color: #0000dd;">1000</span>; ++y <span style="color: #000000;">&#41;</span>
         <span style="color: #000000;">&#123;</span>
            <span style="color: #0000ff;">for</span><span style="color: #000000;">&#40;</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> x=<span style="color: #0000dd;">0</span>; x&lt;<span style="color: #0000dd;">1000</span>; ++x <span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
               <span style="color: #ff0000;">// Output '1' if point is set, '0' otherwise.</span>
               f &lt;&lt; <span style="color: #000000;">&#40;</span> e == life.<span style="color: #00eeff;">find</span><span style="color: #000000;">&#40;</span>point<span style="color: #000000;">&#40;</span>x,y<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> ? <span style="color: #0000dd;">0</span> : <span style="color: #0000dd;">1</span> <span style="color: #000000;">&#41;</span>;
            <span style="color: #000000;">&#125;</span>
            f &lt;&lt; <span style="color: #666666;">'<span style="color: #666666; font-weight: bold;">\n</span>'</span>;
         <span style="color: #000000;">&#125;</span>
         f &lt;&lt; <span style="color: #666666;">&quot;Average time for 1000 generations in &quot;</span>
            &lt;&lt; num_of_runs &lt;&lt; <span style="color: #666666;">&quot; runs: &quot;</span>
            &lt;&lt; sum_of_elapsed_times/num_of_runs
            &lt;&lt; <span style="color: #666666;">&quot; seconds per run<span style="color: #666666; font-weight: bold;">\n</span>&quot;</span>;
         f.<span style="color: #00eeff;">close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
      <span style="color: #000000;">&#125;</span>
   <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
<span style="color: #ff0000;">//-----------------------------------------------------------------------------</span>
<span style="color: #ff0000;">// Timing code implementation.</span>
<span style="color: #0000ff;">double</span> CStopWatch::<span style="color: #00eeff;">LIToSecs</span><span style="color: #000000;">&#40;</span> LARGE_INTEGER &amp; L<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
   <span style="color: #0000ff;">return</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&#41;</span>L.<span style="color: #00eeff;">QuadPart</span> /<span style="color: #000000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #000000;">&#41;</span>frequency.<span style="color: #00eeff;">QuadPart</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
CStopWatch::<span style="color: #00eeff;">CStopWatch</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
   timer.<span style="color: #00eeff;">start</span>.<span style="color: #00eeff;">QuadPart</span>=<span style="color: #0000dd;">0</span>;
   timer.<span style="color: #00eeff;">stop</span>.<span style="color: #00eeff;">QuadPart</span>=<span style="color: #0000dd;">0</span>;
   QueryPerformanceFrequency<span style="color: #000000;">&#40;</span> &amp;frequency <span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #0000ff;">void</span> CStopWatch::<span style="color: #00eeff;">startTimer</span><span style="color: #000000;">&#40;</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
   QueryPerformanceCounter<span style="color: #000000;">&#40;</span>&amp;timer.<span style="color: #00eeff;">start</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #0000ff;">void</span> CStopWatch::<span style="color: #00eeff;">stopTimer</span><span style="color: #000000;">&#40;</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
   QueryPerformanceCounter<span style="color: #000000;">&#40;</span>&amp;timer.<span style="color: #00eeff;">stop</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
<span style="color: #0000ff;">double</span> CStopWatch::<span style="color: #00eeff;">getElapsedTime</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
   LARGE_INTEGER <span style="color: #0000dd;">time</span>;
   <span style="color: #0000dd;">time</span>.<span style="color: #00eeff;">QuadPart</span> = timer.<span style="color: #00eeff;">stop</span>.<span style="color: #00eeff;">QuadPart</span> - timer.<span style="color: #00eeff;">start</span>.<span style="color: #00eeff;">QuadPart</span>;
   <span style="color: #0000ff;">return</span> LIToSecs<span style="color: #000000;">&#40;</span> <span style="color: #0000dd;">time</span><span style="color: #000000;">&#41;</span> ;
<span style="color: #000000;">&#125;</span>
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/11/15/aboutcom%e2%80%99s-ccc-programmeringstavling-nummer-sjutton/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Påskägg i Firefox 3.</title>
		<link>http://peter.jansson.net/2008/11/09/paskagg-in-firefox-3/</link>
		<comments>http://peter.jansson.net/2008/11/09/paskagg-in-firefox-3/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 10:41:58 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[skoj]]></category>

		<category><![CDATA[Easter-egg]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=205</guid>
		<description><![CDATA[För er som använder webläsaren Firefox version 3 rekommenderar jag nedanstående länkar som kan erbjuda diverse roligheter en grådaskig söndag som denna:

Mozilla
Robots
Credits

 
]]></description>
			<content:encoded><![CDATA[<p>För er som använder webläsaren Firefox version 3 rekommenderar jag nedanstående länkar som kan erbjuda diverse roligheter en grådaskig söndag som denna:</p>
<ul>
<li><a href="about:mozilla" target="_blank">Mozilla</a></li>
<li><a href="about:robots" target="_blank">Robots</a></li>
<li><a href="about:credits" target="_blank">Credits</a></li>
</ul>
<p> <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/11/09/paskagg-in-firefox-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tjäna pengar när du söker information på internet.</title>
		<link>http://peter.jansson.net/2008/11/08/tjana-pengar-nar-du-soker-information-pa-internet/</link>
		<comments>http://peter.jansson.net/2008/11/08/tjana-pengar-nar-du-soker-information-pa-internet/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 20:03:35 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Mammon]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=202</guid>
		<description><![CDATA[Du kanske har sett annonsen i kanten på den här sidan?
Jag tänkte att jag skulle ta och skriva några ord för att förklara den lite mer ingående. Som man kan se så handlar den om att man på något sätt skulle tjäna pengar på att söka information på internet. Så långt är all kristallklart. Men [...]]]></description>
			<content:encoded><![CDATA[<p>Du kanske har sett annonsen i kanten på den här sidan?</p>
<p>Jag tänkte att jag skulle ta och skriva några ord för att förklara den lite mer ingående. Som man kan se så handlar den om att man på något sätt skulle tjäna pengar på att söka information på internet. Så långt är all kristallklart. Men är detta verkligen något att ha då?</p>
<p>Så funderade jag själv när jag först såg en liknande annonns för några månader sedan men jag ville i alla fall kolla vad det var för något. Så här går det till: Man registrerar sig som medlem på <a title="Registrera dig som refererad från mig." href="http://www.myhpf.co.uk/apply001.asp?Friend=159980" target="_blank">http://www.myhpf.co.uk/apply001.asp?Friend=159980</a>. Sedan klickar man på en länk som finns på den sidan, som gör så att man får en extra sökmotor-ruta installerad i sin webläsare. I den rutan genomför man sedan sina normala sökningar på internet och får betalt för varje sökning!</p>
<p>Om du registrerar dig enligt ovan och sedan "värvar" dina vänner och bekanta att göra samma sak så tjänar du en liten andel av vad de tjänar på deras sökningar också! Detta system fungerar i tre led så man kan enkelt räkna ut att det kan växa väldigt snabbt!</p>
<p>Förfarandet är busenkelt och man kan ju med rätta fråga sig om man verkligen kan tjäna något på det här... Njae, själv har jag tjänat cirka 100 kronor på tre månader men då har jag endast räknat mina egna sökningar... När du bygger upp ditt träd av vänner och bekanta som sitter och söker efter information för deras egen räkning så kan det växa mycket snabbt.</p>
<p>Prova vet ja!  <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/11/08/tjana-pengar-nar-du-soker-information-pa-internet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>On writing binary</title>
		<link>http://peter.jansson.net/2008/11/05/on-writing-binary/</link>
		<comments>http://peter.jansson.net/2008/11/05/on-writing-binary/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 12:38:07 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[C++]]></category>

		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=194</guid>
		<description><![CDATA[I read an interesting tutorial on relatively low level C programming by David Bolton on cplus.about.com. I was especially interested in the implementation of the binary printing of integers.
In the tutorial, David writes the number starting with the right-most (least significant) bit on an internal buffer which is later printed out in reverse order (from [...]]]></description>
			<content:encoded><![CDATA[<p>I read an interesting tutorial on relatively low level C programming by David Bolton on <a href="http://cplus.about.com/od/learningc/ss/lowlevel.htm" target="_blank" alt="Open in a blank window">cplus.about.com</a>. I was especially interested in the implementation of the binary printing of integers.</p>
<p>In the tutorial, David writes the number starting with the right-most (least significant) bit on an internal buffer which is later printed out in reverse order (from most to least significant bit from left to right). I thought that by starting with the most significant bit on the left side directly, the process could be simplified. So I have dedicated some code to the public domain, see the page entitled "<a href="http://peter.jansson.net/kod/write-binary/">Write binary</a>".</p>
<p>All suggestions for improvements are as usual always welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/11/05/on-writing-binary/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rekommenderad Firefox-plugin.</title>
		<link>http://peter.jansson.net/2008/10/08/rekommenderad-firefox-plugin/</link>
		<comments>http://peter.jansson.net/2008/10/08/rekommenderad-firefox-plugin/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 15:30:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[Okategoriserat]]></category>

		<category><![CDATA[Säkerhet]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=180</guid>
		<description><![CDATA[För er som hänger med i IT-säkerhetssvängen vill jag passa på att rekommendera att ni läser detta inlägg med Firefox och med insticksmodulen NoScript aktiverat.
Anledningen till att jag rekommenderar denna uppsättning av websurfarverktyg är att NoScript gör ett bra jobb med att förhindra diverse säkerhetshål i JavaScript, Java-applets, Silverlight och genom cross-side scripting, med mera, [...]]]></description>
			<content:encoded><![CDATA[<p>För er som hänger med i IT-säkerhetssvängen vill jag passa på att rekommendera att ni läser detta inlägg med <a title="Mozilla.Com" href="http://www.mozilla.com" target="_blank">Firefox</a> och med insticksmodulen <a title="NoScript's hemsida" href="http://noscript.net" target="_blank">NoScript</a> aktiverat.</p>
<p>Anledningen till att jag rekommenderar denna uppsättning av websurfarverktyg är att NoScript gör ett bra jobb med att förhindra diverse säkerhetshål i JavaScript, Java-applets, Silverlight och genom cross-side scripting, med mera, för de internet-plaster som du inte har godkänt.</p>
<p>Efter en kort "inlärningsperiod" har man godkänt, eller tillfälligt godkänt, de platser man oftast besöker och systemet blir mer och mer likt ett system utan denna barriär av säkerhet. <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>En del säkerhetskunniga människor har sagt bland annat följande:</p>
<ul>
<li><a href="http://www.crockford.com/" target="_blank">Douglas Crockford</a>, utvecklare av of <a href="http://www.json.org/" target="_blank">JSON</a>: <a href="http://blog.360.yahoo.com/blog-TBPekxc1dLNy5DOloPfzVvFIVOWMB0li?p=715" target="_blank"><cite>But in the short term, I recommend that you be using Firefox with No Script. Until we get things right, it seems to be the best we can do.</cite></a></li>
<li><a href="http://www.stearns.org/" target="_blank">William Stearns</a>, <a href="http://isc.sans.org/" target="_blank">SANS Internet Storm Center</a>: <a href="http://isc.sans.org/diary.html?storyid=2460" target="_blank"><cite>Recommended</cite></a></li>
</ul>
<p>Använd NoScript.</p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/10/08/rekommenderad-firefox-plugin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Utmaning från Korvmudden.</title>
		<link>http://peter.jansson.net/2008/09/29/utmaning-fran-korvmudden/</link>
		<comments>http://peter.jansson.net/2008/09/29/utmaning-fran-korvmudden/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 16:35:15 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[Okategoriserat]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=177</guid>
		<description><![CDATA[Korvmudden utmanade mig i ett inlägg. Här följer mina svar:

Vilken mat äter du ofta?
Ofta blir det fläskkarré i gräddsås med kokt broccoli och blomkål.
När du är på kalas, är du den person som sitter eller du hjälper till att duka av?
Jag brukar hjälpa till.
Var sitter du helst när du bloggar?
Hemma, i arbetsrummet.
Köper du ofta Triss?
Inte [...]]]></description>
			<content:encoded><![CDATA[<p>Korvmudden <a title="Utmaning från Korvmudden - i ett nytt fönster." href="http://korvmudden.blogspot.com/2008/09/utmaning-frn-monke.html" target="_blank">utmanade mig i ett inlägg</a>. Här följer mina svar:</p>
<ol>
<li>Vilken mat äter du ofta?<br />
<em>Ofta blir det fläskkarré i gräddsås med kokt broccoli och blomkål.</em></li>
<li>När du är på kalas, är du den person som sitter eller du hjälper till att duka av?<br />
<em>Jag brukar hjälpa till.</em></li>
<li>Var sitter du helst när du bloggar?<br />
<em>Hemma, i arbetsrummet.</em></li>
<li>Köper du ofta Triss?<br />
<em>Inte ofta, men det händer ibland att jag har valt en lott eller två vid blodgivningen.</em></li>
<li>Vilket land eller stad har varit din bästa semester?<br />
<em>Semester...  Den som ändå hade det...  :-)  Skämt åsido, den senaste semestern i London var mycket trevlig. Sen var jag med min kära fru på <a title="Hasseludden Yasuragi - i ett nytt fönster." href="http://www.hasseludden.com/" target="_blank">Hasseludden Yasuragi</a> ett par dagar i våras, det var mycket bra det med.</em></li>
<li>Vilken Tv-kanal tittar du på mest?<br />
<em>Discovery-kanalen där de visar "Mythbusters".</em></li>
</ol>
<p>Där har ni svaren, nu vet ni lite mer om mig.</p>
<p>Jag känner inte så många som har bloggar så jag utmanar inte alla fyra som jag kunde ha utmanat men följande är nu utmanade:</p>
<ul>
<li><a title="Cecilias blogg - i ett nytt fönster." href="http://goacecilia.bloggspace.se/" target="_blank">Cecilia.</a></li>
<li><a title="Annikas hemsida - i ett nytt fönster" href="http://www.syberrymden.net/" target="_blank">Annika.</a></li>
<li><a title="Korvmudden - i ett nytt fönster." href="http://korvmudden.blogspot.com" target="_blank">Korvmudden</a> igen.  <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/09/29/utmaning-fran-korvmudden/feed/</wfw:commentRss>
		</item>
		<item>
		<title>En dator man bara måste ha!</title>
		<link>http://peter.jansson.net/2008/09/20/en-dator-man-bara-maste-ha/</link>
		<comments>http://peter.jansson.net/2008/09/20/en-dator-man-bara-maste-ha/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 18:31:33 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[Okategoriserat]]></category>

		<category><![CDATA[skoj]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/2008/09/20/en-dator-man-bara-maste-ha/</guid>
		<description><![CDATA[Idag såg jag en annons på en dator som verkar helt otrolig på det mesta i spelväg. Bland annat kunde man jaga skurkar i rymden, dyka på havets botten eller vinna guld i de olympiska spelen. Dessutom kan man visst göra egna datorprogram!  Visst låter det bra?  Här är annonsen:


Annonsen var från 1989... [...]]]></description>
			<content:encoded><![CDATA[<p>Idag såg jag en annons på en dator som verkar helt otrolig på det mesta i spelväg. Bland annat kunde man jaga skurkar i rymden, dyka på havets botten eller vinna guld i de olympiska spelen. Dessutom kan man visst göra egna datorprogram!  Visst låter det bra?  Här är annonsen:</p>
<p><span id="more-101"></span></p>
<div style="text-align: center;"><img src="/bilder/Commodore64-annons-1989.jpg" border="1" alt="Commodore64-annons" width="50%" /></div>
<p>Annonsen var från 1989...  <img src='http://peter.jansson.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Om man inte har råd att köpa datorn så kan man istället spela Commodore64-spel via internet på adressen <a title="http://c64s.com/ - i ett nytt fönster" href="http://c64s.com/" target="_blank">http://c64s.com/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/09/20/en-dator-man-bara-maste-ha/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Online backup - prisjämförelse</title>
		<link>http://peter.jansson.net/2008/09/18/online-backup-prisjamforelse/</link>
		<comments>http://peter.jansson.net/2008/09/18/online-backup-prisjamforelse/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 17:11:12 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[online backup]]></category>

		<guid isPermaLink="false">http://peter.jansson.net/?p=97</guid>
		<description><![CDATA[Jag har letat runt lite på nätet efter olika lösningar på online säkerhetskopiering. Det vill säga att man gör backup på en bunt filer och skickar upp den backupen till något ställe på internet. Jag har jämfört både lösningar med P2P-teknik och mer tradionella, "icke-spridda", lösningar. Följande tabell visar resultatet (med priser gällande i skrivande [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har letat runt lite på nätet efter olika lösningar på online säkerhetskopiering. Det vill säga att man gör backup på en bunt filer och skickar upp den backupen till något ställe på internet. Jag har jämfört både lösningar med P2P-teknik och mer tradionella, "icke-spridda", lösningar. Följande tabell visar resultatet (med priser gällande i skrivande stund)  i form av Svenska kronor per GB och år, inklusive eventuell moms och avrundat uppåt till närmaste hela krona.</p>
<table border="1">
<tbody>
<tr>
<th>Leverantör (teknik) ↓ | Utrymme →</th>
<th>5 GB</th>
<th>10 GB</th>
<th>20 GB</th>
<th>25 GB</th>
<th>40 GB</th>
<th>50 GB</th>
<th>100 GB</th>
<th>500 GB</th>
<th>1 TB</th>
</tr>
<tr>
<td><a title="Wuala's hemsida - i ett nytt fönster" href="http://www.wua.la" target="_blank">Wuala</a> (p2p)</td>
<td></td>
<td>30</td>
<td></td>
<td></td>
<td></td>
<td>12</td>
<td>10</td>
<td>8</td>
<td>7</td>
</tr>
<tr>
<td><a title="Diino's hemsida - i ett nytt fönster" href="http://www.diino.se" target="_blank">Diino</a> (trad.)</td>
<td>78</td>
<td>69</td>
<td></td>
<td>56</td>
<td></td>
<td>50</td>
<td>47</td>
<td></td>
<td></td>
</tr>
<tr>
<td><a title="Space2u's hemsida - i ett nytt fönster" href="http://www.space2u.com" target="_blank">Space2u</a> (trad.)</td>
<td></td>
<td></td>
<td>234</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a title="Mamut's hemsida - i ett nytt fönster" href="http://www.mamut.com/se/onlinebackup/" target="_blank">Mamut</a> (trad.)</td>
<td>147</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a title="Storegate's hemsida - i ett nytt fönster" href="http://www.storegate.se" target="_blank">Storegate</a> (trad.)</td>
<td>94</td>
<td>83</td>
<td>60</td>
<td></td>
<td>57</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a title="Nordic Backup's hemsida - i ett nytt fönster" href="https://www.nordic-backup.com" target="_blank">Nordic Backup</a> (trad.)</td>
<td>176</td>
<td>157</td>
<td>157</td>
<td>157</td>
<td></td>
<td>126</td>
<td>102</td>
<td>55</td>
<td>36</td>
</tr>
<tr>
<td><a title="Vildmarksdata's hemsida - i ett nytt fönster" href="http://www.vildmarksdata.se" target="_blank">Vildmarksdata</a> (trad.)</td>
<td>737</td>
<td></td>
<td>245</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a title="Infracom's hemsida - i ett nytt fönster" href="http://www.infracom.se/" target="_blank">Infracom</a> (trad.)</td>
<td></td>
<td>225</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>75</td>
<td>60</td>
<td>48</td>
</tr>
</tbody>
</table>
<p>Siffrorna talar sitt eget språk. Tyvärr har jag inte hittat så många seriösa företag som erbjuder backup via någon form av p2p-teknik, förutom Wuala, har du något tips så kommentera gärna.</p>
]]></content:encoded>
			<wfw:commentRss>http://peter.jansson.net/2008/09/18/online-backup-prisjamforelse/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
