<?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>WinSoft.se</title>
	<atom:link href="http://www.winsoft.se/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.winsoft.se</link>
	<description>Development with focus on Visual Basic .NET</description>
	<lastBuildDate>Thu, 26 Jan 2012 19:28:40 +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>XQT 1.3</title>
		<link>http://www.winsoft.se/2012/01/xqt-1-3/</link>
		<comments>http://www.winsoft.se/2012/01/xqt-1-3/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 20:26:35 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1842</guid>
		<description><![CDATA[XQT, the XPath Query Tool, is updated to version 1.3. This version lets you select a node in the tree, and copy it&#8217;s path. Also, some bugs are fixed and a few interface inprovements are made. Check the Programs page for download link.]]></description>
			<content:encoded><![CDATA[<p>XQT, the XPath Query Tool, is updated to version 1.3. This version lets you select a node in the tree, and copy it&#8217;s path. Also, some bugs are fixed and a few interface inprovements are made. Check the <a href="http://www.winsoft.se/programs/">Programs</a> page for download link.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/xqt-1-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The easiest way to get started with Basic</title>
		<link>http://www.winsoft.se/2012/01/the-easiest-way-to-get-started-with-basic/</link>
		<comments>http://www.winsoft.se/2012/01/the-easiest-way-to-get-started-with-basic/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 10:39:50 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[Small Basic]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1831</guid>
		<description><![CDATA[Let&#8217;s say that you&#8217;re not really a programmer, but perhaps an old Sinclair-user or Commodore user. What is the easiest way to get started with programming on a modern PC? Install Microsoft Small Basic from here (it&#8217;s completely free). Click Download Small Basic, and just follow the instructions. When the installation is complete, you will [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say that you&#8217;re not really a programmer, but perhaps an old Sinclair-user or Commodore user. What is the easiest way to get started with programming on a modern PC?</p>
<p>Install Microsoft Small Basic from <a href="http://msdn.microsoft.com/sv-se/beginner/ff384126(en-us).aspx" target="_blank">here</a> (it&#8217;s completely free). Click Download Small Basic, and just follow the instructions. When the installation is complete, you will have a start menu item that looks like this:</p>
<p><a href="http://www.winsoft.se/wp-content/uploads/small1.jpg"><img src="http://www.winsoft.se/wp-content/uploads/small1.jpg" alt="" title="Small Basic" width="246" height="36" class="alignnone size-full wp-image-1832" /></a></p>
<p>Now, things are really easy. A document is a program. Write your code and hit F5 to run it. Here I have written a Hello world program, started it, and the result is this:</p>
<p><a href="http://www.winsoft.se/wp-content/uploads/small2.jpg"><img src="http://www.winsoft.se/wp-content/uploads/small2.jpg" alt="" title="Small Basic - Hello world" width="380" height="222" class="alignnone size-full wp-image-1834" /></a></p>
<p>Press any key to continue editing.</p>
<p>Context help is always displayed to the right in the main windows of Small Basic, so that you will always know what the code you write actually does. And if you don&#8217;t know what to write at all, an easy tutorial can be found <a href="http://msdn.microsoft.com/sv-se/beginner/gg749839(en-us).aspx" target="_blank">here</a>.</p>
<p>Are you looking for a random number generator, try Math.GetRandomNumber. Specify the largest number you want. This code will display 100 numbers between 1 and 10.</p>
<pre>For I=1 To 100
  TextWindow.WriteLine(Math.GetRandomNumber(10))
EndFor</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/the-easiest-way-to-get-started-with-basic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling methods on uninitiated variables</title>
		<link>http://www.winsoft.se/2012/01/calling-methods-on-uninitiated-variables/</link>
		<comments>http://www.winsoft.se/2012/01/calling-methods-on-uninitiated-variables/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 00:07:04 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Visual Studio 11]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1828</guid>
		<description><![CDATA[If you don&#8217;t assign a value to an object variable, it will have the value Nothing (equivalent to null in C#). These two lines of code will therefore effectively do exactly the same thing, even though the second version will produce slightly more assembly: Dim MyString As String &#8230;and&#8230; Dim MyString As String = Nothing [...]]]></description>
			<content:encoded><![CDATA[<p>If you don&#8217;t assign a value to an object variable, it will have the value <strong>Nothing</strong> (equivalent to <strong>null</strong> in C#). These two lines of code will therefore effectively do exactly the same thing, even though the second version will produce slightly more assembly:</p>
<pre>Dim MyString As String</pre>
<p>&#8230;and&#8230;</p>
<pre>Dim MyString As String = Nothing</pre>
<p>If you create an <a href="http://www.winsoft.se/2011/06/extension-methods-in-visual-basic/">extension method</a> on the <strong>String</strong> class, and you write it in such fashion that it can handle uninitialized variables, it will be able to do so. The extension is done to the type, not to the object. This is an example of a function that checks if a string is empty:</p>
<pre>&lt;System.Runtime.CompilerServices.Extension()&gt; _
Public Function IsEmpty(ByVal S As String) As Boolean
   If S Is Nothing Then
      Return True
   Else
      Return (S = "")
   End If
End Function</pre>
<p>When the above extension is present, the following piece of code&#8230;</p>
<pre>Dim MyString As String = Nothing
Console.WriteLine(MyString.IsEmpty())</pre>
<p>&#8230;displays the word <strong>True</strong> in your console window!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/calling-methods-on-uninitiated-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SRT Tool 1.2</title>
		<link>http://www.winsoft.se/2012/01/srt-tool-1-2/</link>
		<comments>http://www.winsoft.se/2012/01/srt-tool-1-2/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 12:21:44 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[SRT Tool]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1825</guid>
		<description><![CDATA[SRT Tool is upgraded to version 1.2. You can download it from the Programs page.]]></description>
			<content:encoded><![CDATA[<p>SRT Tool is upgraded to version 1.2. You can download it from the <a href="http://www.winsoft.se/programs/">Programs</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/srt-tool-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading sequential data from your 5.25 inch floppy</title>
		<link>http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/</link>
		<comments>http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 20:45:21 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1814</guid>
		<description><![CDATA[Continued from here. Once you have some sequential data in a file on your disk, you can write a program to read it back. How this is done, varies between different Commodore machines, and can be quite tricky. On the C128, it is as easy as writing the data. You have to remember the structure [...]]]></description>
			<content:encoded><![CDATA[<p>Continued from <a href="http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/">here</a>.</p>
<p>Once you have some sequential data in a file on your disk, you can write a program to read it back. How this is done, varies between different Commodore machines, and can be quite tricky. On the C128, it is as easy as writing the data. You have to remember the structure of the data you were writing &#8211; in my case one string, one integer and one string.</p>
<p>This is a new program (clear any existing program by typing <strong>NEW</strong>), and it is assumed that you have your floppy with the data you created in the <a href="http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/">earlier post</a>.</p>
<p>Use <strong>OPEN</strong> to open a file, but this time, specify that you want to <strong>READ</strong> the sequential file <strong>TEST.DAT</strong>.</p>
<pre>10 OPEN 1, 8, 2, "TEST.DAT,SEQ,READ"</pre>
<p>Then, use <strong>INPUT#</strong> to read each stored record. Just remember the data types. <strong>PRINT#</strong> supports writing multiple records in one call, and <strong>INPUT#</strong> supports multiple reads. So instead of writing three lines, I can read three records in one line, like so:</p>
<pre>20 INPUT#1, A$, B, C$</pre>
<p>Use <strong>CLOSE</strong> to close the file.</p>
<pre>30 CLOSE 1</pre>
<p>These line will display the file content on screen:</p>
<pre>40 PRINT A$
50 PRINT B
60 PRINT C$</pre>
<p>And if everything is correct, you will now se this:</p>
<pre>ONE STRING
 5
ANOTHER STRING</pre>
<p>(The commands I use are available Commodore Basic 4.0 on Commodore PET, but I run Commodore Basic 7 on a C128.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sequential data on 5.25 inch floppies</title>
		<link>http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/</link>
		<comments>http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 20:02:01 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[C128]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1808</guid>
		<description><![CDATA[If you have an actual 1571 disk drive for your Commodore 128, insert a blank disk, format it using the HEADER command. Something like this: HEADER "MY DISK", I44, D0 (Formatting a disk takes a while.) If you are running a virtual Commodore 128 in VICE, click File, Attach disk image, Drive 8. Create a [...]]]></description>
			<content:encoded><![CDATA[<p>If you have an actual 1571 disk drive for your Commodore 128, insert a blank disk, format it using the <strong>HEADER</strong> command. Something like this:</p>
<pre>HEADER "MY DISK", I44, D0</pre>
<p>(Formatting a disk takes a while.)</p>
<p>If you are running a virtual Commodore 128 in <a href="http://www.viceteam.org/" target="_blank">VICE</a>, click <em>File</em>, <em>Attach disk image</em>, <em>Drive 8</em>. Create a d64 image file and attach that image. To create the file, enter a desired filename, like <em>test.d64</em>, provide a name, click <em>Create Image</em>, then click <em>Attach</em>.</p>
<p>(The commands I use are available Commodore Basic 4.0 on Commodore PET, but I run Commodore Basic 7 on a C128.)</p>
<p>Your disk is now inserted and completely empty. You can check the content using the <strong>DIRECTORY</strong> command.</p>
<p><img class="alignnone size-full wp-image-1809" title="" src="http://www.winsoft.se/wp-content/uploads/seq1.jpg" alt="" width="280" height="144" /></p>
<p>As a Commodore user, you know that you sometimes have to refer to your disk drive using its drive number (the first disk drive is <strong>0</strong>) and sometimes you have to use the device number (the first disk drive is <strong>8</strong>). The <strong>OPEN</strong> command operates on any device, therefore a device number is required in this case. The first parameter is the logical file number (just a number that identifies the file), the second is the device number (<strong>8</strong>). The third argument is a channel number &#8211; enter <strong>2</strong>. Then, in one single string argument, you type in the file name, the file type and the file mode. I want to create a file called <strong>TEST.DAT</strong> as a sequential file and I want to write to it, so I my string holds <strong>&#8220;TEST.DAT,SEQ,WRITE&#8221;</strong>.</p>
<pre>10 OPEN 1, 8, 2, "TEST.DAT,SEQ,WRITE"</pre>
<p>To fill your file with data, use the <strong>PRINT#</strong> command. Anything goes here. This will print one string, one integer, and then yet another string. You provide your logical file number so that <strong>PRINT#</strong> knows what file you are targeting.</p>
<pre>20 PRINT#1, "ONE STRING"
30 PRINT#1, 5
40 PRINT#1, "ANOTHER STRING"</pre>
<p>If you like, more data can be added in one line.<br />
When you are done writing, close the file using the <strong>CLOSE</strong> command. Again, provide your logical file number.</p>
<pre>50 CLOSE 1</pre>
<p>After running this program, you should have a small sequential file called <strong>TEST.DAT</strong> on your disk. If any disk error occurred, the lamp on your drive is flashing now &#8211; it shouldn&#8217;t do that.</p>
<p>Continued <a href="http://www.winsoft.se/2012/01/reading-sequential-data-from-your-5-25-inch-floppy/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/sequential-data-on-5-25-inch-floppies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skeptikerforum stänger 2012-06-01</title>
		<link>http://www.winsoft.se/2012/01/skeptikerforum-stanger-2012-06-01/</link>
		<comments>http://www.winsoft.se/2012/01/skeptikerforum-stanger-2012-06-01/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 11:20:11 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Skeptical movement]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1799</guid>
		<description><![CDATA[Skeptikerforum, inklusive mediasidan, stängs permanent 2012-06-01. För den som vill debattera eller läsa om det senaste inom skeptikerrörelsen rekommenderas: VoF&#8217;s diskussionsforum Skeptikerpodden Sweskep.com Om du har inlägg eller länkar som du vill spara, ska det göras före juni 2012. Fram till 2012 går det bra att posta nya inlägg, såvida du inte registrerat från någon [...]]]></description>
			<content:encoded><![CDATA[<p>Skeptikerforum, inklusive mediasidan, stängs permanent 2012-06-01. För den som vill debattera eller läsa om det senaste inom skeptikerrörelsen rekommenderas:</p>
<ul>
<li><a href="http://www.vof.se/forum/" target="_blank">VoF&#8217;s diskussionsforum</a></li>
<li><a href="http://skeptikerpodden.se/" target="_blank">Skeptikerpodden</a></li>
<li><a href="http://sweskep.com/" target="_blank">Sweskep.com</a></li>
</ul>
<p>Om du har inlägg eller länkar som du vill spara, ska det göras före juni 2012. Fram till 2012 går det bra att posta nya inlägg, såvida du inte registrerat från någon publik e-posttjänst (typ Hotmail eller gMail),</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/skeptikerforum-stanger-2012-06-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading out SQL Data with named columns</title>
		<link>http://www.winsoft.se/2011/12/reading-out-sql-data-with-named-columns/</link>
		<comments>http://www.winsoft.se/2011/12/reading-out-sql-data-with-named-columns/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 16:39:13 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1794</guid>
		<description><![CDATA[This code reads out names from the Employees table of the Northwind database. You must correct the Data Source property in the connection string for it to run. #Create a connection object and open it. [String]$cns="Data Source=XXX;Initial Catalog=Northwind; Integrated Security=True" [System.Data.SqlClient.SqlConnection]$connection=New-Object -TypeName System.Data.SqlClient.SqlConnection -ArgumentList $cns $connection.Open() #Create a command and execute it. [String]$query="SELECT FirstName, LastName [...]]]></description>
			<content:encoded><![CDATA[<p>This code reads out names from the Employees table of the Northwind database. You must correct the Data Source property in the connection string for it to run.</p>
<pre class="csharpcode">
#Create a connection <span class="kwrd">object</span> and open it.
[String]$cns=<span class="str">"Data Source=XXX;Initial Catalog=Northwind;
   Integrated Security=True"</span>
[System.Data.SqlClient.SqlConnection]$connection=New-Object
   -TypeName System.Data.SqlClient.SqlConnection -ArgumentList $cns
$connection.Open()

#Create a command and execute it.
[String]$query=<span class="str">"SELECT FirstName, LastName
   FROM dbo.Employees ORDER BY LastName, FirstName"</span>
[System.Data.SqlClient.SqlCommand]$command=New-Object
   -TypeName System.Data.SqlClient.SqlCommand
$command.Connection=$connection
$command.CommandText=$query
$r=$command.ExecuteReader()

#Iterate the result.
<span class="kwrd">while</span>($r.Read()) {

    #Read <span class="kwrd">out</span> first name.
    [String]$firstname=<span class="str">""</span>
    <span class="kwrd">if</span>( -not $r.IsDBNull(0)) {
        $firstname=$r.GetString(0)
    }

    #Read <span class="kwrd">out</span> last name.
    [String]$lastname=<span class="str">""</span>
    <span class="kwrd">if</span>( -not $r.IsDBNull(1)) {
        $lastname=$r.GetString(1)
    }

    #Display.
    Write-Output ($firstname + <span class="str">" "</span> + $lastname)
}

#Close the reader.
$r.Close()

$connection.Close()
$connection.Dispose()</pre>
<p>Here I use column indexes when referring to columns. A change in the SQL query will produce errors in the code that reads out the result. The solution is to call the GetOrdinal function of the reader to get the indexes of the columns, like this:</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ --></p>
<pre class="csharpcode">
#Create a connection <span class="kwrd">object</span> and open it.
[String]$cns=<span class="str">"Data Source=XXX;Initial Catalog=Northwind;
   Integrated Security=True"</span>
[System.Data.SqlClient.SqlConnection]$connection=New-Object
   -TypeName System.Data.SqlClient.SqlConnection -ArgumentList $cns
$connection.Open()

#Create a command and execute it.
[String]$query=<span class="str">"SELECT FirstName, LastName
   FROM dbo.Employees ORDER BY LastName, FirstName"</span>
[System.Data.SqlClient.SqlCommand]$command=New-Object
   -TypeName System.Data.SqlClient.SqlCommand
$command.Connection=$connection
$command.CommandText=$query
$r=$command.ExecuteReader()

#Get use named columns.
[<span class="kwrd">int</span>]$Index_FirstName=$r.GetOrdinal(<span class="str">"FirstName"</span>)
[<span class="kwrd">int</span>]$Index_LastName=$r.GetOrdinal(<span class="str">"LastName"</span>)

#Iterate the result.
<span class="kwrd">while</span>($r.Read()) {

    #Read <span class="kwrd">out</span> first name.
    [String]$firstname=<span class="str">""</span>
    <span class="kwrd">if</span>( -not $r.IsDBNull($Index_FirstName)) {
        $firstname=$r.GetString($Index_FirstName)
    }

    #Read <span class="kwrd">out</span> last name.
    [String]$lastname=<span class="str">""</span>
    <span class="kwrd">if</span>( -not $r.IsDBNull($Index_LastName)) {
        $lastname=$r.GetString($Index_LastName)
    }

    #Display.
    Write-Output ($firstname + <span class="str">" "</span> + $lastname)
}

#Close the reader.
$r.Close()

$connection.Close()
$connection.Dispose()
</pre>
<p>Now, if you change the the query, the reader will still find the desired columns.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/12/reading-out-sql-data-with-named-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Five reasons to choose Windows before Mac</title>
		<link>http://www.winsoft.se/2011/11/five-reasons-to-choose-windows-before-mac/</link>
		<comments>http://www.winsoft.se/2011/11/five-reasons-to-choose-windows-before-mac/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 20:52:38 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Microsoft .NET]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1786</guid>
		<description><![CDATA[5. Design. There are a huge number of computers to choose from. The only constant is change. The few Mac machines on the market are OK, but you can find lots and lots of machines running Windows, including masterpieces Mac users only can dream of. 4. Software. The &#8220;killer software&#8221; that makes a Mac worth [...]]]></description>
			<content:encoded><![CDATA[<p><strong>5. Design.</strong> There are a huge number of computers to choose from. The only constant is change. The few Mac machines on the market are OK, but you can find lots and lots of machines running Windows, including <a href="http://www.dell.com/us/p/inspiron-n411z/pd" target="_blank">masterpieces</a> Mac users only can dream of.</p>
<p><strong>4. Software.</strong> The &#8220;killer software&#8221; that makes a Mac worth owning (Safari, Cubase, Photoshop, Propellerheads Reason, Firefox) is perfectly available on Windows. Also, for each Mac specific application you can find, there are at least ten Windows specific alternatives.</p>
<p><strong>3. Memory cost.</strong> A larger number of vendors and in some cases larger vendors, provides <a href="http://www.pcworld.com/article/161668/mac_vs_windows_what_does_1k_get_you.html" target="_blank">customer value</a>.</p>
<p><strong>2. Ease of use.</strong> Windows is well documented, logically constructed. To install an application on Windows, you download it and confirm that you want to install it. You don&#8217;t have to know what drag and drop operations that you expect to perform, and therefore, you don&#8217;t need any experience to get by. Experience gives you advantages, but is not required.</p>
<p><strong>1. Customisation and extensibility.</strong> The smallest edition of the extremely powerful <a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express" target="_blank">code editor</a> is free to use for any purpose, and just about any Microsoft application comes with a well documented programming interface. And if you want to start from scratch, the .NET Framework is without competition. In both cases, no matter what programming language you know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/11/five-reasons-to-choose-windows-before-mac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vic 20 software</title>
		<link>http://www.winsoft.se/2011/10/vic-20-software/</link>
		<comments>http://www.winsoft.se/2011/10/vic-20-software/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 19:42:31 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Vic20]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1783</guid>
		<description><![CDATA[The Vic 20 is not dead yet. I just found this lovely site packed with Vic 20 games and tools. To run a game in the Vice emulator, just download the prg file (download link might be hard to find for some of the programs) and autostart it from the File menu in Vice. Happy [...]]]></description>
			<content:encoded><![CDATA[<p>The Vic 20 is not dead yet. I just found <a href="http://www.richardlagendijk.nl/cnp/vic20/index/1/en" target="_blank">this</a> lovely site packed with Vic 20 games and tools. To run a game in the <a href="http://www.viceteam.org/" target="_blank">Vice emulator</a>, just download the prg file (download link might be hard to find for some of the programs) and autostart it from the File menu in Vice. Happy hacking in 176 x 184 pixels!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2011/10/vic-20-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

