﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:betag="http://dotnetblogengine.net/schemas/tags">
  <channel>
    <title>John Russell Plant</title>
    <description>Blog for Software Development, Gaming, and life...</description>
    <link>http://blog.johnplant.net/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 3.3.5.0</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://blog.johnplant.net/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://blog.johnplant.net/syndication.axd</blogChannel:blink>
    <dc:creator>John Russell Plant</dc:creator>
    <dc:title>John Russell Plant</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <item>
      <title>New Fun Project</title>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ok. I've been trying to get myself back in the Unity 3d game development mood, so I decided to start on a fun project.&amp;nbsp; It's a basic Space Invaders type game with just primitives for now. Had planned to do it over the holiday, but life happened.&amp;nbsp; Here is the start of it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.johnplant.net/image.axd?picture=f75b285d-04c2-494e-9be7-8c041ec620d8.png" alt="" /&gt;&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2018/01/07/New-Fun-Project</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2018/01/07/New-Fun-Project#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=ed13230c-81d5-4488-9c21-d37bc09852a7</guid>
      <pubDate>Sun, 7 Jan 2018 07:06:00 -0700</pubDate>
      <category>Unity3D</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=ed13230c-81d5-4488-9c21-d37bc09852a7</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=ed13230c-81d5-4488-9c21-d37bc09852a7</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2018/01/07/New-Fun-Project#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=ed13230c-81d5-4488-9c21-d37bc09852a7</wfw:commentRss>
    </item>
    <item>
      <title>Hearthstone: Mulligans Episode 2</title>
      <description>&lt;div&gt;Thought this was pretty funny. Only Warcraft fans will understand...&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src="https://www.youtube.com/embed/qtk_-YpxLt0" width="800" height="480" frameborder="0" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/28/Hearthstone-Mulligans-Episode-2</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/28/Hearthstone-Mulligans-Episode-2#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=8e43b6c0-7d6d-4d04-b616-94678b943c88</guid>
      <pubDate>Sat, 27 May 2017 21:17:00 -0700</pubDate>
      <category>Gaming</category>
      <betag:tag>WARCRAFT</betag:tag>
      <betag:tag>FUNNY STUFF</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=8e43b6c0-7d6d-4d04-b616-94678b943c88</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=8e43b6c0-7d6d-4d04-b616-94678b943c88</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/28/Hearthstone-Mulligans-Episode-2#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=8e43b6c0-7d6d-4d04-b616-94678b943c88</wfw:commentRss>
    </item>
    <item>
      <title>Structs vs Classes</title>
      <description>&lt;p&gt;I went to lunch with a former co-worker the other day and we got into a conversation about structs vs classes. I have to admit, it has been a while since I looked into them, and I can't really remember the last time I used a struct outside of C++.&amp;nbsp; I decided to look them back up, and it seems my knowledge on the subject is a bit dated. I knew one main difference was that classes were reference types while structs were values types, but I had no idea that structs could also contain methods.&amp;nbsp; Here is a quick run down of the two types.&lt;/p&gt;
