<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7217346858214409138</id><updated>2024-08-30T01:16:47.273-07:00</updated><category term="C#"/><category term="RPi"/><category term="Raspberry Pi"/><category term="HDL"/><category term="Hardware Design"/><category term="C# 3.0"/><category term="C# Environment"/><category term="C# Keywords"/><category term="C# Visual Studio Express 2010"/><category term="Docker"/><category term="Google Container Engine"/><category term="IDE"/><category term="Media Centre"/><category term="Media Player"/><category term="OSMC"/><category term="Raspbmc"/><category term=".Net Assemblies"/><category term="64-bit"/><category term="Apache"/><category term="Console"/><category term="DLL"/><category term="Display Issues"/><category term="Dynamic DLL Custom Reference Path"/><category term="Error 550"/><category term="FPGA"/><category term="FTP Upload"/><category term="FTP Upload Access Denied"/><category term="Firewall FTP block"/><category term="GAC"/><category term="Hardware and Software"/><category term="Linux"/><category term="Microsoft Office 2010"/><category term="Office 2010"/><category term="Projects"/><category term="VHLC"/><category term="Verilog"/><category term="Virtual Box"/><category term="Virtualisation"/><category term="Windows 7"/><category term="Windows Task Scheduler"/><category term="gcloud"/><category term="value"/><category term="x64"/><category term="yield"/><category term="yield break"/><category term="yield return"/><title type='text'>My Tutorials</title><subtitle type='html'>A collection of tutorials to help with tasks that are not necessarily everyday occurrences. As much as this site is to help others, I find its a good place to be reminded of things I discovered for myself. Hope you find a solution to your problem.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-8690960017880619324</id><published>2018-11-09T05:55:00.000-08:00</published><updated>2018-11-09T05:55:02.845-08:00</updated><title type='text'>Fix ‘E: Could not get lock /var/lib/dpkg/lock’ Error in Ubuntu</title><content type='html'>sudo killall apt apt-get
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/8690960017880619324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2018/11/fix-e-could-not-get-lock-varlibdpkglock.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/8690960017880619324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/8690960017880619324'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2018/11/fix-e-could-not-get-lock-varlibdpkglock.html' title='Fix ‘E: Could not get lock /var/lib/dpkg/lock’ Error in Ubuntu'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-509695129424408188</id><published>2015-07-07T04:34:00.000-07:00</published><updated>2015-07-09T01:00:43.253-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><category scheme="http://www.blogger.com/atom/ns#" term="gcloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Container Engine"/><title type='text'>Setting up Docker on Google Container Engine</title><content type='html'>I am going to help guide and make sure that you have your environment and your settings all correct so that we can create a Docker Host on a Google Container Engine. If you do not know what a Docker Host is then you should do yourself a favour and go to the &lt;a href=&quot;https://www.docker.com/&quot; target=&quot;_blank&quot;&gt;Docker website&lt;/a&gt; and see how they are taking over the world!!! But seriously, have a look, it is a very impressive virtualisation (or containerisation??) tool!&lt;br /&gt;
&lt;h3&gt;
&lt;i&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Environment Setup&lt;/i&gt;&lt;/h3&gt;
This tutorial follows on from the &lt;a href=&quot;http://www.mytutorials.co.za/2015/07/setting-up-google-container-engine-on.html#more&quot; target=&quot;_blank&quot;&gt;Setting up Google Container Engine on Mac&lt;/a&gt;&amp;nbsp;and I will assume you have done everything in that post regarding getting your environment setup. Please make sure you have done everything as explained.&lt;br /&gt;
&lt;h3&gt;
Creating a Docker Host&lt;/h3&gt;
In this tutorial we are going to be creating the docker host instance from the command line. So follow the steps below to get your first docker host instance up and running:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Open up your terminal and make sure that the gcloud sdk is installed.&lt;/li&gt;
&lt;li&gt;Type the following command to link the sdk to the project where you will be creating the vm instance:&lt;br /&gt;
&lt;pre&gt;gcloud config set project &quot;google-cloud-project-id&quot;&lt;/pre&gt;
where &quot;google-cloud-project-id&quot; is the name of your project&lt;/li&gt;
&lt;li&gt;Run the following code to create the Docker host instance with the instance name &quot;docker-instance-01&quot;:&lt;br /&gt;
&lt;pre&gt;gcloud compute instances create &quot;docker-instance-01&quot; \
&amp;nbsp; --image &quot;container-vm&quot; \
&amp;nbsp; --zone &quot;us-central1-a&quot; \
&amp;nbsp; --machine-type &quot;f1-micro&quot;&lt;/pre&gt;
where &quot;docker-instance-01&quot; is the name of your instance container
&lt;/li&gt;
&lt;li&gt;Now that the instance is created, you can SSH into the machine using the following code:&lt;br /&gt;
&lt;pre&gt;gcloud compute ssh --zone &quot;us-central1-a&quot; &quot;docker-instance-01&quot;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;You should now have access to your first hosted docker host!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Docker &quot;Hello World&quot;&lt;/h3&gt;
You can run the docker hello-world container to verify that the instance is running the docker container software:&lt;br /&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Run the following command while SSH&#39;ed into the instance you just created:&lt;br /&gt;
&lt;pre&gt;sudo docker run hello-world&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;You should then see this message print on your screen:&lt;br /&gt;
&lt;pre&gt;Hello from Docker. This message shows that your installation appears to be working correctly.&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
You now have a fully hosted Docker instance running on your Google Container Engine!!! I will have more tutorials in the future with things that you can do inside of docker!&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/509695129424408188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2015/07/setting-up-docker-on-google-container.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/509695129424408188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/509695129424408188'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2015/07/setting-up-docker-on-google-container.html' title='Setting up Docker on Google Container Engine'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-7738061650164495330</id><published>2015-07-06T17:17:00.002-07:00</published><updated>2015-07-07T04:10:30.657-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Container Engine"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtualisation"/><title type='text'>Setting up Google Container Engine on Mac</title><content type='html'>I am currently in the process of experimenting with the cloud virtualisation technologies and for the sake of humanity (and my sanity) I will try document and explain the process so that anyone else (including future me) can easily navigate this massive task.&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Note: A lot of what I am compiling here will be snippets from all over the web, so please note there may be content which is copied, with the intention of one continuous post, rather then having to go searching multiple pages.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
&lt;i&gt;Setup your Google Container Engine Account&lt;/i&gt;&lt;/h3&gt;
&lt;div&gt;
The first part of this process is making sure you have activated the Google Container Engine API on your google developer account.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiLopegrcr3zDNKd0T993TSvcOWDEcoppX7xiIFqShexf-M0RFlHMM0Y3SMtOp121Hh33-1Xfqiy1v9ee5DSWFgfVeacyfVxW-lh6JMD1Ccg4H8ykaKEzPTBI0UyvvlaRLSWw4RBMvedM/s1600/Screen+Shot+2015-07-06+at+10.49.48+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiLopegrcr3zDNKd0T993TSvcOWDEcoppX7xiIFqShexf-M0RFlHMM0Y3SMtOp121Hh33-1Xfqiy1v9ee5DSWFgfVeacyfVxW-lh6JMD1Ccg4H8ykaKEzPTBI0UyvvlaRLSWw4RBMvedM/s200/Screen+Shot+2015-07-06+at+10.49.48+AM.png&quot; width=&quot;48&quot; /&gt;&lt;/a&gt;
&lt;li&gt;If you have a developer account, go to developer.google.com and sign in with your usual google user account. Once you have signed in you will need to create a new project, and once the project is created you can activate the container engine by clicking on the &quot;Compute&quot; option and then select &quot;Container Engine&quot; and select the &quot;Container Registry&quot; link. This will start the process of enabling the container engine api. It will ask you for your details and require your credit card details. I imagine this to be a means of making sure you don&#39;t just use the system for &quot;illegal&quot; purposes, seeing as you have a 60 day free trial period.&lt;/li&gt;
&lt;li&gt;If you don&#39;t have a developer account yet, go straight to the container engine page &lt;a href=&quot;https://cloud.google.com/container-engine/&quot;&gt;https://cloud.google.com/container-engine/&lt;/a&gt; and sign in and sign up and follow all the processes (similar to the step above) to get yourself signed in.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&lt;i&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Install the Google Cloud SDK&lt;/i&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
This process is getting your system setup for communicating with your google account api. You can install the Cloud API on a windows machine, but there are some tools that we are going to use that aren&#39;t supported on the windows platform, so you need to use Linux or Mac. I am sticking to a Mac oriented approach, but Im sure that most of the commands will work in Linux. (instructions and info can be found &lt;a href=&quot;https://cloud.google.com/sdk/#Quick_Start&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Open up a terminal.&lt;/li&gt;
&lt;li&gt;Install the gcloud application:&lt;br /&gt;&lt;pre&gt; curl https://sdk.cloud.google.com | bash &lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Restart the shell&lt;br /&gt;&lt;pre&gt;exec -l $SHELL&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Authenticate the installation with your google cloud platform account using:&lt;br /&gt; &lt;pre&gt;gcloud auth login&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;This will open up the browser and ask you to sign in with your google user name and password. Once this is complete, the gcloud app is authenticates and has access to your google account.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&lt;i&gt;Create Your Instance&lt;/i&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
Once you have finished configuring and installing your environment, you can proceed with creating your first instance. You can think of an instance as the equivalent to a virtual machine which we are going to configure as a docker host.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
After you set up your project and billing, go to the VM instances section in the Developers Console.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Click Create instance to see the available options for your new instance.&lt;/li&gt;
&lt;li&gt;Set the Name of your instance to my-first-instance.&lt;/li&gt;
&lt;li&gt;Under Boot disk, click Change and select a Debian boot disk image if it is not already specified by default. Compute Engine has several other operating systems for you to choose from, but use Debian for this example.&lt;/li&gt;
&lt;li&gt;Enable the Allow HTTP traffic option so that this instance can serve web content over http port 80.&lt;/li&gt;
&lt;li&gt;Click Create to create your instance. The page automatically refreshes after the instance starts.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw4-mlkfZlLja_FOg2PND1RagBng3-QjXwHe38RZNNfx_8-RRG-aL_woQTdr8nhPj3NW92drcQ1MGkwGlgwl4Gl9D3gBAf36rm09GQ8mmvd7LYsebesiCXZuDfehd7Gi9haP8z5MVsk6s/s1600/developer-console-start-virtual-machine.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw4-mlkfZlLja_FOg2PND1RagBng3-QjXwHe38RZNNfx_8-RRG-aL_woQTdr8nhPj3NW92drcQ1MGkwGlgwl4Gl9D3gBAf36rm09GQ8mmvd7LYsebesiCXZuDfehd7Gi9haP8z5MVsk6s/s400/developer-console-start-virtual-machine.png&quot; width=&quot;331&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
After the instance starts up, it is listed on the VM instances page with a green status icon.&lt;br /&gt;
&lt;h3&gt;
&lt;i&gt;Connecting to your Instance&lt;/i&gt;&lt;/h3&gt;
&lt;div&gt;
Its now time to connect to the instance you just created.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Go to the VM instances page in the Google Developers Console.&lt;/li&gt;
&lt;li&gt;Click the name of your virtual machine. In this case, my-first-instance.&lt;/li&gt;
&lt;li&gt;On the top of the instance’s page, click SSH. A terminal opens in a new browser window and automatically connects to your instance.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg43bQbkIvFtzBVQMfqPw9mqMvhjC-YV6qGKWWwdC8xlR_UKLTPtJ1ZvSvWYJWBcvSNnIsukT-BQ97hyJwGXzp7uCkGjMY20xb_f6V9cqm7QhfQ1B94i3Si1eCxnj-sHmE5v91PMYo1dk/s1600/developer-console-ssh.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg43bQbkIvFtzBVQMfqPw9mqMvhjC-YV6qGKWWwdC8xlR_UKLTPtJ1ZvSvWYJWBcvSNnIsukT-BQ97hyJwGXzp7uCkGjMY20xb_f6V9cqm7QhfQ1B94i3Si1eCxnj-sHmE5v91PMYo1dk/s1600/developer-console-ssh.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;clear: both;&quot;&gt;
&lt;i&gt;Install Apache HTTP Server&lt;/i&gt;&lt;/h3&gt;
&lt;div&gt;
Now that you have an instance, you will probably want to get it to do something. Here is the process of installing an Apache server onto the instance so that you can serve webpages.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
From the terminal window, you can control the instance like any standard Linux server. Install the apache2 package and host a web page. Instead of using the terminal window from your browser, lets setup the terminal on your pc to link to your instance:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Open up the terminal and type the following command:&lt;br /&gt;
&lt;pre&gt;gcloud config set project &quot;google-cloud-project-id&quot;
&lt;/pre&gt;
This makes sure that the gcloud sdk is always configured for your project. This is not important if you have multiple projects.
&lt;/li&gt;
&lt;li&gt;Connect to the instance you just created:&lt;br /&gt;
&lt;pre&gt;gcloud compute ssh --zone &quot;us-central1-f&quot; &quot;my-first-instance&quot;&lt;/pre&gt;
or if you want to specify which project your instance is in&lt;pre&gt;gcloud compute --project &quot;google-cloud-project-id&quot; ssh --zone &quot;us-central1-f&quot; &quot;my-first-instance&quot;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Install Apache HTTP Server with the following command:&lt;br /&gt;&lt;pre&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install apache2&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Create a new home page. The Apache web server has a default web page that we can overwrite with the following command:&lt;br /&gt;
&lt;pre&gt;echo &#39;&amp;lt;!doctype html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#39; | sudo tee /var/www/index.html&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Test that your instance is serving traffic on its external IP. Go to the VM instances page in the Google Developers Console. Click the external IP for my-first-instance under the EXTERNAL IP column. Your browser automatically opens to the IP in a new window. If your webserver is working, the web page prints Hello World!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&lt;i&gt;Delete the instance&lt;/i&gt;&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
When you are finished using your instance, you can delete it and the associated root persistent disk. Deleting an instance stops the virtual machine and removes it from the project.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
To delete a virtual machine instance:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Go to the VM instances page in the Google Developers Console.&lt;/li&gt;
&lt;li&gt;Click the name of a virtual machine. In this case, my-first-instance.&lt;/li&gt;
&lt;li&gt;On the top of the instance’s page, click Delete.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&lt;i&gt;Next steps&lt;/i&gt;&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
After you are comfortable using the Google Developers Console to manage instances, see Instances to learn how to manage instances with the gcloud command line tool and the API.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
For more information about Linux instances, see &lt;a href=&quot;https://cloud.google.com/compute/docs/operating-systems/linux-os&quot; target=&quot;_blank&quot;&gt;Linux Operating Systems&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/7738061650164495330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2015/07/setting-up-google-container-engine-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/7738061650164495330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/7738061650164495330'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2015/07/setting-up-google-container-engine-on.html' title='Setting up Google Container Engine on Mac'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiLopegrcr3zDNKd0T993TSvcOWDEcoppX7xiIFqShexf-M0RFlHMM0Y3SMtOp121Hh33-1Xfqiy1v9ee5DSWFgfVeacyfVxW-lh6JMD1Ccg4H8ykaKEzPTBI0UyvvlaRLSWw4RBMvedM/s72-c/Screen+Shot+2015-07-06+at+10.49.48+AM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-4989410659706266072</id><published>2014-09-15T06:34:00.002-07:00</published><updated>2015-07-06T16:11:47.591-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Media Centre"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Player"/><category scheme="http://www.blogger.com/atom/ns#" term="OSMC"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspbmc"/><category scheme="http://www.blogger.com/atom/ns#" term="RPi"/><title type='text'>Setting up Raspbmc on the Raspberry Pi - soon to be OSMC - using Windows 8</title><content type='html'>The Raspbmc image for the Raspberry Pi is a port of the Media Center software &lt;a href=&quot;http://kodi.tv/&quot; target=&quot;_blank&quot;&gt;XBMC&lt;/a&gt;. It is a beautiful media center interface and since the final port has been completed is an absolute pleasure to use on the Raspberry Pi hardware. It makes the RPi a very affordable Media PC.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
XBMC has been renamed to Kodi and subsequently the Raspbmc port will also be renamed to OSMC. To view the latest tutorial on how to install OSMC on the Raspberry Pi click &lt;a href=&quot;http://www.mytutorials.co.za/2014/09/setting-up-osmc-on-raspberry-pi.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/blockquote&gt;
&lt;h3&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h3&gt;
What you need&lt;/h3&gt;
For this project you will need the following components:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Raspberry Pi (B or B+)&lt;/li&gt;
&lt;li&gt;8Gb class 10 SD card (should work on 4Gb, but rather use 8Gb or more)&lt;/li&gt;
&lt;li&gt;Micro USB power adapter ( I used to plug a USB cable into the TV and power the device from my TV, but this causes the device to have to boot whenever I switch the TV on which takes some time)&lt;/li&gt;
&lt;li&gt;HDMI cable&lt;/li&gt;
&lt;li&gt;WiFi dongle or Ethernet cable (optional but recommended)&lt;/li&gt;
&lt;li&gt;Input device (i.e. keyboard, although some TV&#39;s support&amp;nbsp;&lt;a href=&quot;http://en.wikipedia.org/wiki/HDMI#CEC&quot; target=&quot;_blank&quot;&gt;CEC &lt;/a&gt;and allow you to control the device with your TV&#39;s remote)&lt;/li&gt;
&lt;li&gt;USB hub (this is to provide power to your storage devices)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
You will find the instructions and the latest distro &lt;a href=&quot;http://www.raspbmc.com/download/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;i&gt;For the sake of those that don&#39;t want to be confused by multiple options to choose from, here is the procedure I follow using a laptop with Windows 8 64-bit.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;&lt;i&gt;&lt;/i&gt;


&lt;h3&gt;
Download the image&lt;/h3&gt;
The first things to do is &lt;a href=&quot;http://download.raspbmc.com/downloads/bin/filesystem/prebuilt/raspbmc-final.img.gz&quot; target=&quot;_blank&quot;&gt;download the Raspbmc image&lt;/a&gt;. This link will download the standalone install which we need to write to the SD card we have waiting for this project. You will need to &lt;a href=&quot;http://www.7-zip.org/download.html&quot; target=&quot;_blank&quot;&gt;download and install 7zip&lt;/a&gt; to unzip this image file. &lt;a href=&quot;http://downloads.sourceforge.net/sevenzip/7z920-x64.msi&quot; target=&quot;_blank&quot;&gt;I downloaded this version of 7zip&lt;/a&gt; which works on Windows 8 64-bit.&lt;br /&gt;
Once 7zip is installed you an right click on the downloaded Raspbmc image file and select the 7zip option and unzip the package.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Write the image to the SD card&lt;/h3&gt;
To write the image to the SD card we need to download some software called&amp;nbsp;Win32DiskImager. &lt;a href=&quot;http://sourceforge.net/projects/win32diskimager/&quot; target=&quot;_blank&quot;&gt;The download can be found here.&lt;/a&gt;&lt;br /&gt;
Once you have installed the Win32DiskImager it is time to start writing the image to the SD card. This process can take some time (mine took about 5-10 min) so be patient and make some coffee (or tea).&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijPcxL04wYUhmFhRB4De-8WHAgCqRM1dRzGw6ccd7td1EqmJlRVqeqm5YopcC5IvRxcGelYjl3LWUido1Da0a4E4Ol-dXWHKYmUXBU_6T2U9dX_3nwH1m0f2rvt-CdCPKupfeW86FIYaY/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;205&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijPcxL04wYUhmFhRB4De-8WHAgCqRM1dRzGw6ccd7td1EqmJlRVqeqm5YopcC5IvRxcGelYjl3LWUido1Da0a4E4Ol-dXWHKYmUXBU_6T2U9dX_3nwH1m0f2rvt-CdCPKupfeW86FIYaY/s1600/Capture.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Clicking on the &quot;blue folder&quot; allows you to select the image you want to write, so browse to the location of the image you just unzipped with 7zip. Once you have connected the SD card it will show up in the device menu. Make sure you don&#39;t accidentally select a flash drive or another SD card as this completely removes all the data that was on the device.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
When you have made sure that you have the correct image and the correct device selected you can click on the &quot;Write&quot; button. This will ask if you are sure, click yes and wait for the process to complete. There will be a popup box once the process completes.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;clear: both; text-align: left;&quot;&gt;
Setting up the Raspbmc Image&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Once the image has been written to the SD card, you can now plug it into the Raspberry Pi (with all the valid cables connected) and then power the device.&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/4989410659706266072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2014/09/setting-up-raspbmc-on-raspberry-pi-soon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4989410659706266072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4989410659706266072'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2014/09/setting-up-raspbmc-on-raspberry-pi-soon.html' title='Setting up Raspbmc on the Raspberry Pi - soon to be OSMC - using Windows 8'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijPcxL04wYUhmFhRB4De-8WHAgCqRM1dRzGw6ccd7td1EqmJlRVqeqm5YopcC5IvRxcGelYjl3LWUido1Da0a4E4Ol-dXWHKYmUXBU_6T2U9dX_3nwH1m0f2rvt-CdCPKupfeW86FIYaY/s72-c/Capture.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-8428149336233128999</id><published>2014-09-15T05:53:00.000-07:00</published><updated>2015-07-06T16:12:26.307-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Projects"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="RPi"/><title type='text'>What can I do with a Raspberry Pi?</title><content type='html'>Regardless of whether you have bought yourself a Raspberry Pi or are still deciding to (just do it!!), you will inevitably get to the point where you ask what you can actually do with it? I have played around with them for a while now and found numerous tasks for my Raspberry Pi&#39;s which I have become rather reliant on. Here is a list of links and descriptions to projects that I have worked on and plan to work on:&lt;br /&gt;
&lt;h3&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h3&gt;
Media&lt;/h3&gt;
With the Raspberry Pi&#39;s HDMI interface and 1080p capabilities it is the perfect media player. I have multiple Raspberry Pi&#39;s all over my house for streaming music to streaming video.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mytutorials.co.za/2014/09/setting-up-raspbmc-on-raspberry-pi-soon.html&quot; target=&quot;_blank&quot;&gt;Setting up Raspbmc on the Raspberry Pi - XBMC port&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mytutorials.co.za/2014/09/setting-up-osmc-on-raspberry-pi.html&quot; target=&quot;_blank&quot;&gt;Setting up OSMC on the Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mytutorials.co.za/2014/09/setting-up-plex-client-on-raspberry-pi.html&quot; target=&quot;_blank&quot;&gt;Setting up a PLEX client on the Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mytutorials.co.za/2014/09/creating-airplay-device-on-raspberry-pi.html&quot; target=&quot;_blank&quot;&gt;Create an Airplay device on the Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Gaming&lt;/h3&gt;
Retro game emulators are an amazing way to relive the &quot;good ol&#39; days&quot;. The Raspberry Pi is more than capable of running any of the old 8-bit games and these projects are a must!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Web&lt;/h3&gt;
Not necessarily the greatest web server for handling massive amount of traffic, it is still possible to host some static html pages that expose things like CV&#39;s and things of such nature.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Home Automation&lt;/h3&gt;
This is an area of the Raspberry Pi where I am still busy trying to get myself focused so I can automated some of the stuff at home.</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/8428149336233128999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2014/09/what-can-i-do-with-raspberry-pi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/8428149336233128999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/8428149336233128999'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2014/09/what-can-i-do-with-raspberry-pi.html' title='What can I do with a Raspberry Pi?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-1574493639653717569</id><published>2014-09-15T05:50:00.002-07:00</published><updated>2014-09-15T05:59:30.955-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Media Centre"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Player"/><category scheme="http://www.blogger.com/atom/ns#" term="OSMC"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspbmc"/><category scheme="http://www.blogger.com/atom/ns#" term="RPi"/><title type='text'>Setting up OSMC on the Raspberry Pi - previously Raspbmc</title><content type='html'>I will complete this as soon as the OSMC image is released. Please see the post on &lt;a href=&quot;http://www.mytutorials.co.za/2014/09/setting-up-raspbmc-on-raspberry-pi-soon.html&quot; target=&quot;_blank&quot;&gt;how to setup Raspbmc&lt;/a&gt; if you are looking for the previous version.&lt;br /&gt;
&lt;br /&gt;
Go to the official site to see the progress and get the info straight from the source &lt;a href=&quot;http://www.raspbmc.com/&quot; target=&quot;_blank&quot;&gt;http://www.raspbmc.com/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/1574493639653717569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2014/09/setting-up-osmc-on-raspberry-pi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/1574493639653717569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/1574493639653717569'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2014/09/setting-up-osmc-on-raspberry-pi.html' title='Setting up OSMC on the Raspberry Pi - previously Raspbmc'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-2195386661743772135</id><published>2014-09-15T05:10:00.003-07:00</published><updated>2015-07-06T16:14:49.049-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hardware and Software"/><category scheme="http://www.blogger.com/atom/ns#" term="Raspberry Pi"/><category scheme="http://www.blogger.com/atom/ns#" term="RPi"/><title type='text'>What is a Raspberry Pi and why should I care?</title><content type='html'>&lt;br /&gt;
The Raspberry Pi (also called RPi for short) is an awesome piece of hardware that really brings the world of computers and programming and custom hardware projects into the hands of people without massive research and development labs and/or endless amounts of money to play with technology.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to play around with ideas and try exploit hardware and software but I have never been in a position to play around because the hardware I have had has been necessary for actually doing work and/or not really been in a position to work directly on my motherboards to see what I can or can&#39;t do.&lt;br /&gt;
&lt;br /&gt;
So to cut a long story short having a RPi opens up so many possibilities. I have multiple projects which I have done with my RPi&#39;s (which I hope to find time to share) and I&#39;m constantly thinking of new things based on the exposure to the world of hardware solutions.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuUxL13H3I2YRqK-oWD8i-Yg-lp8P6jEBN04nwRl8oyMWb4LZ7OiKwszHqpfpFAnifW6odpnkIPjZ38HlNCjuYIGCTuoaUv6pjHLV4Yz-t5x8fLtHUSdsr1Sd7_YCG34s6yXfPohmZ4Bk/s1600/RaspiModelB_photo.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;425&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuUxL13H3I2YRqK-oWD8i-Yg-lp8P6jEBN04nwRl8oyMWb4LZ7OiKwszHqpfpFAnifW6odpnkIPjZ38HlNCjuYIGCTuoaUv6pjHLV4Yz-t5x8fLtHUSdsr1Sd7_YCG34s6yXfPohmZ4Bk/s1600/RaspiModelB_photo.jpeg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;
But my PC is a Quad-core i7 and a Raspberry Pi only has a 700Mhz single core processor? Isn&#39;t that useless?&lt;/h3&gt;
I have seen a lot of people complaining about how &quot;this is 2014, how can it be so slow?&quot;, and while it is a valid concern when it comes to things like your laptop for work or your gaming PC, for the Raspberry Pi its PERFECT! Here is why:&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Computing power isn&#39;t everything you&#39;ve been told it is...&lt;/h3&gt;
Let me try explain the lies we&#39;ve been fed. For today&#39;s power hungry Operating Systems (OS&#39;s) like Windows 8 and Mavericks, etc. we have the requirement for hardware that is truly groundbreaking (and therefore expensive and powerful). Our OS&#39;s today really do an amazing amount of things and require powerful CPU&#39;s for all the games and applications that we as users want to use and the quicker they respond to our requests, the better the performance perception. So a bigger and faster CPU (like a quad core i7) is able to respond to the users request very quickly and make the users experience pleasant. So bigger is better when the user is waiting for a response, but that&#39;s not the only place people need a machine to do something for them.&lt;br /&gt;
&lt;br /&gt;
Think about a task that you could execute on a daily schedule and you don&#39;t really care if it take 10 nano seconds or 1 minute to execute because you wont be watching or waiting. This is where the RPi comes into its own. You are able to setup services which will execute in the background and perform automated tasks without any input from you. And this is where the sky is the limit. The possibilities are only limited by how far you want to push the RPi. &lt;a href=&quot;http://www.mytutorials.co.za/2014/09/what-can-i-do-with-raspberry-pi.html&quot; target=&quot;_blank&quot;&gt;Here is a list of my personal projects as well as some of the most amazing options on the web.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Its cheap...&lt;/h3&gt;
I think this speaks for itself. In today&#39;s economy it is always nice to find a little relief when it comes to our pockets. This device allows a person to experiment with a piece of hardware that hasn&#39;t cost an arm and a leg only ($25 excl SD card and power supply). No one wants to risk damaging an expensive device due to &quot;curiosity&quot; and so the RPi gives the curious at heart a device to play and potentially damage without the fear of an expensive loss.&lt;br /&gt;
&lt;br /&gt;
I don&#39;t think I would be the engineer I am today if I wasn&#39;t able to &quot;fix&quot; all the toys which had some form of electronics (which stopped working after I fixed them) and all my fathers Betamax machines which had the nicest motors and ended up in the nicest beatings of my life because I destroyed a relic, but sadly nowadays we don&#39;t get to experience the joy of learning from destroying. The deconstruction of a device truly is one of the best ways to learn how it works and the RPi gives us back the ability to learn by possibly destroying.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
It&#39;s low powered...&lt;/h3&gt;
The average PC power consumption is around 80 - 250 watts (not including high performance systems that can get to 1000 watts) and a Raspberry Pi is only 2-5 watts! This is a massive power reduction and allows you to leave the RPi on FOREVER!!! As overly dramatic as that may sound it is quite an amazing device to only require such a small amount of energy and the newer B+ model has even better performance.&lt;br /&gt;
&lt;br /&gt;
Adding a battery to the project makes the project completely mobile and adds even more possibilities, some of which would be impossible with a full PC.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Its basically a tortoise, but we know the tortoise won at the end...&lt;/h3&gt;
Ok so if you don&#39;t understand my reference to a tortoise winning you might want to read this, but basically its where the saying &quot;slow and steady wins the race&quot; comes from. I&#39;m not trying to say that the RPi is the best and only thing you will ever need, but there are some repetitive tasks and low powered projects you can try where the RPi will be the best option.&lt;br /&gt;
&lt;br /&gt;
If you are looking for an easy introduction into the world of hardware and software you wont find and easier, more cost effective way to start learning what is required.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/2195386661743772135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2014/09/what-is-raspberry-pi-and-why-should-i.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/2195386661743772135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/2195386661743772135'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2014/09/what-is-raspberry-pi-and-why-should-i.html' title='What is a Raspberry Pi and why should I care?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuUxL13H3I2YRqK-oWD8i-Yg-lp8P6jEBN04nwRl8oyMWb4LZ7OiKwszHqpfpFAnifW6odpnkIPjZ38HlNCjuYIGCTuoaUv6pjHLV4Yz-t5x8fLtHUSdsr1Sd7_YCG34s6yXfPohmZ4Bk/s72-c/RaspiModelB_photo.jpeg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-4006312785019006841</id><published>2013-02-11T03:06:00.000-08:00</published><updated>2015-07-06T16:13:57.865-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="64-bit"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtual Box"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 7"/><category scheme="http://www.blogger.com/atom/ns#" term="x64"/><title type='text'>Windows 7 x64 fails to install on Virtual Box</title><content type='html'>I was recently installing a 64-bit version of Windows 7 to do some testing and the Virtual Box image would fail with an error after 10 seconds of booting from the install&amp;nbsp;CD.&amp;nbsp;The error as seen in the image below had the following details:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Status: 0xc0000225&lt;/li&gt;
&lt;li&gt;Info: An unexpected error has occurred.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo5AUZWxg0NpqdE6q0W7xvWa_zaYqchrqCLOFv53zeKDvCzl0wXYkeG-ZYnVRCfOcjyRXoh6iBtSU2ty8n8er7kAusc6sVjSXbBZFfNR30FD0v-SJkM1OOhGGZ-lUeIEoB5hV0-uSAqHM/s1600/Capture+01.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo5AUZWxg0NpqdE6q0W7xvWa_zaYqchrqCLOFv53zeKDvCzl0wXYkeG-ZYnVRCfOcjyRXoh6iBtSU2ty8n8er7kAusc6sVjSXbBZFfNR30FD0v-SJkM1OOhGGZ-lUeIEoB5hV0-uSAqHM/s400/Capture+01.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Every time I pushed enter it would just return to this same error page. It turns out to use the 64-bit version of Windows 7 you have to enable the &quot;IO APIC&quot; option in the Systems settings menu.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKdxlq7O0OXWtB1UGUNGoyMGGBU_FsOMTYfq8FiSXP7nyGDDJRTUh44ONDHxoez3A7GZ72k_cdKHY6E0sj5dmEdf7ikQB9iEnHCVZ3R3Zn_a1D51OFfy1oluL26Dd4imgQ358EOIOedSs/s1600/Capture+2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKdxlq7O0OXWtB1UGUNGoyMGGBU_FsOMTYfq8FiSXP7nyGDDJRTUh44ONDHxoez3A7GZ72k_cdKHY6E0sj5dmEdf7ikQB9iEnHCVZ3R3Zn_a1D51OFfy1oluL26Dd4imgQ358EOIOedSs/s400/Capture+2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Once you select this option, attempt the installation again and you should be allowed to successfully install your OS and have a 64-bit virtual machine. I have not tested this with other OS&#39;s but I would guess this needs to be done for all 64-bit operating systems.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/4006312785019006841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2013/02/windows-7-x64-fails-to-install-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4006312785019006841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4006312785019006841'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2013/02/windows-7-x64-fails-to-install-on.html' title='Windows 7 x64 fails to install on Virtual Box'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo5AUZWxg0NpqdE6q0W7xvWa_zaYqchrqCLOFv53zeKDvCzl0wXYkeG-ZYnVRCfOcjyRXoh6iBtSU2ty8n8er7kAusc6sVjSXbBZFfNR30FD0v-SJkM1OOhGGZ-lUeIEoB5hV0-uSAqHM/s72-c/Capture+01.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-299087924810430246</id><published>2013-01-18T05:57:00.000-08:00</published><updated>2013-01-18T05:57:49.328-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Error 550"/><category scheme="http://www.blogger.com/atom/ns#" term="Firewall FTP block"/><category scheme="http://www.blogger.com/atom/ns#" term="FTP Upload"/><category scheme="http://www.blogger.com/atom/ns#" term="FTP Upload Access Denied"/><title type='text'>FTP Upload Access denied Error 550</title><content type='html'>So I create a service that uploads files from our server to one of our clients ftp servers. It is a simple process of checking a folder for any files, if there are files, upload them and then move them to a processed folder.&lt;br /&gt;
&lt;br /&gt;
Now the application ran like a machine on my development PC, so I was confident it would work on our server! But alas... it didn&#39;t! All it kept shouting at me, as if to mock my lack of ability, was&amp;nbsp;FTP Upload Access denied Error 550.. no such file...&lt;br /&gt;
&lt;br /&gt;
With my ego deflated and questioning my ability to write code that just worked, I verified that the clients server I was uploading to in fact was allowing access, I resorted to digging in my work server to find out what stupid setting was causing me to question my career choice...&lt;br /&gt;
&lt;br /&gt;
Finally I found yet again some obscure setting in my firewall that was blocking ftp connections from connecting to my server. Seems my server was the tease in this instance, asking for a connection from my clients server, and when it responded, dying it access... (some hidden life lessons on relationships there me thinks...)&lt;br /&gt;
&lt;br /&gt;
So if you are developing an app that is requiring ftp access, and it works on your desktop environment but not a production server that has been locked down beyond belief, try checking your firewall settings. Chances are there is some obscure setting, enabled by default, thereby disabling ftp uploads to your server.</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/299087924810430246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2013/01/ftp-upload-access-denied-error-550.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/299087924810430246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/299087924810430246'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2013/01/ftp-upload-access-denied-error-550.html' title='FTP Upload Access denied Error 550'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-7534081188861495090</id><published>2013-01-18T05:33:00.000-08:00</published><updated>2015-07-06T16:15:38.392-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Console"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Task Scheduler"/><title type='text'>Windows Task Scheduler not running executable correctly</title><content type='html'>I recently had an encounter with the&amp;nbsp;Windows Task Scheduler where it was not running my executable correctly, yet it was saying the task completed successfully.&lt;br /&gt;
&lt;br /&gt;
Now the Windows Task Scheduler&amp;nbsp;has been a source of incredible automation power. It allows me to quickly create tasks that I can run on my server or desktop ranging from database processing apps that help&amp;nbsp;optimize&amp;nbsp;searches to simple file ftp uploading services.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
Problem&lt;/h3&gt;
My last attempt at a &quot;automated process&quot; was the source of my recent&amp;nbsp;caffeine crash... The application file (.exe) was stored in a directly where it was expecting to find the files it was responsible for uploading to the remote ftp server. If there were any files, those files get uploaded and moved to a processed folder. Now for the life of me I could not get the application working. If I manually double-clicked on the application file it worked, but if I tried from the Task Scheduler, nothing!!&lt;br /&gt;
&lt;br /&gt;
The solution has to do with a simple location mix up... It seems like the Task Scheduler framework takes the application and creates a unique user copy stored in some obscure place that no human can find, which means that for applications that don&#39;t have a specific location requirement, everything works fine. BUT should your application reference directory structures based on where it is stored, you are going to find a problem...&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Solution&lt;/h3&gt;
&lt;div&gt;
The solution is as simple as adding the directory where you want the application file to run from in the &quot;Start in&quot; text box. A note about the location is that it must NOT contain any quotation marks (i.e. &quot;&quot;). Below I have added a screen shot of the place to add the start location.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc2fnwMKnna84hRPno7u4AahODFNdK90C5NBp3g6x5KKtkBKmAoi1gmHltNr4Nyb0vkXo2hF6yznOyNHZ4DYUduDzpjXg0-dPUswT5JYGfqAhEsb1oEnDJVbli4liFGpDMC3vPVOcr0iI/s1600/solution.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc2fnwMKnna84hRPno7u4AahODFNdK90C5NBp3g6x5KKtkBKmAoi1gmHltNr4Nyb0vkXo2hF6yznOyNHZ4DYUduDzpjXg0-dPUswT5JYGfqAhEsb1oEnDJVbli4liFGpDMC3vPVOcr0iI/s1600/solution.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And that should get your application running from the right start location so that it has all the correct directory references.&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/7534081188861495090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2013/01/windows-task-scheduler-not-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/7534081188861495090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/7534081188861495090'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2013/01/windows-task-scheduler-not-running.html' title='Windows Task Scheduler not running executable correctly'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc2fnwMKnna84hRPno7u4AahODFNdK90C5NBp3g6x5KKtkBKmAoi1gmHltNr4Nyb0vkXo2hF6yznOyNHZ4DYUduDzpjXg0-dPUswT5JYGfqAhEsb1oEnDJVbli4liFGpDMC3vPVOcr0iI/s72-c/solution.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-4763740791354293934</id><published>2012-11-27T07:00:00.001-08:00</published><updated>2012-11-27T07:00:54.282-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Display Issues"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Office 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="Office 2010"/><title type='text'>Microsoft Office 2010 is running but wont display</title><content type='html'>After hours of trying to get my instance of Outlook to just show itself I finally found a solution I did not believe could be the answer, based on its simplicity, but yet it worked! Some how its seems to have found a screen size or setting that made it invisible.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;First Attempt&lt;/b&gt;&amp;nbsp;&lt;/h3&gt;
The first thing I tried gave me a nice command that I will try remember if anything else ever goes wrong with my Outlook... Type in the Start Menu Search Bar &quot;outlook.exe /safe&quot;. This launches Outlook in safemode and helps with add-ins that have gone mad. This did not help me with my problem, but its a nice command to know.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1: &lt;/b&gt;Push the windows key, or click on the windows icon in the bottom left.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGood4U980lsSnXHbRPiLKikWSvtHAJFjXo-Kf2jnJ4NaGQpahfCaAmEFDdARldisqRUx2XnnX4Aj78bKGSZFSjxh5kQhWfG2RhRY8mXBIXcAQDfHYOv7aCgMs1Au9L0KqPNdUD2tdPlg/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGood4U980lsSnXHbRPiLKikWSvtHAJFjXo-Kf2jnJ4NaGQpahfCaAmEFDdARldisqRUx2XnnX4Aj78bKGSZFSjxh5kQhWfG2RhRY8mXBIXcAQDfHYOv7aCgMs1Au9L0KqPNdUD2tdPlg/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&amp;nbsp;&lt;b&gt;Step 2:&lt;/b&gt; Type &quot;outlook.exe /safe&quot; and push enter.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJu0oN-YzNBM98SEpmWcnyyZeTOhvnN6nNdBoT27BN4Hs-g-FJzrRSoIL_RO6TDuQ6rex9huJao01ZR0sDvZhxFyBcWr9I1TmFzlgXyclt7OxxuB1JHRUiHPJkTzPCxq6dqB4V7BOYP7U/s1600/Capture1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJu0oN-YzNBM98SEpmWcnyyZeTOhvnN6nNdBoT27BN4Hs-g-FJzrRSoIL_RO6TDuQ6rex9huJao01ZR0sDvZhxFyBcWr9I1TmFzlgXyclt7OxxuB1JHRUiHPJkTzPCxq6dqB4V7BOYP7U/s1600/Capture1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Second Attempt&lt;/b&gt;&lt;/h3&gt;
The second attempt saw me disabling all non-Microsoft&amp;nbsp;start-up services and programs. Again a nice trick to know if you ever want to disable annoying tasks that have installed them self and now forever run whenever your PC boots.&lt;br /&gt;
This method was called the clean-boot method and really made my PC start faster, but did not solve my original problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;Test in Clean boot Mode&lt;/b&gt;&lt;/h4&gt;
Let’s disable all startup items and third party services when booting. This method will help us determine if this issue is caused by a loading program or service. Please perform the following steps:&lt;br /&gt;
&lt;br /&gt;
1. Click the Start Button type &quot;msconfig&quot; (without quotation marks) in the Start Search box, and then press Enter.&lt;br /&gt;
Note: If prompted, please click Continue on the User Account Control (UAC) window.&lt;br /&gt;
&lt;br /&gt;
2. &amp;nbsp;Click the &quot;Services&quot; tab, check the &quot;Hide All Microsoft Services&quot; box and click &quot;Disable All&quot; (if it is not gray).&lt;br /&gt;
3. Click the &quot;Startup&quot; tab, click &quot;Disable All&quot; and click &quot;OK&quot;.&lt;br /&gt;
&lt;br /&gt;
Then, restart the computer. When the &quot;System Configuration Utility&quot; window appears, please check the &quot;Don&#39;t show this message or launch the System Configuration Utility when Windows starts&quot; box and click OK.&lt;br /&gt;
&lt;br /&gt;
Note: Temporarily disabling the Startup Group only prevents the startup programs from loading at startup. This should not affect the system or other programs. We may still manually run these programs later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
How to return from the Clean Boot state&amp;nbsp;&lt;/h4&gt;
&lt;br /&gt;
After the troubleshooting, we can return from the clean boot state:&lt;br /&gt;
&lt;br /&gt;
1. Click the Start Button type &quot;msconfig&quot; (without quotation marks) in the Start Search box, and then press Enter.&lt;br /&gt;
Note: If prompted, please click Continue on the User Account Control (UAC) window.&lt;br /&gt;
2. On the &quot;General&quot; tab, click &quot;Normal Startup - load all device drivers and services&quot;.&lt;br /&gt;
3. Click OK. Click Restart when you are prompted to restart your computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;Final Attempt&lt;/b&gt;&lt;/h3&gt;
My final attempt led me to this post on youtube. I read it and watched it and even though the poster said dont laugh at the discription of the solution, I found myself almost overlooking the solution because of its simplicity.&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=CdFtBIp80FM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is the description of what to as described on YouTube.&lt;br /&gt;
&lt;br /&gt;
1. Right click on the Shortcut you use to launch Outlook 2010 and choose Properties.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeOF09fbABXKHBhL8GuDMyhjv4rrU2PGhmo6E9d3L9NpWCoeqFc7BbIJhj9fDnApNnOxpiXNefIUouDMmebHbWWPSyl8fI686ZpKPEX_Smxiwa0QLSokdrKpyQOPgIA4rxcX6E2Dgues0/s1600/Capture2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeOF09fbABXKHBhL8GuDMyhjv4rrU2PGhmo6E9d3L9NpWCoeqFc7BbIJhj9fDnApNnOxpiXNefIUouDMmebHbWWPSyl8fI686ZpKPEX_Smxiwa0QLSokdrKpyQOPgIA4rxcX6E2Dgues0/s1600/Capture2.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
2. On the Shortcut tab next to Run, change it from Normal window, to Maximized.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZRRb1YKuLHtbXsBksD0LfPjbYfzY637SXxGs_7dlkctGzfS48qm_4HEyI9lBNi0ENYfFNlouyW60y-DK5hagStgUJyKH0mggaLfso0SGBbvJ4qH8QiwCba-S20x_161g0wY1bP9aO3sk/s1600/Capture5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZRRb1YKuLHtbXsBksD0LfPjbYfzY637SXxGs_7dlkctGzfS48qm_4HEyI9lBNi0ENYfFNlouyW60y-DK5hagStgUJyKH0mggaLfso0SGBbvJ4qH8QiwCba-S20x_161g0wY1bP9aO3sk/s1600/Capture5.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
3. Click OK.&lt;br /&gt;
4. Launch Outlook normally using the shortcut you just edited. (If you edited the Start menu shortcut use ONLY it)&lt;br /&gt;
In my case Outlook launched fine, but maximized. Clicking the Restore button would send it irretrievably back to the Taskbar forcing me to force close.&lt;br /&gt;
5. With Outlook open and Maximized, right click in the Taskbar and choose Cascade Windows. And that is what solves the issue!&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDE56SXiSGL9z-8jFodoY9j3Yv_ait1HCUDRPr05O6TdtC0vBV18tHNTWSi0il__R-hZx21OxH2Ai5WqujJYBLZ5yOZOaRTelKQgGE1bYY9OvvBzI0TGtJi45GjO_bA9cWsL_jt4jjjho/s1600/Capture6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;245&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDE56SXiSGL9z-8jFodoY9j3Yv_ait1HCUDRPr05O6TdtC0vBV18tHNTWSi0il__R-hZx21OxH2Ai5WqujJYBLZ5yOZOaRTelKQgGE1bYY9OvvBzI0TGtJi45GjO_bA9cWsL_jt4jjjho/s320/Capture6.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Now I can minimize, restore, maximize, restore all day long without trouble.&lt;br /&gt;
6. Final step is to right click on the previously edited Shortcut and change Run back to &quot;Normal window&quot;.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1X1aJEPDxzBsI3KuLrxhwxz4vUFb05d0UKBailwsk7jopWy1MdnnoFuipY8yI0Dj5FTH_qaAXzKuef1MlhHUdjqDrCQ8_hCGZvVAotxlHHmKnQIteX1vBzE3na8UHMo0Octw3OcvDCd0/s1600/Capture4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1X1aJEPDxzBsI3KuLrxhwxz4vUFb05d0UKBailwsk7jopWy1MdnnoFuipY8yI0Dj5FTH_qaAXzKuef1MlhHUdjqDrCQ8_hCGZvVAotxlHHmKnQIteX1vBzE3na8UHMo0Octw3OcvDCd0/s1600/Capture4.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I hope someone finds this as useful as I did!&lt;/div&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/4763740791354293934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/11/microsoft-office-2010-is-running-but.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4763740791354293934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4763740791354293934'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/11/microsoft-office-2010-is-running-but.html' title='Microsoft Office 2010 is running but wont display'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGood4U980lsSnXHbRPiLKikWSvtHAJFjXo-Kf2jnJ4NaGQpahfCaAmEFDdARldisqRUx2XnnX4Aj78bKGSZFSjxh5kQhWfG2RhRY8mXBIXcAQDfHYOv7aCgMs1Au9L0KqPNdUD2tdPlg/s72-c/Capture.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-13060044147345705</id><published>2012-11-13T02:44:00.001-08:00</published><updated>2012-11-13T02:44:07.119-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FPGA"/><category scheme="http://www.blogger.com/atom/ns#" term="Hardware Design"/><category scheme="http://www.blogger.com/atom/ns#" term="HDL"/><title type='text'>What is FPGA?</title><content type='html'>&lt;br /&gt;
A field-programmable gate array (&lt;a href=&quot;http://en.wikipedia.org/wiki/Fpga&quot; target=&quot;_blank&quot;&gt;FPGA&lt;/a&gt;) is an integrated circuit designed to be configured by a customer or a designer after manufacturing—hence &quot;field-programmable&quot;. The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC) (circuit diagrams were previously used to specify the configuration, as they were for ASICs, but this is increasingly rare). FPGAs can be used to implement any logical function that an ASIC could perform. The ability to update the functionality after shipping, partial re-configuration of a portion of the design[1] and the low non-recurring engineering costs relative to an ASIC design (notwithstanding the generally higher unit cost), offer advantages for many applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FPGAs contain programmable logic components called &quot;logic blocks&quot;, and a hierarchy of&amp;nbsp;re-configurable&amp;nbsp;interconnects that allow the blocks to be &quot;wired together&quot;—somewhat like many (changeable) logic gates that can be inter-wired in (many) different configurations. Logic blocks can be configured to perform complex combinational functions, or merely simple logic gates like AND and XOR. In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory.&lt;br /&gt;
&lt;br /&gt;
For more information regarding FPGA implementation and design see the Doulos page : &lt;a href=&quot;http://www.doulos.com/knowhow/fpga/&quot; target=&quot;_blank&quot;&gt;FPGA&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/13060044147345705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/11/what-is-fpga.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/13060044147345705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/13060044147345705'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/11/what-is-fpga.html' title='What is FPGA?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-6525811605312306575</id><published>2012-11-13T02:38:00.001-08:00</published><updated>2012-11-13T02:38:45.340-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hardware Design"/><category scheme="http://www.blogger.com/atom/ns#" term="HDL"/><category scheme="http://www.blogger.com/atom/ns#" term="VHLC"/><title type='text'>What is VHDL?</title><content type='html'>&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Vhdl&quot; target=&quot;_blank&quot;&gt;VHDL &lt;/a&gt;is the VHSIC Hardware Description Language. VHSIC is an abbreviation for Very High Speed Integrated Circuit. It can describe the behaviour and structure of electronic systems, but is particularly suited as a language to describe the structure and behaviour of digital electronic hardware designs, such as ASICs and FPGAs as well as conventional digital circuits.&lt;br /&gt;
&lt;br /&gt;
VHDL is a notation, and is precisely and &lt;i&gt;completely &lt;/i&gt;defined by the Language Reference Manual ( LRM ). This sets VHDL apart from other hardware description languages, which are to some extent defined in an ad hoc way by the behaviour of tools that use them. VHDL is an international standard, regulated by the IEEE. The definition of the language is non-proprietary.&lt;br /&gt;
&lt;br /&gt;
VHDL is not an information model, a database schema, a simulator, a toolset or a methodology! However, a methodology and a toolset are essential for the effective use of VHDL.&lt;br /&gt;
&lt;br /&gt;
Simulation and synthesis are the two main kinds of tools which operate on the VHDL language. The Language Reference Manual does not define a simulator, but unambiguously defines what each simulator must do with each part of the language.&lt;br /&gt;
&lt;br /&gt;
VHDL does not constrain the user to one style of description. VHDL allows designs to be described using any methodology - top down, bottom up or middle out! VHDL can be used to describe hardware at the gate level or in a more abstract way. Successful high level design requires a language, a tool set and a suitable methodology. VHDL is the language, &lt;em&gt;you&lt;/em&gt; choose the tools, and the methodology...&lt;br /&gt;
&lt;br /&gt;
For more information regarding the use and implementation of VHDL go to the Doulos website: &lt;a href=&quot;http://www.doulos.com/knowhow/vhdl_designers_guide/&quot; target=&quot;_blank&quot;&gt;VHDL Designers Guide&lt;/a&gt;&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/6525811605312306575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/11/what-is-vhdl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/6525811605312306575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/6525811605312306575'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/11/what-is-vhdl.html' title='What is VHDL?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-6722943836634845729</id><published>2012-11-13T00:58:00.002-08:00</published><updated>2012-11-13T02:32:17.153-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hardware Design"/><category scheme="http://www.blogger.com/atom/ns#" term="HDL"/><category scheme="http://www.blogger.com/atom/ns#" term="Verilog"/><title type='text'>What is Verilog?</title><content type='html'>&lt;br /&gt;
Verilog is a Hardware Description Language (HDL). What this means is that it is a textual language for describing electronic circuits and systems. When applied to electronic design, Verilog is intended to be used for:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;verification through simulation,&amp;nbsp;&lt;/li&gt;
&lt;li&gt;timing analysis,&amp;nbsp;&lt;/li&gt;
&lt;li&gt;test analysis (testability analysis and fault grading), and&lt;/li&gt;
&lt;li&gt;logic synthesis.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
For a more verbose description of &lt;a href=&quot;http://en.wikipedia.org/wiki/Verilog&quot; target=&quot;_blank&quot;&gt;Verilog visit the wiki page&lt;/a&gt; which has a good overview of the history.&lt;br /&gt;
&lt;br /&gt;
The standard also defines the Programming Language Interface, or PLI. This is a collection of software routines which permit a bidirectional interface between Verilog and other languages (usually C).&lt;br /&gt;
&lt;br /&gt;
Note that VHDL is not an abbreviation for Verilog HDL - Verilog and VHDL are two different HDLs. They have more similarities than differences, however.&lt;br /&gt;
&lt;br /&gt;
For some information regarding Verilog Design see the Doulos website: &lt;a href=&quot;http://www.doulos.com/knowhow/verilog_designers_guide/&quot; target=&quot;_blank&quot;&gt;Verilog Designers Guide&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/6722943836634845729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/11/what-is-verilog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/6722943836634845729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/6722943836634845729'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/11/what-is-verilog.html' title='What is Verilog?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-7704109123925328720</id><published>2012-10-25T02:05:00.000-07:00</published><updated>2015-07-07T04:44:10.676-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net Assemblies"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="DLL"/><category scheme="http://www.blogger.com/atom/ns#" term="Dynamic DLL Custom Reference Path"/><category scheme="http://www.blogger.com/atom/ns#" term="GAC"/><title type='text'>C# .Net Assembly Dynamic Reference Custom Paths</title><content type='html'>&lt;br /&gt;
This is a bit of a how-to if you ever want to add a dll dynamically at runtime and it references other dll’s that are not in the GAC or the Application base directory.&lt;br /&gt;
&lt;br /&gt;
NET assembly references are resolved in the following order:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Search GAC for assembly reference.&lt;/li&gt;
&lt;li&gt;Search application directory.&lt;/li&gt;
&lt;li&gt;Search the paths specified in your app.config file using the following xml-tag:&lt;br /&gt;
&lt;pre&gt;&amp;lt;probing privatePath=&quot;path 1; path 2; path 3&quot; /&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
For instance say you are building a module for an application and it has a reference to some Third party dll that is not installed, just copied. Say now instead of adding the third party dll to the application base directory you want to create a bit of order and have a third party folder that is where you are going to place said dll’s.&lt;br /&gt;
&lt;br /&gt;
Now typically when loading your assembly dynamically if the system can’t find the third party dll’s anywhere, it will have a heart attack. But you’re able to create assembly probing directories that gives the system a heads up as to where you plan on keeping all unregistered dll’s…&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;This is how you do it from a practical point of view.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the app.config file you add this code&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;configuration&amp;gt;

  &amp;lt;runtime&amp;gt;
    &amp;lt;assemblybinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot;&amp;gt;
      &amp;lt;probing privatepath=&quot;Plugins&quot;&amp;gt;
    &amp;lt;/probing&amp;gt;&amp;lt;/assemblybinding&amp;gt;
  &amp;lt;/runtime&amp;gt;

&amp;lt;/configuration&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Above shows how I create a reference to my Plugins folder that is in the application base directory. This allows me to search for any plugin that implements my specific plugin interface. I can now also keep all my plugins separate from my actual app directory which allows me to maintain order and structure. If you wanted to add another directory, you just separate the directories with a ‘;’&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;probing privatePath=&quot;Plugins; Third party; c:\lib&quot; /&amp;gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
May solve a world of trouble one day…&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/7704109123925328720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/10/c-net-assembly-dynamic-reference-custom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/7704109123925328720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/7704109123925328720'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/10/c-net-assembly-dynamic-reference-custom.html' title='C# .Net Assembly Dynamic Reference Custom Paths'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-3417305188692225293</id><published>2012-07-31T02:52:00.000-07:00</published><updated>2012-07-31T02:52:08.437-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# Environment"/><category scheme="http://www.blogger.com/atom/ns#" term="C# Visual Studio Express 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="IDE"/><title type='text'>Integrated Development Environment (IDE)</title><content type='html'>An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;a source code editor&lt;/li&gt;
&lt;li&gt;build automation tools&lt;/li&gt;
&lt;li&gt;a debugger&lt;/li&gt;
&lt;/ol&gt;
Depending on what language you are programming in you will have to install the correct IDE so that you can have access to the correct libraries and you can build your solution to run on the target system.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Integrated_development_environment&quot;&gt;For more information please refer to the wikipedia entry.&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/3417305188692225293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/07/integrated-development-environment-ide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/3417305188692225293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/3417305188692225293'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/07/integrated-development-environment-ide.html' title='Integrated Development Environment (IDE)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-5872922067315061148</id><published>2012-07-31T02:50:00.000-07:00</published><updated>2012-10-02T00:19:07.910-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="C# Environment"/><category scheme="http://www.blogger.com/atom/ns#" term="C# Visual Studio Express 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="IDE"/><title type='text'>Installing Microsoft Visual Studio C# Express</title><content type='html'>Before I just dive into programming in C# I would be unkind to just assume everyone has the correct &lt;a href=&quot;http://mycodingtuts.blogspot.com/2012/07/integrated-development-environment-ide.html&quot; target=&quot;_blank&quot;&gt;IDE &lt;/a&gt;available and installed for them to use. So for those of you who are completely new to this process here is a quick how-to on what you will be needing to get yourself programming in C#. For those of you that have already done this please be patient.&lt;br /&gt;
&lt;br /&gt;
First you will need to go and download the Microsoft Visual Studio C# Express package at :&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express&quot;&gt;Download package&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I may have to add my own link to this at a later stage if Microsoft ever decides to remove this download link, but that is a concern for a later stage. If you do come across download issues please let me know.&lt;br /&gt;
&lt;br /&gt;
Once you have downloaded the package you will need to install as you would a normal program. Microsoft has kindly made this light weight IDE available free of charge with the main purpose of making their tools available for students who would otherwise not be able to afford the tool.&lt;br /&gt;
&lt;br /&gt;
When you have your development environment  up and running you will be able to program to your hearts content. I will attempt to provide  a very progressive blog so that you will be able to learn from the basics to more advanced concepts.&lt;br /&gt;
&lt;br /&gt;
If you have any issues please let me know and I will try elaborate the install process a little bit more.</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/5872922067315061148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/07/Installing-Visual-Studio-Express-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/5872922067315061148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/5872922067315061148'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/07/Installing-Visual-Studio-Express-2010.html' title='Installing Microsoft Visual Studio C# Express'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-4437616501315990970</id><published>2012-07-31T02:19:00.003-07:00</published><updated>2012-07-31T02:41:33.490-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# 3.0"/><category scheme="http://www.blogger.com/atom/ns#" term="C# Keywords"/><category scheme="http://www.blogger.com/atom/ns#" term="value"/><title type='text'>C# Value Keyword</title><content type='html'>The contextual keyword value is used in the set accessor in ordinary property declarations. It is similar to an input parameter on a method. The word value references the value that client code is attempting to assign to the property. In the following example, MyDerivedClass has a property called Name that uses the value parameter to assign a new string to the backing field name. From the point of view of client code, the operation is written as a simple assignment.&lt;br /&gt;
&lt;br /&gt;
The MSDN reference can be found &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/a1khb4f8&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;h2&gt;
Code Example&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: #FAFBFC; line-height: 18.75pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-indent: 36pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt; text-indent: 36pt;&quot;&gt;&amp;nbsp;class&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt; text-indent: 36pt;&quot;&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;MyBaseClass&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;// virtual auto-implemented property. Overrides can only&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;// provide specialized behavior if they implement get and
set accessors.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;virtual&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; Name {
&lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt;; &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;// ordinary virtual property with backing field&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; num;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;virtual&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; Number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt; { &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt;
num; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; { num = &lt;span style=&quot;color: blue;&quot;&gt;value&lt;/span&gt;;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;MyDerivedClass&lt;/span&gt;
: &lt;span style=&quot;color: #2b91af;&quot;&gt;MyBaseClass&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;// Override auto-implemented property with ordinary
property&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;// to provide specialized accessor behavior.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;override&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;value&lt;/span&gt;
!= &lt;span style=&quot;color: #2b91af;&quot;&gt;String&lt;/span&gt;.Empty)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name = &lt;span style=&quot;color: blue;&quot;&gt;value&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;else&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name = &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Unknown&quot;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
As seen in the above code, the value keyword gives us access to the implied value that is sent when the Name property is assigned a value. This allows us to do error handling before we assign the value to our name field.&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/4437616501315990970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/07/c-value-keyword.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4437616501315990970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/4437616501315990970'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/07/c-value-keyword.html' title='C# Value Keyword'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7217346858214409138.post-2893369867795224194</id><published>2012-07-31T01:56:00.004-07:00</published><updated>2012-07-31T02:39:56.373-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# 3.0"/><category scheme="http://www.blogger.com/atom/ns#" term="C# Keywords"/><category scheme="http://www.blogger.com/atom/ns#" term="yield"/><category scheme="http://www.blogger.com/atom/ns#" term="yield break"/><category scheme="http://www.blogger.com/atom/ns#" term="yield return"/><title type='text'>C# Yield Keyword</title><content type='html'>The  yield return and yield break keywords are shortcuts introduced in C# 3.0. They are designed to assist you by removing verbose code in methods that return IEnumerable types (i.e. IEnumerable &amp;lt;T&amp;gt;).&lt;br /&gt;&lt;br /&gt;You can find the MSDN reference &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx&quot;&gt;here&lt;/a&gt;.&lt;div&gt;
&lt;br /&gt;&lt;h2&gt;
 Old Methodology&lt;/h2&gt;
Usually a method that returns a collection consists of the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create an empty IEnumerable set.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Loop through some data (via a while, foreach or other construct)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Add to the set within your loop.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Exit the loop when some limit is reached.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Return the set&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
Below is an example of the process required. &lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;trebuchet ms&#39;, verdana, arial, tahoma;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 25px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-indent: 36pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&amp;gt; GetEvenNumbers(&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;
maxCount)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;//create and initialise IEnumerable container&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #2b91af;&quot;&gt;List&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&amp;gt;
data = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;List&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; currentNum = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;//create and enter loop&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (currentNum % 2 == 0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: green;&quot;&gt;//add the data to the IEnumerable container&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
data.Add(currentNum);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (currentNum &amp;gt;= maxCount)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: green;&quot;&gt;//limit has been reach so we exit loop&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;break&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;//return the IEnumerable dataset&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: #FAFBFC; line-height: 18.75pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;h2&gt;
New Methodology&lt;/h2&gt;
The new yield keywords allow you to shorten your code to only the following steps&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Loop through some data.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;yield return within the loop&amp;nbsp;&lt;/li&gt;
&lt;li&gt;yield break if a limit is reached before the loop is completed.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
There is no need to explicitly create or return your IEnumerable collection.&lt;div&gt;
&lt;br /&gt;The yield return statement appends a value to the IEnumerable collection. The yield break statement exits any looping construct to prevent more items being added to the return set. If you omit yield break, the loop exits as it normally would.&lt;br /&gt;&lt;br /&gt;Below is an example using the yield keyword for the process required. &lt;div class=&quot;MsoNormal&quot; style=&quot;background-position: initial initial; background-repeat: initial initial; line-height: 18.75pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &#39;trebuchet ms&#39;, verdana, arial, tahoma; font-size: 14px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background-position: initial initial; background-repeat: initial initial; line-height: 18.75pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none; text-indent: 36.0pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: Consolas; font-size: 9.5pt;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt; &lt;span style=&quot;color: #2b91af;&quot;&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&amp;gt; GetEvenNumbers(&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;
maxCount)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; currentNum = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: green;&quot;&gt;//create and enter loop&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (currentNum % 2 == 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: green;&quot;&gt;//add the data to the IEnumerable container
using yield return&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;yield&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt;
currentNum;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;if&lt;/span&gt; (currentNum &amp;gt;= maxCount)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: green;&quot;&gt;//limit has been reach so we exit loop using
yield break&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;color: blue;&quot;&gt;yield&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;break&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;&quot;&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Consolas; font-size: 9.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;h2&gt;
Performance&lt;/h2&gt;
The difference between using the yield return and simply returning a set is subtle. Returning a set at the end of the method returns the entire set at once. The client must wait until the method is complete before it can use any values in the return set. Each time the yield return statement executes, the client has access to another element in the set. Essentially the set trickles back a little at a time. This can provide a gain in performance or perceived performance if you have a large set to return.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;
&amp;nbsp;Limitations&lt;/h2&gt;
There are a few restrictions to using the yield keywords&lt;br /&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;These keywords cannot appear in blocks marked &quot;unsafe&quot;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;These keywords cannot appear in a method with ref or out parameters&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The yield return statement is not allowed inside a try-catch block, although it may be located inside a try-finally block.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;A yield break statement may not be located inside a finally block.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;code_Container&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.mytutorials.co.za/feeds/2893369867795224194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.mytutorials.co.za/2012/07/c-yield-keyword.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/2893369867795224194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7217346858214409138/posts/default/2893369867795224194'/><link rel='alternate' type='text/html' href='http://www.mytutorials.co.za/2012/07/c-yield-keyword.html' title='C# Yield Keyword'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/15901724538960102484</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>