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

<channel>
	<title>Blog Archives - Complete, Concrete, Concise</title>
	<atom:link href="https://complete-concrete-concise.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://complete-concrete-concise.com/category/blog/</link>
	<description>Practical Information Without The Bloat</description>
	<lastBuildDate>Wed, 26 Oct 2016 18:11:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>5 Minute Vim Tutorial</title>
		<link>https://complete-concrete-concise.com/blog/5-minute-vim-tutorial/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Wed, 26 Oct 2016 18:11:54 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Web Tools]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[understanding]]></category>
		<category><![CDATA[vim]]></category>
		<guid isPermaLink="false">http://www.complete-concrete-concise.com/?p=3186</guid>

					<description><![CDATA[<p>This tutorial won't turn you into a Vim wizard, but at least you will be able to open, navigate, edit, and save files using Vim.</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/5-minute-vim-tutorial/">5 Minute Vim Tutorial</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="preamble">
Vim works differently from other editors you are used to, but it only takes about 5 minutes to learn the basics you need to edit with Vim. You won’t be a Vim wizard, but you will be able to:</p>
<ul>
<li>Open a file</li>
<li>Move around in a file</li>
<li>Edit text in a file</li>
<li>Save a File</li>
</ul>
<p>The slightly longer <a href="#Extended">Extended 5 Minute Tutorial</a> you will show you how to <strong>search</strong> in a file, get <strong>help</strong>, and <strong>access</strong> Vim’s own built-in tutorial.
</div>
<h2 id="contents">Contents</h2>
<ol type="1">
<li><a href="#Vim-in-5">Vim in 5 Minutes (or less)</a></li>
<li><a href="#Extended">The Extended 5+ Minute Tutorial</a>
<ol type="1">
<li><a href="#Normal">Normal Mode</a></li>
<li><a href="#Opening">Opening a File</a></li>
<li><a href="#Saving">Saving a File</a></li>
<li><a href="#Exiting">Exiting Vim</a></li>
<li><a href="#Navigating">Navigating a File</a></li>
<li><a href="#Inserting">Inserting and Deleting Text</a></li>
<li><a href="#Searching">Searching</a></li>
<li><a href="#Help">Getting Help</a></li>
</ol>
</li>
<li><a href="#Final">Final Words</a></li>
</ol>
<h2 id="Vim-in-5">Vim in 5 Minutes (or less)</h2>
<ul>
<li>Vim operates in <span class="mark">Modes</span>. Vim always starts in <span class="mark">Normal Mode</span>.</li>
<li><span class="mark">Normal Mode</span> is your base mode and you should always return to it.</li>
<li>All command / control keys are <strong>case sensitive</strong>.</li>
<li>If you are not in <span class="mark">Normal Mode</span>, you (usually) get back to <span class="mark">Normal Mode</span> by pressing the <span class="kbd">Escape</span> key twice.</li>
<li>If you see <span class="mark">recording</span> in the lower left corner of the screen, press the <span class="kbd">q</span> key to return to <span class="mark">Normal Mode</span>.</li>
<li>If you’ve messed stuff up, return to <span class="mark">Normal Mode</span> and type <span class="kbd">:q!</span> followed by the <span class="kbd">Enter</span> key to exit Vim <strong>without</strong> saving the file.</li>
<li>In <span class="mark">Normal Mode</span> you can navigate the file using the <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> keys (left, down, up, right). You might also be able to use the arrow keys on the keyboard<a id="fnref1" class="footnote-ref" href="#fn1"><sup>1</sup></a>.</li>
<li>When you have navigated to where you want to edit the file (inserting or deleting text), press the <span class="kbd">i</span> key to enter <span class="mark">Insert Mode</span>.</li>
<li>In <span class="mark">Insert Mode</span> you can <strong>only</strong> enter or delete text from the current cursor position &#8211; you <strong>cannot</strong> navigate. To navigate, press the <span class="kbd">Escape</span> key to return to <span class="mark">Normal Mode</span>.</li>
<li>To save (write) the file, return to <span class="mark">Normal Mode</span> and type <span class="kbd">:w</span> followed by the <span class="kbd">Enter</span> key.</li>
<li>To exit (quit) Vim, return to <span class="mark">Normal Mode</span> and type <span class="kbd">:q</span> followed by the <span class="kbd">Enter</span> key.</li>
</ul>
<h2 id="Extended">The Extended 5 Minute Tutorial</h2>
<p>This adds <span class="mark">searching</span> and <span class="mark">help</span> to the 5 Minute Tutorial, but, otherwise, keeps the information to the bare minimum so you can quickly be functional in Vim instead of frustrated.<br />
All command / control keys are <strong>case sensitive</strong>: <span class="kbd">h</span> is not the same as <span class="kbd">H</span>!</p>
<h3 id="Normal">Normal Mode</h3>
<p><span class="mark">Normal Mode</span> is the default mode and it should be the mode you always go back to.<br />
Most times, you press the <span class="kbd">Escape</span> key once or twice<a id="fnref2" class="footnote-ref" href="#fn2"><sup>2</sup></a> to return to <span class="mark">Normal Mode</span>.<br />
If you see <span class="mark">recording</span> in the lower left corner of the screen, press the lowercase <span class="kbd">q</span> key to return to <span class="mark">Normal Mode</span>.</p>
<h3 id="Opening">Opening a File</h3>
<p>The simplest way to open a file is to type <span class="kbd">vim</span> at the command line followed by the name of the file:</p>
<div id="cb1" class="sourceCode">
<pre class="sourceCode bash"><code><a id="cb1-1" class="sourceLine" data-line-number="1"></a><span class="ex">user@COMPUTER</span>:~$ vim file.txt</code></pre>
</div>
<p>If it is a <strong>new</strong> file you should see something like this:</p>
<pre class="vim"><code>
~
~
~
~
~
"file.txt" [New File]                       0,0-1          All</code></pre>
<p>If it is an <strong>existing</strong> file, you should see something like <span class="note" data-note="The actual contents will depend on the file you opened.">this</span>:</p>
<pre class="vim"><code>&lt;!doctype html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;title&gt;Basic HTML5 Template&lt;/title&gt;
    &lt;link rel="stylesheet" href="style.css"&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;!-- page content goes here --&gt;
    &lt;p&gt;This is some dummy content that is not lorem ipsum.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;
~
~
~
"basic.html" 12L, 290C                      1,1           All</code></pre>
<p>The status line<a id="fnref3" class="footnote-ref" href="#fn3"><sup>3</sup></a> (at the bottom of the screen) displays the following information:</p>
<ul>
<li>file name</li>
<li>total number of lines in the file</li>
<li>total number of characters in the file</li>
<li>current line the cursor is on</li>
<li>current column the cursor is in</li>
<li>percentage showing the position in the file (if <span class="mark">All</span> : the entire file is visible, <span class="mark">Bot</span> : at the bottom (end) of the file, <span class="mark">Top</span> : at the top of the file)</li>
</ul>
<p>In <span class="mark">Normal Mode</span> load a file by typing <span class="kbd">:edit</span> followed by the filename and then pressing the <span class="kbd">Enter</span> key.:</p>
<pre class="vim"><code>:edit basic.html</code></pre>
<p>This discards the current file (if any) and loads the specified file.<br />
If the file to be discarded has been modified, but not saved, you will see the following warning in the status line:</p>
<pre class="vim"><code>E37: No write since last change (add ! to override)</code></pre>
<p>If you don’t care about saving the file, simply append <span class="kbd">!</span> to the <span class="kbd">:edit</span> command:</p>
<pre class="vim"><code>:edit! basic.html</code></pre>
<p>The <span class="kbd">!</span> tells Vim to “just do it!” and ignore any warnings.</p>
<h3 id="Saving">Saving a File</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to save a file.<br />
Save a file by typing <span class="kbd">:w</span> followed by the <span class="kbd">Enter</span> key.<br />
If you want to save the file with a different name, type <span class="kbd">:w</span> followed by the new file name and then press the <span class="kbd">Enter</span> key:</p>
<pre class="vim"><code>:w new-filename.txt</code></pre>
<h3 id="Exiting">Exiting Vim</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to exit Vim.<br />
Type <span class="kbd">:q</span> followed by the <span class="kbd">Enter</span> key to exit Vim.<br />
If Vim warns you that the file has been modified, you can choose to <a href="#Saving">save it</a> or you can force Vim to exit without saving the file by typing <span class="kbd">:q!</span> followed by the <span class="kbd">Enter</span> key. The <span class="kbd">!</span> tells Vim to “just do it” and exit without saving the file.</p>
<h3 id="navigating-a-file-navigating">Navigating a File {Navigating}</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to navigate a file.<br />
The letters <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> navigate the cursor through the file. (You may also be able to use the arrow keys present on most keyboards.)<br />
They act like arrow keys and are conceptually laid out like this:</p>
<table style="font-size: 2em; text-align: centered; font-family: inconsolata,monospace; border-collapse: collapse;">
<tbody>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">h<br />
←</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">j<br />
↓</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">k<br />
↑</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">l<br />
→</td>
</tr>
</tbody>
</table>
<p>When you navigate left (<span class="kbd">h</span>) to the beginning of a line, the cursor will stop. It will <strong>not</strong> wrap around and up to the previous line.<br />
When you navigate right (<span class="kbd">l</span>) to the end of a line, the cursor will stop. It will <strong>not</strong> wrap around and down to the next line.<br />
If you type a <strong>positive</strong> integer (which will not be displayed), followed by one of the navigation keys, the cursor will move that many characters / lines.<br />
For example, in <span class="mark">Normal Mode</span>, if you type <span class="kbd">10j</span>, the cursor will move down 10 lines.</p>
<h3 id="Inserting">Inserting and Deleting Text</h3>
<p>In <span class="mark">Insert Mode</span> the only thing you can do is insert or delete text. (You <strong>may</strong> be able to use the arrow keys on your keyboard to navigate the text while in this mode, but there is no guarantee, navigating is supposed to be done in <span class="mark">Normal Mode</span>)<br />
Enter <span class="mark">Insert Mode</span> by pressing the <span class="kbd">i</span>, <span class="kbd">a</span>, <span class="kbd">I</span>, or <span class="kbd">A</span> key.</p>
<ul>
<li><span class="kbd">i</span> insert / delete before the cursor (what you would intuitively expect when entering or deleting text).</li>
<li><span class="kbd">a</span> append / delete after the current cursor position.</li>
<li><span class="kbd">I</span> insert / delete at the beginning of the line.</li>
<li><span class="kbd">A</span> append / delete at the end of the line.</li>
</ul>
<p>You will (probably) be using <span class="kbd">i</span> most frequently.<br />
When you enter <span class="mark">Insert Mode</span> you will see <span class="mark">– INSERT –</span> displayed in the lower left corner:</p>
<pre class="vim"><code>The navigation keys are h, j, k, l.
h moves the̲ cursor one character left
l moves the cursor one character right
j moves the cursor one line down
k moves the cursor one line up
~
~
~
~
-- INSERT --                       3,11      All</code></pre>
<p>Press the <span class="kbd">Escape</span> key to return to <span class="mark">Normal Mode</span>.</p>
<h3 id="Searching">Searching</h3>
<p>You must be in <span class="mark">Normal Mode</span> to search.<br />
In a large file, it is useful to locate items of interest by searching for them.<br />
To search, type <span class="kbd">/</span> followed by the text you want to find, followed by the <span class="kbd">Enter</span> key.<br />
Vim treats the search string as a regular expression &#8211; which means some characters have a special meaning. If you need to search for the following characters, you will need to type them as follows:</p>
<table style="border-collapse: collapse;">
<tbody>
<tr style="font-weight: bold;">
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Name</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Character</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Need to Type</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Period</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">.</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">.</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Asterisk</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">*</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">\*</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Backslash</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">&lt;/td&gt;</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">\</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Dollar Sign</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">$</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">$</td>
</tr>
<tr>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black;">Forward Slash</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">/</td>
<td style="padding: 0.2em 1em 0 1em; border: 1px solid black; text-align: center;">/</td>
</tr>
</tbody>
</table>
<p>Searches are case sensitive.<br />
You can navigate between search results by pressing <span class="kbd">n</span> (next) or <span class="kbd">N</span> (previous).</p>
<h3 id="Help">Getting Help</h3>
<p>You need to be in <span class="mark">Normal Mode</span> to use help.<br />
To get help on something in Vim, simply type <span class="kbd">:help</span> followed by the thing you want help on.<br />
For example, to get help on the navigation key <span class="kbd">h</span>, type <span class="kbd">:help h</span> followed by the <span class="kbd">Enter</span> key.<br />
You should see something similar to the following:</p>
<pre class="vim"><code>h         or          *h*
&lt;Left&gt;    or          *&lt;Left&gt;*
CTRL-H    or          *CTRL-H* *&lt;BS&gt;*
&lt;BS&gt;      [count] characters to the left.  |exclusive| motion.
          Note: If you prefer &lt;BS&gt; to delete a character, use
          the mapping:
             :map CTRL-V&lt;BS&gt;    X
          (to enter "CTRL-V&lt;BS&gt;" type the CTRL-V key, followed
          by the &lt;BS&gt; key)
          See |:fixdel| if the &lt;BS&gt; key does not do what you
          want.
m̲o̲t̲i̲o̲n̲.̲t̲x̲t̲ ̲[̲H̲e̲l̲p̲]̲[̲R̲O̲]̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲1̲7̲2̲,̲1̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲1̲2̲%̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
Vim will split the display into two panes. In the upper pane
you will see the help text. In the lower pane you will see your
current editing buffer.
Now you know that Vim supports multiple editing buffers - but
that is not the point of this tutorial.
~
~
~
~
a-file.txt                     4,5              All
</code></pre>
<p>The help can be pretty dense and not user friendly, but it <em>may</em> be helpful.<br />
To close the help window, type <span class="kbd">:q</span> followed by the <span class="kbd">Enter</span> key.<br />
If you type <span class="kbd">:help</span>, it will bring up the general help file. You can navigate through it for topics of interest.<br />
You might also try <span class="kbd">:help tutor</span> for instructions on accessing the Vim tutor which is included with every Vim installation.</p>
<h3 id="Final">Final Words</h3>
<p>Vim may not be the easiest or most intuitive editor you will come across. However, it (or its ancestor Vi) is quite ubiquitous and this tutorial gives you the basics you need so you are minimally functional with it.<br />
The basics are simple:</p>
<ol type="1">
<li>Vim operates in <span class="mark">Modes</span>.</li>
<li>All command / control keys are <strong>case sensitive</strong> : <span class="kbd">k</span> is not the same as <span class="kbd">K</span>.</li>
<li>The base mode is <span class="mark">Normal Mode</span>. You (usually) get back to it by pressing the <span class="kbd">Escape</span> key once or twice.</li>
<li>Navigating a file is done in <span class="mark">Normal Mode</span> using the <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> keys.</li>
<li>When the cursor is where you want to insert or delete text, you press the <span class="kbd">i</span> key to enter <span class="mark">Insert Mode</span>.</li>
<li>Search in <span class="mark">Normal Mode</span> by typing <span class="kbd">/</span> followed by the string you want to find and then the <span class="kbd">Enter</span> key. Navigate the search results using the <span class="kbd">n</span> and <span class="kbd">N</span> keys.</li>
<li>Save a file by typing <span class="kbd">:w</span> in <span class="mark">Normal Mode</span>.</li>
<li>Exit Vim by typing <span class="kbd">:q</span> in <span class="mark">Normal Mode</span>.</li>
<li>In <span class="mark">Normal Mode</span> you can get help by typing <span class="kbd">:help</span></li>
</ol>
<section class="footnotes">
<hr />
<ol>
<li id="fn1">Vi (the precursor to Vim) was developed in 1976. Arrow keys were not commonly found on keyboards, so <span class="kbd">h</span>, <span class="kbd">j</span>, <span class="kbd">k</span>, <span class="kbd">l</span> were used.<a class="footnote-back" href="#fnref1">↩</a></li>
<li id="fn2">Some modes require one key press, others require two. If you press it too many times, the computer will just beep at you. Vim newbies often repeatedly press the <span class="kbd">Escape</span> key in the hopes of returning to <span class="mark">Normal Mode</span><a class="footnote-back" href="#fnref2">↩</a></li>
<li id="fn3">This is true for the default Status Line. It is always possible that someone has modified the Status Line to display different information, or in a different arrangement.<a class="footnote-back" href="#fnref3">↩</a></li>
</ol>
</section>
<p>The post <a href="https://complete-concrete-concise.com/blog/5-minute-vim-tutorial/">5 Minute Vim Tutorial</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fixing Slow Boot in Windows 7</title>
		<link>https://complete-concrete-concise.com/blog/fixing-slow-boot-in-windows-7/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Thu, 11 Sep 2014 16:20:47 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[sd card]]></category>
		<category><![CDATA[slow boot]]></category>
		<category><![CDATA[windows 7]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=3103</guid>

					<description><![CDATA[<p>After the latest Windows 7 updates were applied, I found my computer took over 10 minutes to boot into Windows.</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/fixing-slow-boot-in-windows-7/">Fixing Slow Boot in Windows 7</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>This solution is probably valid for only a handful of people.</p>
</div>
<p>After the latest Windows 7 updates were applied, I found my computer took over 10 minutes to boot into Windows. It would hang at the &#8220;Starting Windows&#8221; screen for ages (between 12 and 15 minutes).</p>
<p>After (far too much) troubleshooting, the problem turned out to be that I had left an SD card formatted for the Raspberry Pi in the SD Card reader. Removing the card restored boot time to normal.</p>
<h1>False Paths and Red Herrings</h1>
<p>While troubeshooting this problem I went down many false paths including:</p>
<ol>
<li>suspecting the recent Windows 7 updates</li>
<li>suspecting a virus</li>
<li>suspecting a rootkit</li>
<li>suspecting some start up process</li>
</ol>

<p>The post <a href="https://complete-concrete-concise.com/blog/fixing-slow-boot-in-windows-7/">Fixing Slow Boot in Windows 7</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Security Weakness in FaceBook Login</title>
		<link>https://complete-concrete-concise.com/blog/security-weakness-in-facebook-login/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 01 Apr 2014 09:34:39 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[FaceBook]]></category>
		<category><![CDATA[FB]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[weak]]></category>
		<category><![CDATA[weakness]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=3084</guid>

					<description><![CDATA[<p>Yes, this is posted on April 1st and, no, it is not a April Fool’s joke – except, I hope, on FaceBook’s part, otherwise it represents a serious security weakness in their login protocol.</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/security-weakness-in-facebook-login/">Security Weakness in FaceBook Login</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>Yes, this is posted on April 1st and, no, it is not a April Fool&#8217;s joke &#8211; except, I hope, on FaceBook&#8217;s part, otherwise it represents a serious security weakness in their login protocol.</p>
</div>
<p>As I logged into FaceBook today, I noticed (too late) that I had <u>caps lock</u> on and expected to be redirected to the Login error / retry page:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2014/04/fb-login-retry.png" alt="" border="0" class="centered"/></p>
<p>Instead, I found myself logged in as normal.</p>
<p>After playing around with it a little bit, I discovered that if you invert the upper case and lower case letters it will still let you log in.</p>
<p>For example, if your password is <code>MySecretPassword</code> and you enter <code>mYsECRETpASSWORD</code> instead, it will still let you log in.</p>
<p>It turns out I am not the first to notice this. Emil Protalinski noticed this back in <a href="http://www.zdnet.com/blog/facebook/facebook-passwords-are-not-case-sensitive-update/3612">September 2011</a> and, according to his article, this is done by design and there are three different forms of your password FB will recognize:</p>
<blockquote>
<ol>
<li>Your original password.</li>
<li>Your original password with the first letter capitalized. This is only for mobile devices, which sometimes capitalize the first character of a word.</li>
<li>Your original password with the case reversed, for those with a caps lock key on.</li>
</ul>
</blockquote>
<p>I am not comfortable with this because it seriously weakens the password because it reduces the number of unique letter combinations by at least half.</p>
<p><p>Assume passwords can only be two characters long and must be composed of only the following characters <code>a, b, A, B</code>. Then the total number of unique passwords is 16:</p>
<ol>
<li>aa</li>
<li>aA</li>
<li>Aa</li>
<li>AA</li>
<li>ab</li>
<li>aB</li>
<li>Ab</li>
<li>AB</li>
<li>ba</li>
<li>bA</li>
<li>Ba</li>
<li>BA</li>
<li>bb</li>
<li>bB</li>
<li>Bb</li>
<li>BB</li>
</ol>
<p>With FaceBook&#8217;s password permissiveness, this is reduced to  8 by simply accepting case reversal:</p>
<ol>
<li>aa is the same as AA</li>
<li>aA is the same as Aa</li>
<li>ab is the same as BA</li>
<li>aB is the same as Ab</li>
<li>ba is the same as BA</li>
<li>bA is the same as Ba</li>
<li>bb is the same as BB</li>
<li>bB is the same as Bb</li>
</ol>

<p>The post <a href="https://complete-concrete-concise.com/blog/security-weakness-in-facebook-login/">Security Weakness in FaceBook Login</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Brother HL-3140CW Laser Printer &#8211; a Review</title>
		<link>https://complete-concrete-concise.com/blog/brother-hl-3140cw-laser-printer-a-review/</link>
					<comments>https://complete-concrete-concise.com/blog/brother-hl-3140cw-laser-printer-a-review/#comments</comments>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Fri, 06 Dec 2013 22:10:24 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[brother]]></category>
		<category><![CDATA[hl-3140cw]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[printer]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=3066</guid>

					<description><![CDATA[<p>What I think after about one month of using the Brother HL-3140CW laser printer. </p>
<p>The post <a href="https://complete-concrete-concise.com/blog/brother-hl-3140cw-laser-printer-a-review/">Brother HL-3140CW Laser Printer &#8211; a Review</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>This review is written after about one month of using the Brother HL-3140CW laser printer.</p>
<p>This is the third laser printer (second colour one) I&#8217;ve owned in the past 15 or 16 years (along with a number of inkjet printers and dot matrix printers before that).</p>
</div>
<h1>Summary</h1>
<p>The Brother HL-3140CW is a very fast printer with excellent print quality. I am very pleased with it and easily recommend it.</p>
<h1>Print Speed</h1>
<p>The printer is specified as printing 18 pages per minute in both colour and black and white. It is definitely very close to its advertised print speed.</p>
<p>If you are printing a lot of single page documents, then the print speed will be slower, but if you are printing a long document, the speed comes very close to 18 pages per minute.</p>
<p>Printing a 54 page (27 sheets double sided) document takes under 5 minutes and this includes the time needed to feed the paper back into the printer and hit continue.</p>
<h1>Print Quality</h1>
<p>The print quality is excellent. Text is nice and crisp and images are very nice.</p>
<p>Because this is a laser printer, image quality will not be as good as an inkjet on photographic paper, but it is still more than suitable if you were publishing a newsletter or zine with pictures in it. The image quality is far superior than an inkjet on plain paper (and there is no paper wrinkling or curling).</p>
<p><p>Below are three print samples (scanned at 1200 dpi) printed at (1) 600 dpi, (2) 2400 dpi and (3) 600 dpi with toner saver mode on (the font used is Calibri @ 11pt):</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-text-sample.png" alt="" border="0" class="centered"/></p>
<p>There is no obvious difference between 600 and 2400 dpi mode for text. In toner saving mode, the printout is a little lighter, but not significantly so and is perfectly acceptable and readable for normal documents.</p>
<div class="c1">
<p><strong>Note:</strong> the image samples I&#8217;m showing look worse than the actual print, but illustrate (to some degree) how the print looks. Clearly, there is loss of fidelity in the scanning process (they came out a little blander) and in being scaled down.</p>
</div>
<div class="c2">
<p><strong>Original image:</strong></p>
<p><img fetchpriority="high" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/flower-orig.jpg" width="480" height="364" alt="" border="0" class="centered"/></div>
<div class="c2">
<p><strong>Image printed at 600 dpi:</strong></p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/flower-600.jpg" width="480" height="365" alt="" border="0" class="centered"/></p>
<p>Clearly this is not as vibrant as the original image, but it still looks remarkably good. The actual prints looks better than this scanned and resized version, but it still won&#8217;t pass for a photograph.</p></div>
<div class="c2">
<p><strong>Image printed at 2400 dpi:</strong></p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/flower-2400.jpg" width="480" height="365" alt="" border="0" class="centered"/></p>
<p>The main differences between printing at 2400 dpi and 600 dpi is that (1) at 2400 dpi, the image is lighter, whereas, at 600 dpi, the image shows better contrast and (2) at 2400 dpi, the image shows more fine detail that is lost at 600 dpi. In general, I don&#8217;t see much point in printing at 2400 dpi because the text quality doesn&#8217;t change and the more &#8220;washed&#8221; out image is less pleasing than that at 600 dpi.</p>
</div>
<p>The Brother HL-3140CW combines the print drum with the toner cartridge (when you change the toner, you only replace the toner portion of the combined unit &#8211; you can read instructions on doing this <a href="//complete-concrete-concise.com/blog/replacing-the-toner-cartridge-in-a-brother-hl-3140cw-printer">here</a>), so the actual drum unit is quite small &#8211; about 3cm in diameter. This gives the drum a circumference (length) of about 9.5cm, which means that there is the possibility of a horizontal printing artefact appearing about every 9.5cm:<br />
<img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/artifact.jpg" width="480" height="123" alt="" border="0" class="centered"/></p>
<p>If you look very carefully, you can see the artefact running through the middle of the print sample above. To be honest, it is not very noticeable unless (1) you are looking for it and (2) you know where to look. I have not noticed it in any text documents.</p>
<p>Below are 100% crops taken from the same place (more or less) on the original and printed copies. The printed images were scanned in at 600 dpi:</p>
<div class="c2"><strong></p>
<p>Original image:</p>
<p></strong><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/flower-crop-orig.jpg" width="480" height="360" alt="" border="0" class="centered"/></div>
<div class="c2"><strong></p>
<p>Image printed at 600 dpi:</p>
<p></strong><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/flower-crop-600.jpg" width="480" height="360" alt="" border="0" class="centered"/></div>
<div class="c2"><strong></p>
<p>Image printed at 2400 dpi:</p>
<p></strong><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/flower-crop-2400.jpg" width="480" height="360" alt="" border="0" class="centered"/></div>
<p>Once again, I point out that the scanned images look worse than the actual images in your hand.</p>
<h1>Wireless Setup</h1>
<p>If you have a one-touch wireless router, then setup should be as easy as pressing a button. Unfortunately, my router is not one of the one-touch types, so I had to connect the printer to my computer to set it up for wireless operation. I don&#8217;t remember the details of it, but I believe the instructions were simple enough and straightforward enough that I had no problem.</p>
<p>You will require a USB cable to connect the printer to your computer. This is not provided with the printer. The USB cable needs a regular USB connector on one end and a square connector on the other (also known as <code>Type A</code> and <code>Type B</code>):</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/usb-cable.jpg" width="480" height="395" alt="" border="0" class="centered"/></p>
<h1>Problems</h1>
<p>I haven&#8217;t had any problems with the printer aside from two paper jams.</p>
<p>The paper jams occurred when I was doing some double sided printing. To call it a paper jam seems harsh because all I needed to do to fix it was (1) pull the paper tray out, (2) flip through the paper, (3) reinsert the tray and continue printing.</p>
<p>I suspect the paper jam occurred because I hadn&#8217;t properly flipped through the pages before putting them back for printing on the other side.</p>
<h1>Toner Yield</h1>
<p>The toner cartridges are specified to yield 2500 pages (according to the ISO 19798 standard). Your yield will vary depending on how much content (toner used) you have per page. Clearly, printing double spaced text will result in more pages printed than if you are printing lots of full page images.</p>
<p>The printer comes with four starter cartridges (rated at 1000 pages). I finished my black toner after about 900 pages (mind you, I tend to print more content per page than the ISO test pages &#8211; and I did print out quite a few images), so this was not surprising.</p>
<div class="c1">
<p>If you are curious, you can see thumbnail samples of the five ISO 19798 test pages <a href="http://www.lexmark.com/es_XL/cartridges-ink-supplies/iso-page-yields/index.shtml">here</a> (<strong>note:</strong> this is an external link).</p>
<p>If you have some spare Swiss Francs, you can order your own copy of the document <a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=50015">here</a> (<strong>note:</strong> this is an external link).</p>
</div>
<h1>Conclusion</h1>
<p>A great printer with excellent quality output that I am very happy with and highly recommend.</p>
<p>The wireless option is awesome, because now people can print directly from their own computer without having to go through mine first.</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/brother-hl-3140cw-laser-printer-a-review/">Brother HL-3140CW Laser Printer &#8211; a Review</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://complete-concrete-concise.com/blog/brother-hl-3140cw-laser-printer-a-review/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Replacing the Toner Cartridge in a Brother HL-3140CW Printer</title>
		<link>https://complete-concrete-concise.com/blog/replacing-the-toner-cartridge-in-a-brother-hl-3140cw-printer/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 03 Dec 2013 15:14:42 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[hl-3140cw]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[toner]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=3050</guid>

					<description><![CDATA[<p>It's not difficult, but not entirely obvious either.</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/replacing-the-toner-cartridge-in-a-brother-hl-3140cw-printer/">Replacing the Toner Cartridge in a Brother HL-3140CW Printer</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>Replacing the toner cartridge in the Brother HL-3140CW laser printer is not difficult, but it is not immediately obvious because the toner and drum assembly are joined together.</p>
</div>
<p><strong>1) Open</strong> the laser printer by lifting the the top part. There are no catches to unlock, so it is easy enough to open:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-replace-toner-1.jpg" width="480" height="320" alt="" border="0" class="centered"/></p>
<p><strong>2) Remove</strong> the toner cartridge to replace. It will be one of the four cartridges shaded in green. The entire cartridge assembly lifts right out, there are no latches to unlock:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-replace-toner-2.jpg" width="480" height="320" alt="" border="0" class="centered"/></p>
<div class="c1">
<p>What you have in your hands is two pieces &#8211; the toner and the drum &#8211; even if it looks like just one part:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-replace-toner-3.jpg" width="480" height="193" alt="" border="0" class="centered"/></p>
<p>Disassembled, the two parts look like this:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-replace-toner-4.jpg" width="480" height="418" alt="" border="0" class="centered"/></p>
<p>The part in blue is the drum. Be careful not to get fingerprints on the drum itself (the round cylinder at the end).</p>
<p>The part in green is the toner.</p>
</div>
<p><strong>3) Lay</strong> the toner and drum assembly on a clean, flat surface (preferably with a sheet of paper underneath in case some toner spills out) with the green tabs facing up:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-replace-toner-3.jpg" width="480" height="193" alt="" border="0" class="centered"/></p>
<p><strong>4) Press</strong> down on the green latch (bottom left, if you have oriented your assembly like the image above) to unlatch the toner from the drum and remove the toner:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/12/3140-replace-toner-5.jpg" width="480" height="454" alt="" border="0" class="centered"/></p>
<p><strong>5) Insert</strong> the new toner into the drum assembly. It should fit and latch easily.</p>
<div class="c2">
<p>Before inserting the new toner, remember to gently tilt it from side to side to evenly distribute the toner inside.</p>
</div>
<p><strong>6) Slide</strong> the green slider on the drum assembly back and forth a few times. <strong>Remember</strong> to return it to its latched position.</p>
<p><strong>7) Reinsert</strong> the toner and drum assembly back into the printer. It should drop in easily.</p>
<p><strong>8) Close</strong> the printer an wait for it to go through its cycle.</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/replacing-the-toner-cartridge-in-a-brother-hl-3140cw-printer/">Replacing the Toner Cartridge in a Brother HL-3140CW Printer</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress &#8211; Preliminary Impressions of Photon in JetPack</title>
		<link>https://complete-concrete-concise.com/blog/wordpress-preliminary-impressions-of-photon-in-jetpack/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 26 Mar 2013 09:32:09 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Web Tools]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[impression]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[photon]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2714</guid>

					<description><![CDATA[<p>JetPack for WordPress now includes a feature called Photon: Photon works by using wordpress.com to cache and serve up images from your site. Since I am always looking for ways to reduce my bandwidth (and speed up performance), I enabled it. I have observed a reduction in the bandwidth: The 20th, 21st, and 22nd averaged [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/wordpress-preliminary-impressions-of-photon-in-jetpack/">WordPress &#8211; Preliminary Impressions of Photon in JetPack</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>JetPack for WordPress now includes a feature called Photon:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/jetpack-and-photo-2.png" alt="" border="0" class="centered"/></p>
<p>Photon works by using <code>wordpress.com</code> to cache and serve up images from your site.</p>
<p>Since I am always looking for ways to reduce my bandwidth (and speed up performance), I enabled it.</p>
<p>I have observed a reduction in the bandwidth:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2013/03/jetpack-and-photon-1-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/jetpack-and-photon-1-thumb.png" alt="" border="0" class="centered"/></a></p>
<p>The 20<sup>th</sup>, 21<sup>st</sup>, and 22<sup>nd</sup> averaged about 3% fewer page hits than on the 25<sup>th</sup> &#8211; but it is obvious that (with Photon enabled) I used less bandwidth on the 25<sup>th</sup> .</p>
<p>The 23<sup>rd</sup> and 24<sup>th</sup> are the weekend, so there is always a drop in traffic. I suspect the spike seen on the 24<sup>th</sup> is related to enabling Photon.</p>
<p>Based on very limited data, Photon appears to be working well and is saving me some bandwidth. It does not require me to change anything about my site (always a serious bonus).</p>
<div class="c1">
<p>One thing I don&#8217;t understand is why there are suddenly more clicks on my images:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/jetpack-and-photon-3.png" alt="" border="0" class="centered"/></p>
<p>As the screen capture shows, in approximately two days, there have been 204 clicks on cached images (the cached images have the URLs <code>i0.wp.com</code>, <code>i1.wp.com</code>, <code>i2.wp.com</code>), whereas, the other 5 days there were only 13 clicks on images on my site.</p>
</p></div>
<div class="c2">
<p><strong>Updated 27-March-2013 @ 14:49</strong></p>
<p>One problem I have noticed while using Photon is that when I update an image on an article (i.e. replace it), the change is not reflected in the cached version.</p>
<p>I tried disabling Photon and then re-enabling it, but it didn&#8217;t pick up the changes.</p>
<p>I will have to see if the changes get picked up at a later time &#8211; at the time of this update, it has been about 3 hours.</p>
</div>

<p>The post <a href="https://complete-concrete-concise.com/blog/wordpress-preliminary-impressions-of-photon-in-jetpack/">WordPress &#8211; Preliminary Impressions of Photon in JetPack</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Understanding the differences between various Linux distro&#039;s</title>
		<link>https://complete-concrete-concise.com/blog/understanding-the-differences-between-various-linux-distros/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 19 Mar 2013 14:57:05 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[arch]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[differences]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pear linux]]></category>
		<category><![CDATA[red hat]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[understanding]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2706</guid>

					<description><![CDATA[<p>There are many different operating systems (OS) out there. The most commonly known being Microsoft Windows and Mac OS, and then there is that OS called Linux that people keep talking about. It is not always clear what Linux is except that it is an operating system (sometimes claimed to be better than any other [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/understanding-the-differences-between-various-linux-distros/">Understanding the differences between various Linux distro&#039;s</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>There are many different operating systems (OS) out there. The most commonly known being Microsoft Windows and Mac OS, and then there is that OS called Linux that people keep talking about. </p>
<p>It is not always clear what Linux is except that it is an operating system (sometimes claimed to be better than any other operating system on the planet). When you look it up,  you are faced with a bewildering choice of operating systems that all claim to be Linux: Red Hat, Ubuntu, Slackware, Mandrake, Linux mint, PC Linux OS, Pear Linux, OpenSUSE, etc.</p>
<div class="c1">
<h1>Summary</h1>
<p>Fundamentally, all Linux distros are very similar. They are based on the Linux kernel which forms the core of all distros.</p>
<p>The difference between distros fundamentally boils down to:</p>
<ul>
<li>ease of installation</li>
<li>which GUI (Graphical User Interface) they provide (changeable in all distros)</li>
<li>the look and feel (colours, wallpapers, keyboard shortcuts, etc) they provide (customizable in all distros)</li>
<li>what applications (programs) they provide by default (again, users can install applications they feel they need)</li>
</ul>
<p>The last three are normally completely customizable by the user.</p>
<p>Each distro packages the Linux kernel with a bunch of programs and configures the way it looks, feels, and interacts with the user.</p>
<p>It does not make sense to change distributions because you don&#8217;t like the default interface or applications or colours.</p>
<p>It does make sense to change distributions because you are not getting the necessary hardware or software support you would like.</p>
</p></div>
<h1>What is an operating system</h1>
<p>An operating system is the first program that runs on the computer and continues to run even while you are running other programs.</p>
<div class="c1">
<p>Strictly speaking, the boot loader is the first program to run because it loads the operating system. But that&#8217;s being really picky.</p>
</div>
<h1>What does an operating system do</h1>
<p>An operating system hides all the fiddly details about the hardware from programs that are running on the computer.</p>
<p>There are many keyboards, mice, hard disks, printers, graphics cards, and other hardware that do not necessarily operate or function the same way.</p>
<p>Before there were operating systems, programmers wrote code specifically for the hardware connected to the computer. If the hardware changed (suppose the printer was changed) it usually meant that all programs using that hardware had to be rewritten because the hardware was now different.</p>
<p>An operating system shields the program from the nitty-gritty details of the hardware and provides it with a standard interface to the hardware. Consider a printer: regardless of what printer is connected to the computer the operating system presents the same standard interface and the program uses this interface. The operating system handles communicating with the printer through something called a driver. The driver is a special program that converts information passed through the standard interface into something the hardware can use.</p>
<div class="c1">
<p>A common problem in Linux is the lack of drivers for hardware. It is not uncommon to buy a piece of hardware (printer, scanner, video card, Wi-Fi adapter, etc) only to discover that Linux does not support it. </p>
</div>
<p>At the heart of every Linux distro is the Linux kernel. This is the core operating system. There is only one Linux kernel. You can find the source code for the Linux kernel <a href="https://www.kernel.org/">here</a>.</p>
<p>There are various versions of the Linux kernel:</p>
<ul>
<li>older versions that are no longer being developed but have long-term support </li>
<li>versions that are current and stable</li>
<li>future versions under development &#8211; these may or may not be stable and may include new features</li>
<li>finally, there are often several branches of the main kernels that contain experimental features &#8211; these may or may not find their way into the main kernel</li>
</ul>
<h1>If all Linux distro&#8217;s use the same kernel why are there so many Linux distro&#8217;s?</h1>
<p>Each Linux distro decides which kernel it will use:</p>
<ul>
<li>some distro&#8217;s play it safe and use only a stable kernel</li>
<li>more conservative distros may only use older kernels</li>
<li>other distro&#8217;s like to use the latest stable version</li>
<li>other distro&#8217;s are more cutting edge and use the development branch including changes that are still under development and possibly experimental.</li>
</ul>
<p>The kernel itself is not very exciting &#8211; it just runs on your hardware, stays in the background and manages the computer. What makes a computer useful is not the operating system that&#8217;s running on it but the programs and applications that are run on the computer.</p>
<h1>Four key areas where distros differ:</h1>
<ol>
<li>installation</li>
<li>the kernel</li>
<li>the look and feel</li>
<li>programs and applications</li>
</ol>
<h1>Installation</h1>
<p>This is usually the first experience a user has with a Linux distro.</p>
<p>The way in which various Linux distros install themselves is usually the first experience a user has with the distro.</p>
<p>Some distros focus on a very simple installation procedure &#8211; essentially, the user provides some basic and non-technical information and the distro uses preconfigured settings for everything else. Ubuntu is a distro that takes this approach &#8211; it is not exactly a one-click installation process, but it comes very close. This is suitable for the typical user.</p>
<p>Other distros have a more involved installation procedure that requires the user to answer a number of technical questions before installing. These questions may include questions about partitioning the hard disk, what file system to format each partition, etc. There is a wide range of how technical these installations can be.</p>
<p>Finally, some distros give the user complete control over the installation process and are very technical. Slackware is a distro that takes this approach &#8211; it assumes a technical and knowledgeable user is doing the installation.</p>
<p>Of course, you don&#8217;t have to install from a distro &#8211; you can download the Linux kernel, build it yourself, and install it yourself.</p>
<h1>The Kernel</h1>
<p>The kernel is the core of the operating system. It is the program that always runs on the computer and provides the necessary services to access all the devices on the computer, as well as handling memory management, program loading, etc.</p>
<p>Most Linux distros released around the same time use the same base kernel.</p>
<p>Some distros, like Slackware, use the kernel as is from the kernel repository &#8211; if you want something extra, you have to add it yourself.</p>
<p>Other distros, like Ubuntu, modify the kernel by including changes and patches that provide support for more hardware. These changes may not be fully stable for new hardware (which is why they are not part of the base kernel) or they may not be fully open or they may contain patented technology.</p>
<div class="c1">
<p>A problem I have observed with Ubuntu is that interim releases (like 11.10 and 12.10) often have problems (eventually they get fixed). I have not noticed any problems with the Long Term Support (LTS) releases (like 12.04 LTS).</p>
</div>
<div class="c2">
<p>Linux is licensed under the GPL license, which, basically, allows free copying and distribution of the code but also requires developers to share their code under the same license. Some developers (notably hardware manufacturers) are reluctant to release the source code (because this means competitors can see how their code and devices work &#8211; thus giving them insider information on a competitors product). Instead of releasing source code (which can be ported to other platforms or modified by other developers) they release BLOBs (Binary Large OBjects) which only work on certain hardware platforms. For example, a BLOB released for x86 compatible processors, will not work on ARM based processors.</p>
<p>Patented technology (unless freely licensed) is not compatible with the GPL because the GPL requires that everything be freely available and redistributable &#8211; including the use and implementation of patents.</p>
</div>
<p>Some distros are ideologically based and refuse to include non-open and non-free code and technology. <a href="http://www.gnewsense.org/">gNewSense</a> is an example of such a distro. This means they support fewer hardware devices than distros that include BLOBs or potentially unlicensed patented technology. As well, some commonly expected features / behaviour may not work either &#8211; for example, viewing videos on YouTube.</p>
<p>Other distros are more specialized and may include patches (changes) necessary to support hard real time requirements. These changes are not trivial and consequently, real time distros tend to be based on older kernels. <a href="http://www.lynuxworks.com/rtos/rtos.php">LynxOS</a> is an example of a real time OS that is based on the older version 2.6 Linux kernel.</p>
<p>Having said all that, the core of the kernel is pretty much the same from one Linux distro to the next and from the typical user&#8217;s perspective, you can expect they behave pretty much the same way.</p>
<h1>Look and Feel</h1>
<p>This is what most users see and experience when they interact with a Linux system.</p>
<p>The system can be command line driven, in which case it looks something like this:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-1-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-1-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>or it can be a GUI based system &#8211; in which case there are many, many variations. Some of which are shown below:</p>
<div class="c1">
<p>The MATE desktop running on Ubuntu:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-mate-desktop-big1.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-mate-desktop-thumb1.png" alt="" border="0" class="centered" /></a></p>
</div>
<div class="c2">
<p>The basic LXDE desktop:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-lxde-desktop-big.jpg" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-lxde-desktop-thumb.jpg" alt="" border="0" class="centered" /></a></p>
</div>
<p>All GUI based distros use <code>X-server</code> to provide the graphical control. <code>X-server</code> in turn communicates with video hardware drivers.</p>
<p>On top of <code>x-server</code> distros will install a window manager. There are four major window managers: GNOME, KDE, LXDE, and XFCE (roughly listed in order of popularity). There are also dozens of other window managers. These are then customized with how the windows actually look, the colours, the background wallpaper or colour, keyboard shortcuts, etc.</p>
<p>Even if two distros use the same window manager, they can look radically different. Below are screenshots from some GNOME based distros:</p>
<div class="c1">
<p>This is the Cinnamon desktop running on Ubuntu. Cinnamon is a customized version of the GNOME desktop. Notice it uses the Ubuntu colour scheme (but you can change that):</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-install-cinnamon-desktop-big.jpg" target="_blank"><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/04/ubuntu-12.04-install-cinnamon-desktop-thumb.jpg" width="480" height="395" alt="" border="0" class="centered" /></a></p>
</div>
<div class="c2">
<p>This is the Unity desktop running on Ubuntu. Unity is a customized version of the GNOME desktop:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-2-big.jpg" target="_blank"><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-2-thumb.jpg" width="480" height="234" alt="" border="0" class="centered"/></a></div>
<h1>Programs and Applications</h1>
<p>The kernel and look and feel of  a Linux system is not particularly useful because the typical user expects to be able to use the system to do work. Whether this is editing documents, surfing the web, developing programs, editing audio or video files, playing games, etc.</p>
<p>All this is done with programs or applications. There are usually many different programs for various tasks a user might want to perform.</p>
<p>For example, browsing the web: there is FireFox, Chrome, Konqueror, and many other web browsers. Each distro includes programs that they feel the user wants (or needs).</p>
<p>For example, Ubuntu is a general purpose desktop OS. It includes a number of basic applications that of use to users: LibreOffice (office suite), FireFox (web browser), gedit (file editor), Nautilus (file manager), etc.</p>
<p>Ubuntu Studio, which is based on Ubuntu, includes a number of applications that are of interest to media developers: GIMP (image editing program), Blender (a 3D content creation suite), OpenShot (a simple video editor), Scribus (a pdf document creator), etc.</p>
<p>Many Linux distros are based on other distros. Essentially, there are four fundamental distros from which all the rest are derived:</p>
<ol>
<li><a href="http://www.slackware.com/">Slackware</a></li>
<li><a href="http://www.debian.org/">Debian</a></li>
<li><a href="http://www.redhat.com/">Red Hat</a></li>
<li><a href="https://www.archlinux.org/">Arch</a></li>
</ol>
<p><a href="http://www.linuxmint.com/">Linux Mint</a> and <a href="http://pearlinux.fr/">Pear Linux</a> are based on <a href="http://www.ubuntu.com/">Ubuntu</a> which, in turn, is based on Debian.</p>
<h1>Should You Change Distros?</h1>
<p>A common refrain in the Linux community is that if you don&#8217;t like a particular Linux distro, you can choose to install a different distro.</p>
<h3>Does this make sense?</h3>
<p>It depends.</p>
<p>Installing a different distro means that you may potentially lose all your work (unless you&#8217;ve made backups) because installing a new distro will over write the existing one.</p>
<p>Most times, what users want is a different GUI interface (look and feel) or maybe a different application.</p>
<p>Linux distros are developed and maintained by many different individuals and groups. Some distros are produced by just one person, others by a few enthusiasts, and others by companies.</p>
<p>If you choose a distro developed by a single developer, can you be sure the person is going to continue developing and maintaining their distro? If a distro is developed by a company, can you be sure the company is going to be around the next time you want to upgrade?</p>
<p>Personally, I would choose to go with a major distributor that has been around a while. My personal preference is for Ubuntu (even if you don&#8217;t like Unity, you can change it for some other desktop and customize it yourself) because they have the easiest installation, good support and, in general, just works &#8220;out of the box&#8221;.</p>
<p>Having said that, if you go with Linux Mint or Pear Linux, you are still getting a distro based on Ubuntu (they even use Ubuntu&#8217;s servers for much of their base), and make use of Ubuntu&#8217;s simple installation process and, like Ubuntu, just work out of the box.</p>
<p>The only time I would consider switching distributions is if the support (whether hardware or software) is not there. Otherwise, I would recommend customizing what you have to look and work the way you want it.</p>
<p>Looked at another way, would you move because you no longer like the colour of the walls in your living room, or would you repaint the living room?</p>
<h1>Additional Resources</h1>
<p>For more information about specific Linux distributions you can always check the distro&#8217;s website.</p>
<p>An excellent resource is <a href="http://distrowatch.com/">DistroWatch</a> which has information on several hundred Linux distros (it also includes information on other Unix like OSes, like BSD).</p>
<p>There is a search bar in the top left of the site where you can type in the name of the distro, or a drop down menu from which you can select a distro:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2013/03/linux-differences-3.png" alt="" border="0" class="centered"/></p>
<p>There are many other search options available. You can see a ranking of weekly and monthly distro popularity.</p>
<p>Another good resource is the Wikipedia <a href="http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions">Comparison of Linux Distributions</a>. It is not as exhaustive as DistroWatch, but it does present the information in table form.</p>
<p>A graphical representation of Linux distributions based on (1) their base origin and (2) the year they were introduced is available <a href="http://futurist.se/gldt/">here</a>. It currently lists over 450 Linux distributions &#8211; some of which no longer exist.</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/understanding-the-differences-between-various-linux-distros/">Understanding the differences between various Linux distro&#039;s</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Review of the Lazer 7&#034; (MID7109) Tablet</title>
		<link>https://complete-concrete-concise.com/blog/review-of-the-lazer-7-mid7109-tablet/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 30 Oct 2012 07:25:13 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Lazer 7" tablet]]></category>
		<category><![CDATA[lazer tablet]]></category>
		<category><![CDATA[mk802]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[ug802]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2526</guid>

					<description><![CDATA[<p>Alcampo (the Spanish arm of the French Auchan chain) had Lazer 7&#8243; tablets on sale for &#8364;79 (they also had a 10&#8243; version for &#8364;149). Given that the price was unbelievable, I bought one. Reasons for Buying There were two reasons I bought it: 1) The whole idea of a tablet is cool. I watch [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/review-of-the-lazer-7-mid7109-tablet/">Review of the Lazer 7&quot; (MID7109) Tablet</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Alcampo (the Spanish arm of the French Auchan chain) had Lazer 7&#8243; tablets on sale for &#8364;79 (they also had a 10&#8243; version for &#8364;149).</p>
<p>Given that the price was unbelievable, I bought one.</p>
<h3>Reasons for Buying</h3>
<p>There were two reasons I bought it:</p>
<p>1) The whole idea of a tablet is cool. I watch my kids using their iPods as portable total connectivity devices and would like the same &#8211; though bigger and not so squinty eyed for my aging eyes. Besides, there are many times when it simply doesn&#8217;t make sense or is inconvenient to have to use the computer or laptop (why can&#8217;t I read PDF files anywhere / everywhere? Check on the weather? See what movies are playing?).</p>
<p>2) Most importantly, it has the same specs as the <a href="//complete-concrete-concise.com/blog/raspberry-pi-and-the-mk802-a-side-by-side-comparison">MK802</a> (basically a computer on a USB stick). The MK802 has not turned out to be as good as I hoped and it is a bit inconvenient to use since the only HDMI display I have is the TV in the basement. I was hoping that the Lazer 7&#8243; would be a useful double for the MK802 (with the added bonus of having a display).</p>
<h3>The Specs</h3>
<div class="c1">
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/10/lazer-1.jpg" width="480" height="308" alt="" border="0" class="centered"/></p>
<p>The box the Lazer 7&#8243; comes in.</p>
</div>
<ul>
<li>Allwinner A10 CPU running at 1GHz</li>
<li>1 GB RAM</li>
<li>4 GB Flash memory</li>
<li>7&#8243; display </li>
<li>800 x 480 resolution</li>
<li>capacitive touch screen</li>
<li>WiFi</li>
<li>HDMI output</li>
<li>1.3 megapixel camera (front facing, located in corner)
<li>Android 4.0.3 preinstalled</li>
</ul>
<p>I was concerned about the display resolution because I thought it a little on the low side. (The 10&#8243; version has exactly the same specs, except the display has a resolution of 1024&#215;600 &#8211; but I couldn&#8217;t justify shelling out an extra &#8364;70 for a 3&#8243; larger display and slightly increased resolution.</p>
<div class="c1">
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/10/lazer-2.jpg" width="480" height="401" alt="" border="0" class="centered"/></p>
<p>The Lazer 7&#8243; next to the MK802. The only difference between the two devices is the presence / absence of a display panel &#8211; otherwise, they have identical hardware specs.</p>
</div>
<h3>Display Performance</h3>
<p>The display is fine for graphical applications (like playing Angry Birds), but, as I feared, has limitations when it comes to reading text.</p>
<p>Reading a PDF document in portrait mode is just not possible.</p>
<p>Reading a PDF document landscape mode is possible and if this was the only limitation of the device, then I would be fine with it.</p>
<h3>Touch Screen Performance</h3>
<p>The display was completely responsive to my touches and gestures. The only thing I noted was that it was perhaps a little too responsive &#8211; hovering my finger just above the display (i.e. almost touching it) would sometimes cause it to respond as though I had double tapped it (clearly, I shouldn&#8217;t be hovering my finger so close to the display).</p>
<p>There was no sense of sluggishness or unresponsiveness in the touch screen.</p>
<h3>Application Performance</h3>
<p>Applications (with the exception of anything needing the Internet) run fine. There is no sense that they are starved of CPU power (this is even true of the MK802 on which I play Angry Birds at 1920x1080i @ 60hz with no sense of the processor struggling under the load).</p>
<h3>WiFi / Internet Performance</h3>
<p>This is the Achilles heel of the Lazer 7&#8243; Tablet (and the <a href="//complete-concrete-concise.com/blog/raspberry-pi-and-the-mk802-a-side-by-side-comparison">MK802</a> and, even the <a href="//complete-concrete-concise.com/blog/the-ug802-a-new-entry-in-the-ultra-low-cost-ultraportable-computer-war">UG802</a>) &#8211; for some reason, the networking performance is abysmal.</p>
<p>It took over 10 minutes to start playing the following 2 minute, 12 second <a href="http://youtu.be/HU5zqidlxMQ">video</a>. This sluggish behaviour is identical on the MK802 and the UG802 (although, the UG802 does seem to perform noticeably better).</p>
<p>I don&#8217;t know what the problem is:</p>
<ul>
<li>Is Android&#8217;s WiFi / Network performance lousy? </li>
<li>Is the problem the way the WiFi has been implemented?</li>
<li>Does the problem lie in AllWinner&#8217;s version of Android?</li>
<li>Is it poor Flash memory write speeds?</li>
<li>Is the entire video being buffered before being played?</li>
<li>etc, etc, etc</li>
</ul>
<p>Whatever the problem is, it makes the Lazer 7&#8243; Tablet useless as an <u>always connected to the Internet</u> device.</p>
<p>Even forgoing the problem with Youtube, just browsing around for information is a pain.</p>
<p>On the iPod, the video starts playing about 15 seconds; if I search for things, the response is much faster.</p>
<div class="c1">
<p><strong>Update 08-Nov-2012 :</strong> it appears this is an Android / Chrome problem. This <a href="http://www.osnews.com/story/26269/Review_Nexus_7">review of the Google Nexus 7</a> (11-Aug-2012), seems to have the same (or similar) issue:</p>
<blockquote><p>&#8230;during page loading, the browser still often becomes unresponsive, and the loading itself will often take longer than it should &#8211; especially considering the quad-core processor and 120Mbit/s connection I&#8217;m on. &#8230;</p>
<p>Furthermore, typing in the address bar is an exercise in frustration, as it will often take seconds for the device to catch up with your typing&#8230;</p></blockquote>
<p>And a <a href="http://www.osnews.com/story/26529/Google_please_fix_Chrome_for_Android">follow up rant</a> (07-Nov-2012) doesn&#8217;t indicate any improvement:</p>
<blockquote><p>The entire Android experience &#8230; is pretty awesome and has few issues, but Chrome ruins everything. The browser is a crucial aspect of a tablet &#8230;</p></blockquote>
</div>
<h3>Conclusion</h3>
<p>Unless you want to use the tablet just for playing pre-installed games or maybe watching pre-loaded videos, I can&#8217;t recommend it for two reasons:</p>
<ol>
<li>the display resolution effectively rules out using text on it (unless you are in landscape mode)</li>
<li>the WiFi / Network performance is outrageously bad &#8211; to the point that it is effectively unusable as a networked device (this also applies to the MK802 and UG802)</li>
</ol>

<p>The post <a href="https://complete-concrete-concise.com/blog/review-of-the-lazer-7-mid7109-tablet/">Review of the Lazer 7&quot; (MID7109) Tablet</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The UG802 a New Entry in the Ultra Low Cost, Ultraportable Computer War</title>
		<link>https://complete-concrete-concise.com/blog/the-ug802-a-new-entry-in-the-ultra-low-cost-ultraportable-computer-war/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Fri, 07 Sep 2012 18:13:23 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[allwinner a10]]></category>
		<category><![CDATA[mk802]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[rk 3066]]></category>
		<category><![CDATA[rockchip]]></category>
		<category><![CDATA[ug802]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2323</guid>

					<description><![CDATA[<p>It seems that hardly a week goes by these past few months without some announcement of a new ultra low cost (usually USB stick sized) computer. This flurry of activity was kicked off by the Raspberry Pi (a $35 bare bones, exposed circuit board, hobbyist computer featuring a 700MHz ARM CPU, 256MB of RAM). I [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/the-ug802-a-new-entry-in-the-ultra-low-cost-ultraportable-computer-war/">The UG802 a New Entry in the Ultra Low Cost, Ultraportable Computer War</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>It seems that hardly a week goes by these past few months without some announcement of a new ultra low cost (usually USB stick sized) computer.</p>
<p>This flurry of activity was kicked off by the <a href="http://raspberrypi.org">Raspberry Pi</a> (a $35 bare bones, exposed circuit board, hobbyist computer featuring a 700MHz ARM CPU, 256MB of RAM).</p>
<p>I think the next serious contender was the RikoMagic MK802 (a 1GHz ARM CPU, with 1GB of RAM, and 4GB of Flash) fully encased in a oversized USB stick form factor.</p>
<div class="c1">
<p>You can read a comparison of the two over <a href="//complete-concrete-concise.com/blog/raspberry-pi-and-the-mk802-a-side-by-side-comparison">here</a>.</p>
</div>
<p>The Raspberry Pi is coming out with a second generation version. The MK802 has spawned two minor revisions (the first being a small board redesign and coming in more colours, the second being a slightly revised form factor that has 3 USB ports and an HDMI plug instead of socket, as well, it doesn&#8217;t need a separate power adapter &#8211; it can be powered directly off a USB port).</p>
<p>Other similar computers include:</p>
<ul>
<li><a href="http://cubieboard.org/">CubieBoard</a> &#8211; this is an AllWinner A10 (as in the MK802) Raspberry Pi style open circuit board.</li>
<li><a href="http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G133999328931">ODROID-X</a> &#8211; quad core, 1.4GHz, open circuit board based on the Exynnos 4412 CPU</li>
<li><a href="http://apc.io/">APC 8750</a> &#8211; another open circuit board (neo-ITX form factor) based on the VIA WonderMedia ARM 11 CPU</li>
<li><a href="http://www.viaembedded.com/en/products/boards/1950/1/EPIA-P910.html">EPIA-P910 </a>&#8211; quad core, 64-bit x86 compatible processor, open circuit board</li>
</ul>
<div class="c1">
<p>This is not an exhaustive list. You can easily find more computers in this category.</p>
</div>
<p>The latest entry to this group is the UG802:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/09/ug802.jpg" alt="" title="ug802" width="480" height="374" class="centered"/></p>
<p>The UG802 is based on the Rockchip RK3066 ARM CPU. It features:</p>
<ul>
<li>dual core, 1.2GHz ARM-A9 CPU</li>
<li>32kB data + 32kB instruction cache</li>
<li>512kB L2 cache</li>
<li>quad core Mali 400 GPU @ 250MHz (while running at half the speed of the AllWinner A10 Mali 400 GPU, in theory, you could divide your display among the 4 and experience double the performance of the AllWinner A10)</li>
<li>1 GB RAM</li>
<li>4 GB Flash</li>
<li>HDMI plug</li>
<li>1 USB connector</li>
<li>1 micro-SD connector</li>
<li>Android 4 installed</li>
</ul>
<p>You can order it <a href="http://www.aliexpress.com/item/First-Dual-Core-UG802-Android-Mini-PC-Upgrade-of-MK802-IPTV-1G-RAM-4GB-ROM-Quad/618712540.html">here</a>. (There are also more pictures there.) <strong>NOTE:</strong> I have ordered one, but I have not yet received it.</p>
<p>Because the CPU is different from the original MK802 (Rockchip RK3066 vs AllWinner A10), I don&#8217;t expect to be able to just drop an existing MK802 ISO image onto the UG802 &#8211; special distros will be required if you want to hack on anything other than the Android platform. <strong>NOTE:</strong> at this time, there are no alternate OSes for the hardware &#8211; Android is the only one.</p>
<h1>Resources</h1>
<div class="c3">
<p>These are external sites and were deemed safe and relevant at the time they were included.</p>
</div>
<p>You can find the RK3066 datasheet <a href="http://tabreview.ru/content/pdf_docs/RK3066_datasheet_brief.pdf">here</a>.</p>
<p>You can find a forum for the device <a href="http://www.ovalelephant.com/forum/">here</a>.</p>
<div class="c1">
<p>The image is taken from the dealer&#8217;s website where I ordered mine from.</p>
</div>

<p>The post <a href="https://complete-concrete-concise.com/blog/the-ug802-a-new-entry-in-the-ultra-low-cost-ultraportable-computer-war/">The UG802 a New Entry in the Ultra Low Cost, Ultraportable Computer War</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Raspberry Pi and the MK802 a Side-by-Side Comparison</title>
		<link>https://complete-concrete-concise.com/blog/raspberry-pi-and-the-mk802-a-side-by-side-comparison/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Fri, 27 Jul 2012 20:10:40 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[allwinner a10]]></category>
		<category><![CDATA[broadcom bcm2835]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[mali 400]]></category>
		<category><![CDATA[mk802]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[rikomagic]]></category>
		<category><![CDATA[videocore 4]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2288</guid>

					<description><![CDATA[<p>All information and links presented were considered accurate as of 02-August-2012. All links to external sites were deemed safe and relevant at the time this article was written. If they cease being valid or safe, please let me know. The Raspberry Pi and MK802 are sub US$100 computers. Raspberry Pi This was the first sub [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/raspberry-pi-and-the-mk802-a-side-by-side-comparison/">Raspberry Pi and the MK802 a Side-by-Side Comparison</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
All information and links presented were considered accurate as of 02-August-2012.
</div>
<div class="c2">
All links to external sites were deemed safe and relevant at the time this article was written.<br />
If they cease being valid or safe, please let me know.
</div>
<p>The Raspberry Pi and MK802 are sub US$100 computers.</p>
<h1>Raspberry Pi</h1>
<p>This was the first sub US$100 computer I heard about. There are two models (A and B). The A model is priced at US$25 and the B model at US$35.<br />
I have the B model (the A model is still not available). In terms of hardware, the A and B model are identical except that the A model has only 1 USB connector (instead of 2) and no Ethernet port.<br />
It is developed by the Raspberry Pi Foundation, a not for profit organization.<br />
The Raspberry Pi site is <a href="http://raspberrypi.org">here</a>.<br />
I ordered my Raspberry Pi from <a href="http://www.rs-components.com/raspberrypi">here</a>.</p>
<h1>MK802</h1>
<p>This was the second sub US$100 computer I heard about. There are two models &#8211; one with 1GB of RAM, the other with 512MB of RAM.<br />
I have the 1GB version. The 512MB version is about US$10 cheaper.<br />
The MK802 is developed and manufactured by Rikomagic.<br />
The Rikomagic site (Chinese, though there is an English language option) is <a href="http://www.rikomagic.com/">here</a>.<br />
<del datetime="2013-07-02T16:42:17+00:00">There is UK Rikomagic forum <a href="http://www.rikomagic.co.uk/">here</a>. As far as I can tell, it has no connection with the Chinese Rikomagic site &#8211; it was registered by <a href="http://www.cloudsto.com/">Cloudsto Electronics</a> on 23-May-2012.</del> <strong>Note:</strong> This site no longer exists.<br />
I ordered my MK802 from <a href="http://www.aliexpress.com/product-gs/569607164-Fast-Shipping-MK802-Android4-0-IPTV-Mini-Android-4-0-PC-android-box-1G-RAM-2-wholesalers.html">here</a>. <span class="i1">NOTE: AliExpress is a bazaar of suppliers. I had no problem with the supplier I used, however, I make no claims about the reliability of other suppliers &#8211; always check the comments and feedback for each supplier.</span><br />
The same supplier (which, I believe, claims to be the manufacturer) also sells just the <a href="http://www.aliexpress.com/product-gs/567865636-New-Arrival-MK802-Android-4-0-Mini-PC-on-a-stick-Thumb-Drive-Android4-0-IPTV-wholesalers.html">1GB unit for U$57</a> (price on 10-Aug-2012). If you order 100 or more units, they can add your logo / branding to the individual units.<br />
I ordered mine with the Lenovo N5901 wireless keyboard / mouse. Personally, I found the keyboard too small for my hands.</p>
<h1>First Impressions</h1>
<div class="c1">
Some images may be clicked for full sized versions.
</div>
<p>Both the Raspberry Pi and MK802 come in similarly sized packages:<br />
<img loading="lazy" decoding="async" class="centered" alt="" src="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-1.jpg" width="480" height="364" border="0" /><br />
With the Raspberry Pi you get:</p>
<ol>
<li>the box</li>
<li>some foam padding (not shown)</li>
<li>the Raspberry Pi</li>
<li>an anti-static bag (in which the Pi was sealed)</li>
<li>a single page compliance and safety sheet</li>
<li>a single page quick start guide</li>
</ol>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-2-big.jpg"><img loading="lazy" decoding="async" class="centered" alt="" src="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-2-thumb.jpg" width="480" height="477" border="0" /></a><br />
With the MK802 you get:</p>
<ol>
<li>the box</li>
<li>a plastic tray (not shown)</li>
<li>the MK802</li>
<li>a power adapter</li>
<li>an HDMI cable</li>
<li>a USB to micro USB cable</li>
<li>a micro USB to USB adapter</li>
<li>an 40 page (English and Chinese) user&#8217;s manual</li>
</ol>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-3-big.jpg"><img loading="lazy" decoding="async" class="centered" alt="" src="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-3-thumb.jpg" width="480" height="282" border="0" /></a><br />
Side by side, they look like this (the MK802 comes in either black or white):<br />
<a href="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-2-big.jpg"><img loading="lazy" decoding="async" class="centered" alt="" src="//complete-concrete-concise.com/wp-content/uploads/2012/08/pi-mk802-4-thumb.jpg" width="480" height="591" border="0" /></a></p>
<h1>The Specs</h1>
<table align="center">
<tbody>
<tr>
<td></td>
<td>Raspberry Pi</td>
<td>MK802</td>
<td>Comment</td>
</tr>
<tr>
<td>CPU</td>
<td>Broadcom BCM2835 running at 700Mhz</td>
<td>Allwinner A10 running at 1GHz</td>
<td>The MK802 is often incorrectly described as having a 1.5GHz CPU. It has a 1GHz CPU and a 500MHz GPU. Actually, the CPU is underclocked at 912MHz.</p>
<div class="c1">Update 31-Oct-2012: The Raspberry Pi can now be safely <a href="http://www.raspberrypi.org/archives/2008">overclocked to 1GHz</a>, thus negating much of the benefit of the faster A10.</div>
</td>
</tr>
<tr>
<td>GPU</td>
<td>Videocore 4</td>
<td>Mali 400</td>
<td>The MK802 is often incorrectly stated as having an AMD Z430 GPU.</td>
</tr>
<tr>
<td>RAM</td>
<td>256MB DDR2</td>
<td>1GB DDR3</td>
<td>The MK802 comes in two versions one with 512MB, the other with 1GB.</p>
<div class="c1">Update 31-Oct-2012: the model B Raspberry Pi now comes with 512MB of RAM (as far as I know, the model A is still not shipping)</div>
</td>
</tr>
<tr>
<td>Flash Memory</td>
<td>None</td>
<td>4GB</td>
<td>The Raspberry Pi comes with no flash memory or storage. You are required to provide an SD card.<br />
The MK802 comes with 4GB of flash memory installed. While the MK802 manual states it can come with up to 16GB of flash, I have not seen any models with anything other than 4GB. The MK802 does have a micro-SDHC slot where you can add more flash memory.</td>
</tr>
<tr>
<td>L1 Cache</td>
<td>32kB instruction and data</td>
<td>32kB instruction + 32kB data</td>
<td>For the Broadcom BCM2835, it is not clear if the 32k cache is shared between the instruction and data or each has 32k. My best guess is that it is 32k + 32k.</td>
</tr>
<tr>
<td>L2 Cache</td>
<td>128kB</td>
<td>256kB</td>
<td>On the Broadcom BCM2835, the L2 cache is reserved for use by the GPU. Unless explicitly enabled, the CPU bypasses the L2 cache.<br />
It is not specified if the Allwinner A10 uses a similar strategy.</td>
</tr>
<tr>
<td>USB Ports</td>
<td>2 full size<br />
1 micro-USB for power only</td>
<td>1 full size<br />
1 micro-USB</td>
<td>Model A of the Raspberry Pi has only 1 USB port and 1 micro-USB port for power.</td>
</tr>
<tr>
<td>Video Connector</td>
<td>HDMI<br />
RCA composite (PAL and NTSC)</td>
<td>HDMI</td>
<td></td>
</tr>
<tr>
<td>SD / SDHC Connector</td>
<td>Yes</td>
<td>No</td>
<td></td>
</tr>
<tr>
<td>Micro-SDHC Connector</td>
<td>No</td>
<td>Yes</td>
<td></td>
</tr>
<tr>
<td>Power</td>
<td>5V @ 700mA via micro-USB connector</td>
<td>5V @ 2A via a 0.7mm plug</td>
<td>The power adapter provided with the MK802 is a 5V, 2A power adapter. I don&#8217;t know the spec&#8217;d power requirements for the MK802.<br />
Raspberry Pi Model A is spec&#8217;d at 5V @ 300mA</td>
</tr>
<tr>
<td>Ethernet ports</td>
<td>1 full sized</td>
<td>None</td>
<td>Model A of the Raspberry Pi does <span style="text-decoration: underline;">NOT</span> have an Ethernet port.</td>
</tr>
<tr>
<td>Wi-Fi</td>
<td>None</td>
<td>802.11b/g</td>
<td></td>
</tr>
<tr>
<td>Weight</td>
<td>38g</td>
<td>28g</td>
<td>The Raspberry Pi is spec&#8217;d at 45g, but on my scale it weighed 38g.</td>
</tr>
</tbody>
</table>
<h1>Experiences</h1>
<p>Both devices work and (at least for me) are wonderfully amazing at how much power they pack for such small, low cost devices.<br />
The MK802 has an advantage over the Raspberry Pi because it comes with Android 4.0.3 preinstalled. Simply add a mouse, a display (my TV) and you are good to go. With the Raspberry Pi, you have to get an SD card and burn a Linux image to it.<br />
OS development for both devices has been good with (I think) a slight advantage to the Raspberry Pi.<br />
The preferred Linux for both seems to be Debian / Ubuntu.<br />
While neither machine can be called a speed demon (well, at least not compared to a desktop or laptop), they both performed well.<br />
The only issues I had were related to the OS (or maybe desktop or network stack) occasionally locking up. It has been a few weeks since I played with them (I moved house), so I am expecting the OSes to have stabilized even further.<br />
One serious limitation has been lack of hardware acceleration support from the GPU. This causes things like video playback (from, say, YouTube) to be very jerky.<br />
Having said that, running Android on the MK802 shows none of these limitations. High definition videos play smoothly at 1920&#215;1080. This makes me wonder why more effort is not spent on customizing Android instead of creating an ARM port of an existing Linux distribution (Android is a stripped down version of Linux customized for running on embedded hardware like phones and tablets. Most applications running on Android run in a Java virtual machine rather than natively).<br />
On 01-August-2012, the Raspberry Pi was shown running Android 4.0.</p>
<div class="c1">
Update 31-Oct-2012: a major frustration I have with the MK802 (and UG802) is the extremely poor network performance they exhibit. I am not sure if this is a hardware issue or driver issue.</p>
<div class="c2">
<strong>Update 08-Nov-2012 :</strong> it appears this is an Android / Chrome problem. This <a href="http://www.osnews.com/story/26269/Review_Nexus_7">review of the Google Nexus 7</a> (11-Aug-2012), seems to have the same (or similar) issue:</p>
<blockquote><p>…during page loading, the browser still often becomes unresponsive, and the loading itself will often take longer than it should – especially considering the quad-core processor and 120Mbit/s connection I’m on. …<br />
Furthermore, typing in the address bar is an exercise in frustration, as it will often take seconds for the device to catch up with your typing…</p></blockquote>
<p>And a <a href="http://www.osnews.com/story/26529/Google_please_fix_Chrome_for_Android">follow up rant</a> (07-Nov-2012) doesn&#8217;t indicate any improvement:</p>
<blockquote><p>The entire Android experience &#8230; is pretty awesome and has few issues, but Chrome ruins everything. The browser is a crucial aspect of a tablet &#8230;</p></blockquote>
</div>
</div>
<h1>Performance</h1>
<div class="c1">
I have not had a chance to benchmark both devices, so this commentary is &#8220;theoretical&#8221;.<br />
To run meaningful benchmarks it is necessary that both systems are running reasonably identical OSes. While I found the early OS versions to be usable, they were still far from being &#8220;production&#8221; level OSes. I expect OSes for both devices to achieve &#8220;maturity&#8221; sometime in the early Fall (September / October).</p>
<div class="c2">
Update 31-Oct-2012: Raspberry Pi development continues at a incredible pace, unfortunately, this is not the case for the MK802 &#8211; as far as I know, there has not been much advancement on the OS end of things, as well, video driver development is stalled because Allwinner is not cooperating.
</div>
</div>
<p>The Raspberry Pi runs an ARM 1176 based CPU. This is a 32-bit CPU with hardware floating point and 32 bit SIMD processing. It is rated at <a href="http://www.arm.com/products/processors/classic/arm11/arm1176.php">1.25 Dhrystones / Mhz</a> (see the <span style="text-decoration: underline;">Specifications</span> tab).<br />
The MK802 runs an ARM Cortex A8 based CPU. This is a dual-issue, 32-bit CPU with hardware floating point and 128 bit SIMD processing. It is rated at <a href="http://www.arm.com/products/processors/cortex-a/cortex-a8.php">2.0 Dhrystones / MHz</a> (see the <span style="text-decoration: underline;">Specifications</span> tab).<br />
The MK802 is clocked 30% higher than the Raspberry Pi (912MHz vs 700MHz). Based on the Dhrystone rating and clock frequency, we would expect the MK802 to be about 2.08 times faster than the Raspberry Pi. For small, tight loops this is probably true. In practice, the performance bottleneck is going to be the system memory.</p>
<div class="c1">
Update 31-Oct-2012: Now that the Raspberry Pi can be overclocked to 1GHz, the raw clock performance is reduced to the MK802 being about 55% faster (or 1.55 times faster)
</div>
<p>The Raspberry Pi is at a disadvantage against the MK802 because its L2 cache is smaller and is dedicated to the GPU (unless the MK802 also dedicates part or all of the L2 cache to its GPU). But this only matters for code and data of a certain size &#8211; anything smaller than 32kB will fit in the L1 caches and the MK802 should be about twice as fast as the Raspberry Pi.<br />
When the data and instructions spill into the L2 cache, the MK802 will show a significant advantage over the Raspberry Pi (unless, the Raspberry Pi enables L2 caching for the CPU).<br />
Beyond 128kB (Raspberry Pi) and 256kB (MK802) data and code, the limitation will be system memory. There are two factors here: (1) memory speed and (2) available memory.<br />
The real world performance difference between DDR2 and DDR3 memory is quite small (usually, less than 1%). If you are processing some large chunk of data (say sharpening an 8 Mpixel image), the processing is going to be bound by memory speed not CPU or cache. In this case, the performance difference between the Raspberry Pi and MK802 should be much smaller (I would expect the MK802 to be faster but not twice as fast).<br />
The amount of available memory is another significant factor. Both the Raspberry Pi and MK802 share their memory with the GPU, meaning that the available memory is less than the specified 256MB and 1GB.<br />
When a lot of memory is being used, the OS will swap memory to the disk (in this case, flash memory). Because it has less memory, the Raspberry Pi is more likely to swap to disk than the MK802. Of course, if you run only one task at a time, or have only one web page open at a time, this is less likely to occur. If you like to open dozens of web pages simultaneously, play music in the background, or have several applications open at the same time, then you are more likely to run into performance dominated by available memory and swapping.<br />
Although the &#8220;disk&#8221; is flash memory, not all flash memory is created equal and performance varies widely (it is little known that flash performs poorly at small read / write sizes. Even if you have the fastest rated card, it could still be a horrible performer at reading / writing 4kB data blocks &#8211; for example, my cheap Emtec (class 4) 8GB micro-SDHC card is 25x faster than my SanDisk Ultra II Compact Flash) at 4kB writes. To be fair, the SanDisk is more than twice as fast at 1MB writes. You can see a table of 4kB random writes to various flash media <a href="http://www.tomshardware.com/charts/2011-sd-cards/CrystalDiskMark-3.0-x64,2717.html">here</a>. In general, performance is very poor &#8211; sometimes as low as 10kB/s).<br />
From what I gather, the Mali 400 GPU (MK802) is more powerful than the Videocore 4 GPU (Raspberry Pi) &#8211; not that this is useful at the moment since no Linux distro offers hardware support for the GPU (aside from Android). Even if full hardware support was available, it is not something the average user would notice (as long as video playback is smooth).</p>
<div class="c1">
Update 31-Oct-2012: Broadcom has <a href="http://www.raspberrypi.org/archives/2221">open sourced the video drivers</a> for the Raspberry Pi, this gives the Pi a significant advantage over the MK802 and other ultra-mini computers. I believe Broadcom is the only company to have open sourced its drivers.
</div>
<p>A collection of GPU benchmarks can be found <a href="http://www.glbenchmark.com">here</a>. I have to complain that the benchmarks are not very accessible which means doing comparisons is a pain, but here are some selected results (mostly, that means I couldn&#8217;t be bothered to pull out more) and there is little explanation of what the benchmarks are doing:</p>
<table align="center">
<tbody>
<tr>
<td>Test</td>
<td>Raspberry Pi (Videocore 4)</td>
<td>MK802 (Mali 400)</td>
</tr>
<tr>
<td>Rendering a video called <span style="text-decoration: underline;">Egypt Standard</span> at 1280&#215;720. I presume the result is the number of frames rendered within a given test interval:</td>
<td>694</td>
<td>4207</td>
</tr>
<tr>
<td>Fill test: warm-up. I presume this is just filling the video display with a constant pattern. The results are in kTexels/s</td>
<td>~50 000</td>
<td>~200 000</td>
</tr>
<tr>
<td>Triangle test: warm-up. I presume this was drawing triangles to the video display. Resolution was HVGA (half-VGA, but it is not clear what the exact resolution was because there are several HVGA resolutions). The results are in kTriangles/s</td>
<td>~4000</td>
<td>~9000</td>
</tr>
</tbody>
</table>
<p>The results show the Mali 400 easily outpaces the Videocore 4 GPU, but, aside from bragging rights, this is not likely to affect the average user. The only time this would be an issue is if the GPU is used for accelerating some computations <a href="http://en.wikipedia.org/wiki/CUDA">CUDA</a> style.</p>
<div class="c1">
<strong>NOTE:</strong> there is no information about the OS these tests were run under, nor the speed of the GPU, nor which CPU was used, so there is a possibility of some fairly wide variance in the results.<br />
The GPU on the Raspberry Pi has a <a href="http://uk.rs-online.com/web/generalDisplay.html?id=raspberrypi&amp;cm_mmc=Offline-Referral-_-Electronics-_-RaspberryPi-201203-_-World-Selector-Page">claimed fill rate</a> of 1.5GTexels/s (or 1 500 000kTexels) &#8211; 30 times faster than achieved on the benchmark.
</div>
<h1>Conclusions?</h1>
<p>If I had to recommend one over the other, it would be the MK802.<br />
Having said that, I need to say the answer is not necessarily quite so straightforward and depends what you are looking for and looking to do.<br />
As well, both bring back a lot of the excitement that has been missing in hobby computing these past many years.</p>
<div class="c1">
Update 31-Oct-2012: I have changed my mind on the recommendation. It is clear that the Raspberry Pi has far more momentum and support behind it than the MK802. From a raw performance point of view, the MK802 is still superior to the Raspberry Pi, however, support and community is also very important &#8211; and this is something the Pi has far more of than the MK802.<br />
The only way I see myself changing my recommendation is if Allwinner puts proper support behind its A10 chip. Enthusiasts and hobbyists want to support this chip, but it is very frustrating if we have to grope around in the dark, hoping to stumble on something to make it work better.<br />
Allwinner and other SoC (<span style="text-decoration: underline;">S</span>ystem <span style="text-decoration: underline;">o</span>n a <span style="text-decoration: underline;">C</span>hip) vendors (like Rockchip) need to release more information and work closer with enthusiasts if they hope to get any significant share of the hobbyist market. Maybe they don&#8217;t care about that market, maybe they are only interested in bunging out as many chips as they can and getting them stuffed into low cost tablets. That is probably a good short-term business plan, but a lousy long-term business plan.<br />
Even if they get behind their chips now, it may be too late because the Raspberry Pi has a significant lead and mind share.
</div>
<h3>Cost</h3>
<p>Price is what attracted me to these devices. The Raspberry Pi is US$35, the MK802 is ~US$70.<br />
To get the Raspberry Pi up and running, I had to purchase an SD card, a power adapter, and an HDMI cable (ok, I had an SD card, but not a micro-USB power adapter or HDMI cable). As well, the Raspberry Pi does not have a case, so I need to be careful how I set it up so I don&#8217;t short anything out.<br />
The MK802 comes with everything you need to plug the device into a display. All you need to supply is a keyboard and mouse (or just a mouse). You also need to provide a keyboard and mouse for the Raspberry Pi.<br />
There is no question the MK802, once additional expenses to get the Raspberry Pi up and running are considered, is the better deal.<br />
I don&#8217;t deny the allure of hacking together your own case for the Raspberry Pi &#8211; if you are buying the Raspberry Pi, it is because you want to DIY.</p>
<h3>Performance and Value for Money</h3>
<p>This easily goes to the MK802 &#8211; you get more computer and power for your money. It comes with Android 4.0.3 installed, just add a mouse, plug it into a display and you are good to go.<br />
However, that is not necessarily important for everyone. In my case, I am interested in experimenting with these as nodes in cluster computing &#8211; so performance is one thing of interest to me. As well, the fact that the MK802 uses Wi-Fi instead of Ethernet is a big plus for me (reduces the number of cables lying around).<br />
If you are looking at teaching computing, computing power is less important. If you are looking at instilling a DIY ethos into children, computing power is less important. What is more important is community and support. From what I can tell, the Raspberry Pi is the clear winner in this area.<br />
According to the August 2012 MagPi (the Raspberry Pi users&#8217; journal) over 200 000 Raspberry Pi have been sold. There is a very large Raspberry Pi community: they have their own magazine (MagPi), there is a Raspberry Pi book coming out. I don&#8217;t think there is that much momentum behind the MK802. There are certainly enthusiastic developers, but the community seems a lot smaller.</p>
<div class="c1">
Update 17-Dec-2012: the Raspberry Pi now has its own <a href="http://www.raspberrypi.org/archives/2768">app store / marketplace</a> &#8211; again this puts it leaps and bounds ahead of any competition.
</div>
<p>As well, the Raspberry Pi Foundation (not-for-profit) is (I believe) looking long term (and the success of the Pi is likely to encourage them) and is focussed on community development.<br />
Rikomagic (a private company) is looking to make money, as long as the MK802 is profitable, they will continue to make it &#8211; if they can find something more profitable, I would expect them to jump at it. While there are MK802 enthusiasts, I am not convinced that Rikomagic itself is focussing energy on developing an MK802 community (I could be wrong).</p>
<h3>Expandability / Hackability</h3>
<p>This goes to the Raspberry Pi. It is an open circuit board. There are connectors that allow access to GPIO pins. The MK802 is enclosed. Nevertheless, there are USB GPIO modules available &#8211; whether or not they work with the MK802 is another matter.<br />
Offhand, the Raspberry Pi is a better fit for robotics experimentation, or even doing something simple like turning an LED on and off &#8211; basic embedded electronics exposure.</p>
<h3>Reliability</h3>
<p>Neither has failed on me. I do worry about the MK802 because it does run warmer than the Raspberry Pi. On the other hand, I do worry about the Raspberry Pi because it is completely exposed. For now, overheating is more of a concern to me than shorting out.</p>
<h1>Resources</h1>
<p><a href="http://linux-sunxi.org/images/3/33/A10_Datasheet.pdf">Allwinner A10 datasheet</a><br />
<a href="http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf">Broadcom BCM2835 datasheet</a><br />
<a href="http://www.themagpi.com/">Raspberry Pi Users&#8217; Magazine</a> &#8211; a very good resource. It is claimed the August 2012 issue was completely created using Raspberry Pi computers.<br />
Obviously, the <a href="http://www.raspberrypi.org/">Raspberry Pi</a> site.<br />
The <a href="http://www.rikomagic.com">Rikomagic</a> site (<strong>Note:</strong> they no longer have any info on the original MK802)<br />
<a href="http://liliputing.com/">Liliputing</a> &#8211; just search the site for MK802 and you will get a bunch of articles related to it.<br />
<a href="https://www.miniand.com/forums/categories/1">Miniand Tech</a> forum for the MK802. They have forums for other Allwinner A10 based products as well, they seem to be a good resource for developers.<br />
</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/raspberry-pi-and-the-mk802-a-side-by-side-comparison/">Raspberry Pi and the MK802 a Side-by-Side Comparison</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fedora 16 &#8211; First Impressions &#8211; Not Positive</title>
		<link>https://complete-concrete-concise.com/blog/fedora-16-first-impressions-not-positive/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 08 May 2012 23:45:45 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[fedora 16]]></category>
		<category><![CDATA[impression]]></category>
		<category><![CDATA[negative]]></category>
		<category><![CDATA[not positive]]></category>
		<category><![CDATA[not working]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2085</guid>

					<description><![CDATA[<p>UPDATED 11-May-2012 I have discovered that the problem with Software Updates and Add/Remove Software noted below was caused by VirtualBox Guest Additions not being correctly installed. This happened because the Linux kernel header files are not installed, GCC (a compiler) is not installed, make (a tool for GCC) is not installed. Installing gcc and make [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/fedora-16-first-impressions-not-positive/">Fedora 16 &#8211; First Impressions &#8211; Not Positive</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c4">
<p><strong>UPDATED 11-May-2012</strong></p>
<p>I have discovered that the problem with <u>Software Updates</u> and <u>Add/Remove Software</u> noted below was caused by <u>VirtualBox Guest Additions</u> not being correctly installed. This happened because</p>
<ol>
<li>the Linux kernel header files are not installed,</li>
<li>GCC (a compiler) is not installed,</li>
<li>make (a tool for GCC) is not installed.</li>
</ol>
<p>Installing <u>gcc</u> and <u>make</u> was not a problem. Installing the Linux kernel header files was. For some reason, <u>kernel-devel-3.1.0-7.fc16.i686.PAE</u> is not available (I am sure if I hunt around some more, I will find it, but that is beside the point, I am interested in install, test, use not install and fiddle around until I get some semblance of a usable system.</p>
<p>Notwithstanding the problems it has with VirtualBox Guest Additions, I still find it hard to like or recommend Fedora 16:</p>
<p>(1) The <u>Software</u> and <u>Add/Remove Software</u> applications are very slow. Clearly, it is getting info off the network, but I found it to be even slower than <u>Ubuntu Software Center</u></p>
<p>(2) It has a borderless white menu scheme, which looks nice on a dark background:</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-a.jpg" width="480" height="316" alt="" border="0" class="centered" /></p>
<p>but gets completely washed out when overlaying a white themed application (like the terminal):</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-b.jpg" width="480" height="301" alt="" border="0" class="centered" /></p>
<p>(3) It insists on popping up unnecessary warnings to users. This is from the <u>Add/Remove Software</u> application when you click on <u>Package Collections</u>:</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-c.png" alt="" border="0" class="centered" /></p>
<p>A better solution would be to either (1) refresh the cache without notifying the user, or (2) display a Yes / No dialog with the question: &#8220;The cache is invalid, would you like to refresh it?&#8221; (even that is too much information to the user). It should be option (1) and after 2 or 3 failures, then it should notify the user that something is wrong.</p>
<p>This is from the <u>Add/Remove Software</u> application when trying to install <u>gcc</u> (a compiler collection):</p>
<p><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-d.png" alt="" border="0" class="centered" /></p>
<p>This is too much geek information for the average user. I think that software packages managed by Fedora should be <u>automatically</u> instead of asking the user if they trust it.</p>
</div>
<h1>Background</h1>
<p>I&#8217;ve played with Linux for almost 20 years. My first experience was trying to compile it, in the early 90s, from sources (gotten off a CUG CD?), but Turbo C wasn&#8217;t able to compile it.</p>
<p>By the mid-90s, I was playing with compiled distributables. While they were interesting and often had some neat features, I never considered them ready for the desktop.</p>
<p>Ubuntu 11.04 was the first Linux distro I thought just worked out-of-the-box and could be deemed ready for the desktop. When Ubuntu 11.10 seemed to take a step backwards I began trying out other Linux distros (to their credit, Ubuntu did quickly recover their mistep).</p>
<p>When I tried Fedora 15 in November 2011, it was a complete failure &#8211; it would not even install. It would go through the whole installation procedure only to lock up at the end.</p>
<p>Fedora 16 did install.</p>
<h1>The Setup</h1>
<p>I installed Fedora in a VirtualBox (4.1.12r77218) system. The virtual machine was configured to have 1 cpu, 1024Mb memory, 128Mb video memory (3D acceleration enabled), 8Gb hard drive. </p>
<p>I installed the VirtualBox Guest Additions.</p>
<div class="c2">
<p>Some images may be clicked for full sized versions.</p>
</div>
<h1>Installation</h1>
<p>Unlike Fedora 15, Fedora 16 did install, although the initial messages displayed when booting off the install DVD were not encouraging:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-0-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-0-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>Installation was quick. This is probably because I downloaded the 3.7GB DVD image and it installed off the DVD without downloading files from the Internet.</p>
<p>While the installation procedure is not too complicated, it is certainly not as simple as Ubuntu&#8217;s or Linux Mint&#8217;s.</p>
<p>I chose the basic install (although I was tempted to install development tools as well).</p>
<h1>First Boot</h1>
<p>After installation, I rebooted the machine and was delighted to see it boot up with no problems.</p>
<p>The default background image is an underwater scene that is strongly reminiscent of <em>20,000 Leagues Under the Sea</em> (one of my favourite books):</p>
<p><img loading="lazy" decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-1.jpg" width="480" height="361" alt="" border="0" class="centered" /></p>
<h1>Problems</h1>
<p>While it did boot up and various applications I tried worked, there are at least two applications that don&#8217;t work: <u>Software Updates</u> and <u>Add/Remove Software</u>.</p>
<div class="centered">
<p>As mentioned above, this was caused by VirtualBox Guest Additions not installing (despite my thinking they had).</p>
<p>Of course, Fedora should allow me to recover from a failed software install instead of become resasonably unusable.</p>
</div>
<p>This effectively means I can&#8217;t apply software updates (including security updates) to the system, nor can I install new software packages &#8211; effectively rendering the system useless.</p>
<p>When launched, both applications display the following warning:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-2-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-2-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>Not the most user friendly message, but at least it suggest (to me) a course of action. I opened up a terminal and ran <code>yum-complete-transaction</code> as root:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-3-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-3-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>It tells me there is one transaction that needs to finish:</p>
<p>As it runs, it displays page after page of warnings and errors:</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-4-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-4-thumb.png" alt="" border="0" class="centered" /></a></p>
<p>Trying the recommended suggestion to run with the flag <code>--skip-broken</code> doesn&#8217;t help either.</p>
<p>Finally, I get the following notification (not consistently, when logging in):</p>
<p><a href="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-5-big.png" target="_blank"><img decoding="async" src="//complete-concrete-concise.com/wp-content/uploads/2012/05/fedora-16-first-impressions-5-thumb.png" alt="" border="0" class="centered" /></a></p>
<h1>Conclusion</h1>
<p>From my experience, Fedora Linux is an extremely big disappointment because it just <u>doesn&#8217;t</u> work out of the box.</p>
<p>What makes it more disappointing is that it is based on the venerable Red Hat Linux &#8211; a distro I played around with in the 1990&#8217;s.</p>
<p>Of course, nowadays, Red Hat makes its money selling service and support to enterprises, not by giving away free copies of its Linux distribution.</p>
<p>Of all the Linux distros I&#8217;ve tried since 2011, Fedora Linux is the only one that doesn&#8217;t work. Period.</p>
<p>Other distros may have issues (not recognizing my WiFi adapter being most common), but at least they work.</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/fedora-16-first-impressions-not-positive/">Fedora 16 &#8211; First Impressions &#8211; Not Positive</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Deal with Content Theft</title>
		<link>https://complete-concrete-concise.com/blog/how-to-deal-with-content-theft/</link>
					<comments>https://complete-concrete-concise.com/blog/how-to-deal-with-content-theft/#comments</comments>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Tue, 01 May 2012 11:15:12 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[content theft]]></category>
		<category><![CDATA[copyright infringement]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[report]]></category>
		<guid isPermaLink="false">http://complete-concrete-concise.com/?p=2049</guid>

					<description><![CDATA[<p>If you produce good content, at some point someone will steal that content and post it on their own site. This article offers some tips on dealing with that. The first time someone ripped my content I had two reactions. The first was, &#8220;Yeah! My content is good enough for someone to want to steal!&#8221; [&#8230;]</p>
<p>The post <a href="https://complete-concrete-concise.com/blog/how-to-deal-with-content-theft/">How to Deal with Content Theft</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="c1">
<p>If you produce good content, at some point someone will steal that content and post it on their own site.</p>
<p>This article offers some tips on dealing with that.</p>
</div>
<p>The first time someone ripped my content I had two reactions. The first was, &#8220;Yeah! My content is good enough for someone to want to steal!&#8221; The second was anger &#8211; I work hard to produce content and to have someone rip it, repost it and not credit me hurts.</p>
<h2>The Two Types of Pirate</h2>
<h3>The Shameless Pirate</h3>
<p>This one knows they are stealing your content, feels no remorse and usually does it to either increase traffic (and revenue) on their site or increase their (perceived) credibility / expertise. Some do it for both reasons.</p>
<p>Often times they will retouch your article (and usually butcher the text) or obscure watermarks on your images.</p>
<h3> The Unintentional Pirate</h3>
<p>This person reposts your content because they think it is good and useful and just wants to share it.</p>
<p>They don&#8217;t pretend it&#8217;s theirs. They don&#8217;t try to hide the watermarks on your images and often times they point back to your original article.</p>
<p>Even thought they point back to your article, the problem is that YOUR content is driving traffic to THEIR website.</p>
<h2>What to Do</h2>
<p><strong>1) Notify</strong> them that they are reproducing your content without permission and this is a violation of copyright law.</p>
<p>Most often, I leave a comment on the article in question. If they don&#8217;t have comments enabled, try to find a contact email and email them (ensure you clearly identify the article in question if you email them).</p>
<p><strong>2) Request</strong> they remove the content promptly.</p>
<div class="c1">
<p>I use the following text (which you are free to use) when notifying about copyright violation and requesting content removal:</p>
<div class="c3">
<p>This webpage is using copyrighted and protected material. You are using the entire content of my article without permission. This is original content and I am the author and copyright holder. Use of copyright protected material without permission is illegal under copyright laws.</p>
<p>Please take one or more of the following actions immediately:</p>
<ul>
<li>Remove the article and replace it with a short excerpt from my article with a link redirecting to the original article on my website.</li>
<li>Remove the article and write your own article with your own words and your own screen captures.</li>
<li>Remove the article completely.</li>
</ul>
<p>I am delighted when people find my articles useful and interesting enough to be shared. I am not happy when people completely duplicate the content without permission. Short excerpts with a link pointing back to the original article are acceptable usage.</p>
</div>
<p>This text is based on a sample notification found in <a href="http://lorelle.wordpress.com/2006/04/10/what-do-you-do-when-someone-steals-your-content/">Lorelle&#8217;s article</a> on dealing with content theft.</p>
</div>
<p><strong>3) Identify</strong> other content that has been ripped and notify the owners of that content.</p>
<p>If someone has ripped your content, it is very likely they have ripped someone else&#8217;s as well. Just grab a sentence from the article, paste it into Google and see what comes up.</p>
<p>You might not think it is your business to worry about content ripped from other people. <u>Actually, it is</u>. You stand a better chance of being heard if other people join your voice in denouncing copyright violation.</p>
<p>Usually, I notify other people by leaving a comment on their article and linking to the infringing article. Again, if they don&#8217;t have comments enabled, I try to find a contact email and email them (again, ensure you clearly identify the content being stolen and the URL where it is stolen.</p>
<p><strong>4) Inform</strong> Google.</p>
<p>Google provides a mechanism by which they will remove infringing material from their search engine and other services. Use this <a href="http://google.com/dmca.html">link</a> to do so (this should bring you to a Google request for content removal page in your native language &#8211; probably based on your OS and browser language settings &#8211; if not, then use this <a href="http://support.google.com/bin/static.py?hl=en&#038;ts=1114905&#038;page=ts.cs">link</a> to get an English language page.)</p>
<p>I am sure other search engines provide similar services, but I don&#8217;t think they are worth bothering about.</p>
<p>Between 23-April-2012 and 30-April-2012, Google accounted for 99.33% of all search engine referrals to this site. Yahoo accounted  for 0.12%, Ask for 0.09% and Bing for 0.08%.</p>
<p>From talking with other webmasters, this search breakdown is pretty much the same for everyone else.</p>
<div class="c1">
<p>UPDATE 11-Aug-2012: <a href="http://insidesearch.blogspot.nl/2012/08/an-update-to-our-search-algorithms.html">Google is modifying their search algorithm</a> to take into the number of valid copyright removal notices against a site. The goal is to rank copyright violators lower, thus allowing legitimate, original content to rank higher.</p>
<p>This means it is even more important to report copyright violations. As Google writes: <em>&#8220;Only copyright holders know if something is authorized, &#8230; Google cannot determine whether a particular webpage does or does not violate copyright &#8230;&#8221;</em></p>
</div>
<h2>Final Thoughts</h2>
<p>I don&#8217;t mind people using my content. That is why I make it freely available. No one has to register or pay a subscription to access my content.</p>
<p>I don&#8217;t mind people linking to my content (in fact, I encourage it).</p>
<p>I don&#8217;t mind people posting an excerpt of my content &#8211; it whets peoples appetite for the content.</p>
<p>But I don&#8217;t like people taking my content and reposting it somewhere else because (1) it dilutes my content and (2) I get no recognition for my work (each visit to my site is like a pat on the back &#8211; more so when people leave comments).</p>
<h2>Further Reading</h2>
<p>An excellent article on dealing with copyright violation is <a href="http://lorelle.wordpress.com/2006/04/10/what-do-you-do-when-someone-steals-your-content/">this one</a> by Lorelle.</p>

<p>The post <a href="https://complete-concrete-concise.com/blog/how-to-deal-with-content-theft/">How to Deal with Content Theft</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://complete-concrete-concise.com/blog/how-to-deal-with-content-theft/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