&lt;h1&gt;&amp;nbsp;Struct&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Value&amp;nbsp;Type&lt;/li&gt;
&lt;li&gt;Stored on Heap&lt;/li&gt;
&lt;li&gt;Does not supports Inheritance&lt;/li&gt;
&lt;li&gt;Cannot have null reference unless set as Nullable&lt;/li&gt;
&lt;li&gt;Less memory overhead&lt;/li&gt;
&lt;li&gt;Supports Interfaces&lt;/li&gt;
&lt;li&gt;Can contain Methods and Events&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Classes&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Reference Type&lt;/li&gt;
&lt;li&gt;Stored on Stack&lt;/li&gt;
&lt;li&gt;Supports Inheritance&lt;/li&gt;
&lt;li&gt;Can be set to Null&lt;/li&gt;
&lt;li&gt;Larger memory overhead&lt;/li&gt;
&lt;li&gt;Supports Interfaces&lt;/li&gt;
&lt;li&gt;Can contain Methods and Events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think this list about sum it all up, but the main difference seems to be that one is a value type while the other is a reference type.&lt;/p&gt;
&lt;h5&gt;&amp;nbsp;&lt;/h5&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/25/Structs-vs-Classes</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/25/Structs-vs-Classes#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=6b402df3-2e50-4453-b577-e72d1ded4aa4</guid>
      <pubDate>Thu, 25 May 2017 04:00:00 -0700</pubDate>
      <category>C#</category>
      <betag:tag>C#</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=6b402df3-2e50-4453-b577-e72d1ded4aa4</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=6b402df3-2e50-4453-b577-e72d1ded4aa4</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/25/Structs-vs-Classes#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=6b402df3-2e50-4453-b577-e72d1ded4aa4</wfw:commentRss>
    </item>
    <item>
      <title>Book Review: Masters of Doom</title>
      <description>&lt;p&gt;&lt;img src="http://blog.johnplant.net/image.axd?picture=fb59a674-20b2-475e-88d3-99be7b1f5bca.png
            #0.39405983521096593" alt="" width="200" /&gt;&lt;/p&gt;
&lt;p&gt;Let me start by saying, no, this is not a new book. It was published in 2003. If you haven't heard of it and grew up playing video games in he 80's then you should read&amp;nbsp;this book. That being said, I am currently listening to it on my phone from adubile.com. This book tells the rue life story of ID Software, it's founders John D. Camack, John Romero and their influence on the video game industry. A lot of what is in the early parts of the book, feels like it is describing myself and my friends at the time. Unfortunately, I didn't go on to revolutionize&amp;nbsp;what video were and what they are today. These two guys did.&amp;nbsp;&amp;nbsp;After all, they did create Wolfenstein 3D, Doom and Quake and single handedly, created the whole FPS (first person shooter) genre.&lt;/p&gt;
&lt;p&gt;And as an added bonus, if you listen to the aduble.com version of the book, you will hear the book read by Wil Wheaton of Star Trek fame.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/24/Book-Review-Masters-of-Doom</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/24/Book-Review-Masters-of-Doom#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=92a53e5f-8d2f-4612-a09d-90125a9fd20e</guid>
      <pubDate>Tue, 23 May 2017 21:11:00 -0700</pubDate>
      <category>Gaming</category>
      <category>General</category>
      <category>PC Gaming</category>
      <betag:tag>BOOK REVIEW</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=92a53e5f-8d2f-4612-a09d-90125a9fd20e</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=92a53e5f-8d2f-4612-a09d-90125a9fd20e</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/24/Book-Review-Masters-of-Doom#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=92a53e5f-8d2f-4612-a09d-90125a9fd20e</wfw:commentRss>
    </item>
    <item>
      <title>SQL Management Studio Dark Theme</title>
      <description>&lt;p&gt;I don't know if previous versions of SQL Management Studio supports the dark theme, but 2016 and version 17 support it just fine.&amp;nbsp; In order to get the dark theme like visual studio, you have to edit the following file. You will need to run your text editor as administrator in order for this to work.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\ssms.pkundef&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once you have the file open, do a search on &lt;strong&gt;Remove Dark theme.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.johnplant.net/image.axd?picture=cfd4a3fa-a302-4b21-b626-6a8832c5e509.png
            #0.9973183211434826" alt="" width="800" /&gt;&lt;/p&gt;
&lt;p&gt;Now proceed to comment out all the lines in this section and save the file. If you are unable to save, you didn't run your editor in admin mode.&lt;/p&gt;
&lt;p&gt;Once you have the file edited. Open SSMS and navigate to Tools -&amp;gt; Options -&amp;gt; Environment -&amp;gt; Color theme and select Dark.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blog.johnplant.net/image.axd?picture=f6729597-a28d-4fb8-bb3d-0dc519de7b65.png
            #0.5858398176244446" alt="" width="800" /&gt;&lt;/p&gt;
&lt;p&gt;You should now have SSMS using a dark theme...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.johnplant.net/image.axd?picture=214c202d-e2d4-46c3-afd7-4a747f6832e4.png
            #0.9278503174580432" alt="" width="800" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/20/SQL-Management-Studio-Dark-Theme</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/20/SQL-Management-Studio-Dark-Theme#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=a368158c-b765-48dc-87a0-faf25c883a46</guid>
      <pubDate>Fri, 19 May 2017 23:07:00 -0700</pubDate>
      <category>Tips and Tricks</category>
      <betag:tag>SQL</betag:tag>
      <betag:tag>TIPS</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=a368158c-b765-48dc-87a0-faf25c883a46</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=a368158c-b765-48dc-87a0-faf25c883a46</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/20/SQL-Management-Studio-Dark-Theme#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=a368158c-b765-48dc-87a0-faf25c883a46</wfw:commentRss>
    </item>
    <item>
      <title>Design Patterns: Singleton</title>
      <description>&lt;p&gt;This is the first post in what I hope to be a series of posts on software design patterns. What are design patterns?&amp;nbsp;Design patterns in software development are repeatable code solutions to commonly reoccurring problems.&amp;nbsp;Think of&amp;nbsp;them as&amp;nbsp;templates to common problems that other developers have come up with to solve&amp;nbsp;issues previous developers have&amp;nbsp;dealt&amp;nbsp;with. They help to reduce bugs and can help make your code more maintainable as it grows. Use of these patterns&amp;nbsp;is considered best practices and trust me, smart people have designed them for a reason. So&amp;nbsp;use them.&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Singleton Pattern&lt;/h1&gt;
&lt;p&gt;A Singleton is a class that has only one instance and provides global access to itself.&amp;nbsp; In other words, once the class in substantiated, it maintains a reference to itself, and routes all future class&amp;nbsp;construction calls&amp;nbsp;back to the same referenced instance.&amp;nbsp;&lt;/p&gt;
&lt;div style="color: #000000;"&gt;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;

&lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; SingletonPattern
{
    &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; Program
    {
        &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;[] args)
        {
            Console.WriteLine(&lt;span style="color: #a31515;"&gt;"Hello World!"&lt;/span&gt;);

            MySingletonClass firstInstance = MySingletonClass.Instance;

            firstInstance.TestString = &lt;span style="color: #a31515;"&gt;"This was set by firstInstance"&lt;/span&gt;;
            Console.WriteLine($&lt;span style="color: #a31515;"&gt;"Setting firstInstance to {firstInstance.TestString}"&lt;/span&gt;);

            MySingletonClass secondInstance = MySingletonClass.Instance;
            Console.WriteLine($&lt;span style="color: #a31515;"&gt;"Getting secondInstance value {secondInstance.TestString}"&lt;/span&gt;);

            Console.ReadLine();

        }
    }

    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; MySingletonClass
    {
        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; MySingletonClass instance = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;

        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; MySingletonClass Instance
        {
            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;
            {
                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;(instance == &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)
                {
                    instance = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; MySingletonClass();
                }
                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; instance;
            }
        }

        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; TestString { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }
        
    }
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;p style="color: #000000;"&gt;Here you notice that we don't&amp;nbsp;new up the &lt;em&gt;MySingletonClass&lt;/em&gt; in main, but just set it to the instance value. The class itself will handle substantiating itself. If the value of the instance is null, then the code will&amp;nbsp;new&amp;nbsp;up the class and set the private instance variable to the new instance, otherwise it will just&amp;nbsp;return&amp;nbsp;it's&amp;nbsp;referenced instance value.&amp;nbsp;This is a very simple&amp;nbsp;implantation and probably not the most&amp;nbsp;thread-safe implementation of the pattern, but the simplest form of the pattern for learning purposes.&lt;/p&gt;
&lt;p style="color: #000000;"&gt;Here is a simple but thread-safe version of the pattern&lt;/p&gt;
&lt;div style="color: #000000;"&gt;
&lt;pre&gt; &lt;br /&gt;public &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; MySingletonClass   &lt;br /&gt;{
        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; MySingletonClass instance = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;
        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;readonly&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; myLock = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;();

        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; MySingletonClass Instance
        {
            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;
            {
                &lt;span style="color: #0000ff;"&gt;lock&lt;/span&gt; (myLock)
                {
                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (instance == &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)
                    {
                        instance = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; MySingletonClass();
                    }
                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; instance;
                }
            }
        }

        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; TestString { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }
    }
&lt;/pre&gt;
&lt;/div&gt;
&lt;p style="color: #000000;"&gt;There are several other ways to go about implementing this pattern, but the basics are laid&amp;nbsp;out here.&amp;nbsp; As I said in the&amp;nbsp;beginning, this and other design patterns were created for good reason and we should use them. Why try and reinvent the wheel. &amp;nbsp;They help solve issues in our code so we don't have to make the same mistakes. So once again use them.&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/20/Design-Patterns-Singleton</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/20/Design-Patterns-Singleton#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=fe5d0aa6-16fc-442b-bc01-a05d252419f9</guid>
      <pubDate>Fri, 19 May 2017 20:01:00 -0700</pubDate>
      <category>C#</category>
      <category>Design Patterns</category>
      <betag:tag>DESIGN PATTERNS</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=fe5d0aa6-16fc-442b-bc01-a05d252419f9</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=fe5d0aa6-16fc-442b-bc01-a05d252419f9</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/20/Design-Patterns-Singleton#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=fe5d0aa6-16fc-442b-bc01-a05d252419f9</wfw:commentRss>
    </item>
    <item>
      <title>Stellaris</title>
      <description>&lt;p&gt;I remember playing a cool PC game back in the late '80s called Starflight, by Binary Systems. It was basically and space exploration, commence&amp;nbsp;and battle space combat type game, similar&amp;nbsp;to the old Star Trek episodes. Now this was back on one of the early 8088 PC clones of the day. Yes, they were called PC clones if they were not original IBM equipment. &amp;nbsp;Apple existed, but was "Jobless" at the time..&lt;/p&gt;
&lt;p&gt;Fast forward like Marty McFly&amp;nbsp;so many years&amp;nbsp;back&amp;nbsp;to the present, and here we are talking about another great space&amp;nbsp;exploration game.&amp;nbsp; These days, this game genre is called a 4X, like in "eXplore, eXpand, eXploit and eXterminate", but I won't get into that.&amp;nbsp; It was developed by Paradox Development Studio and published by Paradox Interactive.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://steamuserimages-a.akamaihd.net/ugc/839204610201677338/EB45BBA520CC95D9C190B50CFDC3A548D2AAE521/" alt="" width="800" /&gt;&lt;/p&gt;
&lt;p&gt;This game very much reminds me of a Starflight/Civilization combination game.&amp;nbsp; It has depth and is not a sit down for a quick 10 minutes type of game. I think my first sitting was in the neighborhood of about 5 hours. I played for about the same time period the next day as well.&amp;nbsp; I have yet to finish a game, so I don't know if this one suffers from late game boredom when a single faction gets too powerful. Time will time and I will post about&amp;nbsp;it.&lt;/p&gt;
&lt;p&gt;Here is a quick summary of the game taken from&amp;nbsp;&lt;a href="https://en.wikipedia.org/wiki/Stellaris_(video_game)"&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;h5 align="left"&gt;Stellaris&lt;span style="color: #222222; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: sans-serif; font-size: 14px; font-style: normal; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; widows: 2; float: none; background-color: #ffffff;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;is a&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a style="text-decoration: none; color: #0b0080; background: none #ffffff; font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" title="Real-time strategy" href="https://en.wikipedia.org/wiki/Real-time_strategy"&gt;real-time&lt;/a&gt;&lt;span style="color: #222222; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: sans-serif; font-size: 14px; font-style: normal; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; widows: 2; float: none; background-color: #ffffff;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a class="mw-redirect" style="text-decoration: none; color: #0b0080; background: none #ffffff; font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;" title="Grand strategy game" href="https://en.wikipedia.org/wiki/Grand_strategy_game"&gt;grand strategy game&lt;/a&gt;&lt;span style="color: #222222; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: sans-serif; font-size: 14px; font-style: normal; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; widows: 2; float: none; background-color: #ffffff;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;set in space in the year 2200. Players control ships and research vessels among other things, combat is more centered towards the bigger picture, preparation, and strategy. There are also diplomatic options such as alliances and trade agreements with other races. The game begins by picking a species, its ethics, and its technologies. Picking an alien and changing their ethics can change the way information looks; and any species can have any of the ship engineering styles.&lt;/span&gt;&lt;a style="text-decoration: none; color: #0b0080; background: none; white-space: nowrap;" href="https://en.wikipedia.org/wiki/Stellaris_(video_game)#cite_note-pcgamer-2"&gt;[2]&lt;/a&gt;&lt;span style="color: #222222; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: sans-serif; font-size: 14px; font-style: normal; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; widows: 2; float: none; background-color: #ffffff;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;The player begins with a single planet in their territory, an engineering vessel, a small fleet of warships, a space port, and a science ship. Early gameplay consists of exploring and colonizing space, while mid-game activities focus on diplomacy and governing an empire.&lt;/span&gt;&lt;a style="text-decoration: none; color: #0b0080; background: none; white-space: nowrap;" href="https://en.wikipedia.org/wiki/Stellaris_(video_game)#cite_note-rps-3"&gt;[3]&lt;/a&gt;&lt;span style="color: #222222; text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: sans-serif; font-size: 14px; font-style: normal; word-spacing: 0px; display: inline !important; white-space: normal; orphans: 2; widows: 2; float: none; background-color: #ffffff;"&gt;&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;In the late game, crisis events can occur that have galaxy-wide implications&amp;mdash;for example, an uprising by sentient AI robots or an invasion by extra-dimensional or extra-galactic forces, the former two always being triggered by careless empires.&lt;span class="Apple-converted-space"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h5&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Good luck with your expire and see you floating around the galaxy......&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/18/Stellaris</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/18/Stellaris#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=868be40a-00d6-41ea-af5a-8a21e70a5e75</guid>
      <pubDate>Thu, 18 May 2017 08:12:00 -0700</pubDate>
      <category>PC Gaming</category>
      <betag:tag>GAMES</betag:tag>
      <betag:tag>STEAM</betag:tag>
      <betag:tag>PC GAMES</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=868be40a-00d6-41ea-af5a-8a21e70a5e75</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=868be40a-00d6-41ea-af5a-8a21e70a5e75</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/18/Stellaris#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=868be40a-00d6-41ea-af5a-8a21e70a5e75</wfw:commentRss>
    </item>
    <item>
      <title>String Interpolation</title>
      <description>&lt;div&gt;We have all used the good old reliable String.Format() method, but recently I ran across the newer sleeker way of handling strings in C#. It is called "String Interpolation" and it is definitely a shortcut to constructing strings. Although string interpolation is not a new thing in itself, this implementation in C# is rather nice, once you are used to it.&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Older Method with String.Format() &lt;span style="color: #0000ff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="color: #000000;"&gt;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; OldMethod()
{
            &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; firstName = &lt;span style="color: #a31515;"&gt;"John"&lt;/span&gt;;
            &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; lastName = &lt;span style="color: #a31515;"&gt;"Doe"&lt;/span&gt;;

            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; formattedString = &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515;"&gt;"Hello World, My Name is {0}, {1}"&lt;/span&gt;, firstName, lastName);
            Console.WriteLine(formattedString);
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;New Method using string interpolation:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;div style="color: #000000;"&gt;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; NewMethod()
{
            &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; firstName = &lt;span style="color: #a31515;"&gt;"John"&lt;/span&gt;;
            &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; lastName = &lt;span style="color: #a31515;"&gt;"Doe"&lt;/span&gt;;

            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; formattedString = $&lt;span style="color: #a31515;"&gt;"Hello World, My Name is {firstName}, {lastName}"&lt;/span&gt;;
            Console.WriteLine(formattedString);
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There is nothing wrong with the older method and personally I still sort of like it.&amp;nbsp; Pick the best method for your development style and keep on coding.&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/05/16/String-Interpolation</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/05/16/String-Interpolation#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=520b3ffc-ee9b-42a0-bdc6-f83f063ef4af</guid>
      <pubDate>Tue, 16 May 2017 03:14:00 -0700</pubDate>
      <category>C#</category>
      <betag:tag>SOFTWARE DEVELOPMENT</betag:tag>
      <betag:tag>C#</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=520b3ffc-ee9b-42a0-bdc6-f83f063ef4af</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=520b3ffc-ee9b-42a0-bdc6-f83f063ef4af</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/05/16/String-Interpolation#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=520b3ffc-ee9b-42a0-bdc6-f83f063ef4af</wfw:commentRss>
    </item>
    <item>
      <title>Xbox Live Gold Free Games for April</title>
      <description>&lt;p&gt;The Telltale game, &amp;ldquo;The Walking Dead Season 2&amp;rdquo; is one of April&amp;rsquo;s free games on Xbox Live.&amp;nbsp; This is a continuation of one of the main characters from &amp;ldquo;The Walking Dead Season 1&amp;rdquo;, Clementine.&amp;nbsp; The second game of the month is , &amp;ldquo;Ryse: Son of Rome&amp;rdquo; and is a third person action-adventure hack and slash type game which follows a Roman centurion Marius Titus.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.johnplant.net/image.axd?picture=walkingdead.jpg"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="walkingdead" src="http://blog.johnplant.net/image.axd?picture=walkingdead_thumb.jpg" alt="walkingdead" width="460" height="260" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;span style="font-weight: bold;"&gt;Description&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;The sequel to 2012's Game of the Year continues the story of Clementine, a young girl orphaned by the undead apocalypse. Left to fend for herself, she has been forced to learn how to survive in an unforgiving world. Experience what it&amp;rsquo;s like to play as Clementine, meet new survivors, explore new locations and make gruesome decisions in this five-part game series of choice and consequence.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.johnplant.net/image.axd?picture=rome.jpg"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="rome" src="http://blog.johnplant.net/image.axd?picture=rome_thumb.jpg" alt="rome" width="458" height="216" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Description &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Ryse: Son of Rome&amp;rdquo; tells the story of Marius Titus, a young Roman soldier who witnesses the murder of his family at the hands of barbarian bandits, then travels with the Roman army to Britannia to seek revenge.&lt;/p&gt;</description>
      <link>http://blog.johnplant.net/post/2017/04/27/Xbox-Live-Gold-Free-Games-for-April</link>
      <author>rplant@johnplant.net</author>
      <comments>http://blog.johnplant.net/post/2017/04/27/Xbox-Live-Gold-Free-Games-for-April#comment</comments>
      <guid>http://blog.johnplant.net/post.aspx?id=ea9e9e40-8d9e-491a-aa97-c9c41631c74f</guid>
      <pubDate>Thu, 27 Apr 2017 08:56:00 -0700</pubDate>
      <category>Xbox Live</category>
      <betag:tag>XBOX</betag:tag>
      <betag:tag>GAMES</betag:tag>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://blog.johnplant.net/pingback.axd</pingback:server>
      <pingback:target>http://blog.johnplant.net/post.aspx?id=ea9e9e40-8d9e-491a-aa97-c9c41631c74f</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.johnplant.net/trackback.axd?id=ea9e9e40-8d9e-491a-aa97-c9c41631c74f</trackback:ping>
      <wfw:comment>http://blog.johnplant.net/post/2017/04/27/Xbox-Live-Gold-Free-Games-for-April#comment</wfw:comment>
      <wfw:commentRss>http://blog.johnplant.net/syndication.axd?post=ea9e9e40-8d9e-491a-aa97-c9c41631c74f</wfw:commentRss>
    </item>
  </channel>
</rss>