<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<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>linux &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sat, 25 Apr 2026 07:54:37 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>linux &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Random File Format]]></title>
		<link>https://shkspr.mobi/blog/2026/04/random-file-format/</link>
					<comments>https://shkspr.mobi/blog/2026/04/random-file-format/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 01 Apr 2026 11:34:57 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=65027</guid>

					<description><![CDATA[This was an idea I had back in the days of Naptster.  At the turn of the century, it was common to listen to an &#34;acquired&#34; music file only to find it was missing a few seconds at the end due to a prematurely stopped download.  Some video formats would refuse to play at all if the moov atom at the end of the file was missing.  I wondered if it would be possible to make a file format which was…]]></description>
										<content:encoded><![CDATA[<p>This was an idea I had back in the days of Naptster.</p>

<p>At the turn of the century, it was common to listen to an "acquired" music file only to find it was missing a few seconds at the end due to a prematurely stopped download.  Some video formats would refuse to play at all if the <a href="https://www.cnwrecovery.com/manual/Fragmented3GPMP4Files.html"><code>moov</code> atom at the end of the file was missing</a>.</p>

<p>I wondered if it would be possible to make a file format which was close to impossible to read unless the <em>entire</em> file was intact. I don't mean including a checksum to detect download errors - I mean a layout which was <strong>intrinsically fragile</strong> to corruption.</p>

<p>While digging through an old backup CD, I found my original notes. I'm rather impressed at what neophyte-me had constructed.  My outline was:</p>

<ul>
<li>The file ends with a 32 bit pointer. This points to the location of the first information block.</li>
<li>The information block describes the length of the data block which follows it.</li>
<li>At the end of the data block is another 32 bit pointer. This points to the location of the next information block.</li>
<li>The start of the file may be a pointer, or it may be padded with random data.</li>
<li>There may be random data padded between the data blocks.</li>
</ul>

<p>This ensures that a file which has been only partially downloaded - whether truncated at the end or missing pieces elsewhere - cannot be successfully read.</p>

<p>Here's a worked example. Start at the end and follow the thread.</p>

<ol start="0">
<li>Random data.</li>
<li>Data block size is 2.</li>
<li>Data</li>
<li>Data</li>
<li>EOF.</li>
<li>Data block size is 1.</li>
<li>Data.</li>
<li>Go to location 1.</li>
<li>Random data.</li>
<li>Go to location 5.</li>
</ol>

<p>There are, of course, a few downsides to this idea.</p>

<p>Most prominently, it bloats file size. If the data block size was a constant 1MB, that would pad the size a negligible amount. But with variable data block size, it could increase it significantly. Random padding also increases the size.</p>

<p>If the block size is consistent and there's no random padding data, the files can be mostly reconstructed.</p>

<p>Depending on which parts of the file are missing, it may be possible to recover the majority of the file.</p>

<p>A location block size of 32 bits restricts the file-size to less than 4GB. A 64 bit pointer might be excessive or might be future-proof!</p>

<p>Highly structured files with predictable patterns, or text files, may be easy to recover large bits of information.</p>

<p>A malformed file could contain an infinite loop of pointers.</p>

<p>Perhaps a <a href="https://en.wikipedia.org/wiki/File_format#Magic_number">magic number</a> should be at the start (or end) of the file?</p>

<p>While reading the file is as simple as following the pointers, <em>constructing</em> the file is more complex, especially if blocks have variable lengths.</p>

<h2 id="code"><a href="https://shkspr.mobi/blog/2026/04/random-file-format/#code">Code</a></h2>

<p>Here's a trivial encoder. It reads a file in consistently sized chunks of 1,024 bytes. It shuffles them up and writes them to a new file. The last 4 bytes contain a pointer to the first block, which says the data length is 1,024. After that, there is a 4 byte pointer to the next block location.</p>

<pre><code class="language-python">import random

#   Size of data, headers, and pointers.
data_length = 1024
header_length  = 4
pointer_length = 4

#   Read the file into a data structure.
original_blocks = list()
with open( "test.jpg", "rb") as file:
    for data in iter( lambda: file.read( data_length ), b"" ):
        #   Add padding if length is less than the desired length.
        padding = data_length - len( data )
        data += b"\0" * padding
        original_blocks.append( data )

#   How many blocks are there?
original_length = len( original_blocks )

#   Create a random order of blocks.
order = list( range( 0, original_length ) )
random.shuffle( order )

#   Where is the start of the file?
first_block_index = order.index( 0 )
first_block_pointer = first_block_index * ( header_length + data_length + pointer_length )

#   Loop through the order and write to a new file.
i = 0
#   Open as binary file to add the pointers correctly.
with open( "output.rff", "wb" ) as output:
    while i &lt; original_length:
        #   Where are we?
        current_block = i
        current_block_value = order[i]
        #   Write length of data in little-endian 32 bytes.
        output.write( data_length.to_bytes( header_length, "little") )
        #   Write data
        output.write( original_blocks[ current_block_value ] )
        i = i+1
        #   Last block. Write an EOF header.
        if ( current_block_value + 1 &gt;= original_length ):
            eof = 4294967295
            output.write( eof.to_bytes( header_length, "little") )
        else:
            next_block = order.index( current_block_value + 1 )
            #   Write pointer to next block
            next_block_location = next_block * ( header_length + data_length + pointer_length )
            output.write( next_block_location.to_bytes( pointer_length, "little" ) )
    #   At the end of the file, write the pointer to block 0.
    output.write( first_block_pointer.to_bytes( pointer_length, "little" ) )
</code></pre>

<p>And here is a similarly trivial decoder. It reads the last 32 bits, moves to that location, reads the block size, reads the data and writes it to a new file, then reads the next pointer.</p>

<pre><code class="language-python">import os
#   Size of data, headers, and pointers.
header_length  = 4
pointer_length = 4
#   File name to write to.
decoded_file = "decoded.bin"

#   Create an empty file.
with open( decoded_file, "w") as file:
    pass

#   Function to loop through the blocks.
def read_block( position, i ):
    #   Move to the position in the file.
    input_file.seek( position, 0 )
    #   Read the data length header.
    data_length = int.from_bytes( input_file.read( header_length ), "little" )
    #   Move to the data block.
    input_file.seek( position + header_length, 0 )
    #   Read the data.
    data = input_file.read( data_length )
    #   Read the pointer header.
    next_position = int.from_bytes( input_file.read( pointer_length ), "little" )
    #   If this is the final block, it may have null padding. Remove it.
    if ( next_position == 4294967295 ) :
        data = data.rstrip(b"\0")
    #   Append the data to the decoded file.
    with open( decoded_file, "ab" ) as file:
        file.write( data )
    #   If this is the final block, finish searching.
    if ( next_position == 4294967295 ) :
         print("File decoded.")
    else:
        #   Move to the next position.
        read_block( next_position, i+1 )

#   Open the file as binary.
input_file = open( "output.rff", "rb" )

#   Read the last 4 bytes.
input_file.seek( -4, 2 )

#   Get position of first block
first_block = int.from_bytes( input_file.read(), "little" )

#   Start reading the file.
seek_to = first_block
read_block( seek_to, 0 )
</code></pre>

<p>As I said, these are both trivial. They are a bit buggy and contain some hardcoded assumptions.</p>

<p>Here are two files encoded as "RFF" - Random File Format - <a href="https://shkspr.mobi/blog/wp-content/uploads/2026/03/output.jpg.rff">an image</a> by Maria Sibylla Merian, and the <a href="https://shkspr.mobi/blog/wp-content/uploads/2026/03/output.txt.rff">text of Romeo and Juliet</a>.</p>

<p>Have fun decoding them!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=65027&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/04/random-file-format/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Converting RAR to ZIP in Linux]]></title>
		<link>https://shkspr.mobi/blog/2016/12/converting-rar-to-zip-in-linux/</link>
					<comments>https://shkspr.mobi/blog/2016/12/converting-rar-to-zip-in-linux/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 11 Dec 2016 21:11:38 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=24314</guid>

					<description><![CDATA[As ever, mostly notes to myself.  RAR is a silly and proprietary format.  I prefer free software and I find that ZIP files are smaller and decompress faster. Not everyone agrees, and that&#039;s fine. Assuming you&#039;ve downloaded a RAR file and want to convert it to ZIP, what&#039;s the easiest way?  Install P7Zip  sudo apt-get install p7zip-full p7zip-rar   Script  This basic bash script will   Extract a…]]></description>
										<content:encoded><![CDATA[<p>As ever, mostly notes to myself.</p>

<p>RAR is a silly and proprietary format.  I prefer free software and I find that ZIP files are smaller and decompress faster. Not everyone agrees, and that's fine.
Assuming you've downloaded a RAR file and want to convert it to ZIP, what's the easiest way?</p>

<h3 id="install-p7zip"><a href="https://shkspr.mobi/blog/2016/12/converting-rar-to-zip-in-linux/#install-p7zip">Install P7Zip</a></h3>

<pre><code>sudo apt-get install p7zip-full p7zip-rar
</code></pre>

<h3 id="script"><a href="https://shkspr.mobi/blog/2016/12/converting-rar-to-zip-in-linux/#script">Script</a></h3>

<p>This basic bash script will</p>

<ol>
<li>Extract a RAR <code>example.rar</code> file to a temporary directory on a <a href="http://sharadchhetri.com/2012/08/15/devshm-mount-devshm/">RAM disk</a>.</li>
<li>Recompress to <code>example.zip</code>.</li>
<li>Delete the temporary directory.</li>
</ol>

<p>Easy!</p>

<p>It is based on <a href="http://comicrack.cyolito.com/forum/13-scripts/30013-cbr2cbz-rar-to-zip-conversion-for-linux?start=10#30419">this conversion from CBR to CBZ</a>.</p>

<pre><code class="language-bash">#!/bin/bash
echo "Converting RARs to ZIPs"

# Separate files using ␜ http://graphemica.com/%E2%90%9C.
IFS="␜"

# Use RAM disk for temporary files.
WORKDIR="/dev/shm/"

# Set name for the temp dir. This directory will be created under WORKDIR
TEMPDIR="rar2zip"

# Run using "./rar2zip.sh /full/path/to/files/"
# If no directory is specified, then use the current working directory (".").

if test -z $1; then
   SOURCEDIR=`pwd`
else
   SOURCEDIR="$1"
fi

echo "Using $SOURCEDIR"

# Create an temporary directory to work in.
cd $WORKDIR
mkdir $TEMPDIR
cd $TEMPDIR

# Find all the .rar files in the specified directory.
# Using -iname means it will find .rar .RAR .RaR etc.
# "-printf "%p␜" will cause the file names to be separated by the ␜ symbol,
# rather than the default newline.

for OLDFILE in `find $SOURCEDIR -iname "*.rar" -printf "%p␜"`; do

   # Get the file name without the extension
   BASENAME=`basename "${OLDFILE%.*}"`

   # Path for the file. The ".zip" file will be moved there.
   DIRNAME=`dirname $OLDFILE`

   # Name of the .zip file
   NEWNAME="$BASENAME.zip"

   # Create a temporary folder for unRARed files
   echo "Extracting $OLDFILE"
   mkdir "$BASENAME"
   7z x "$OLDFILE" -O"$BASENAME"
   cd "$BASENAME"

   # Zip the files with maximum compression
   7z a -tzip -mx=9 "$NEWNAME" *
   # Alternative. MUCH SLOWER, but better compression
   # 7z a -mm=Deflate -mfb=258 -mpass=15 -r "$NEWNAME" *

   # Move the new .zip to the directory containing the original ".rar" file
   mv "$NEWNAME" $DIRNAME/"$NEWNAME"

   # Delete the temporary directory
   cd $WORKDIR
   rm -r "$BASENAME"

   # OPTIONAL. Delete the RAR file
   # cd $DIRNAME
   # rm "$OLDFILE"

done

# Delete the temporary directory
cd $WORKDIR
rm -r $TEMPDIR

echo "Conversion Done"
</code></pre>

<p>That's it! I suppose it might be nice if there were a simpler way to do it - but this is fairly quick and error-proof.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=24314&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/12/converting-rar-to-zip-in-linux/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Technology Preview - The ReSpeaker]]></title>
		<link>https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/</link>
					<comments>https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 24 Aug 2016 11:44:04 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=23199</guid>

					<description><![CDATA[We&#039;re entering a golden era for small-batch artisinal hardware.  Anyone with an idea and a modicum of talent can build hardware and get it shipped around the world at a reasonable price.  Enter &#34;The ReSpeaker&#34; - an open source alternative to Amazon&#039;s Echo.  It promises ultimate hackability, speech recognition, and IoT control, wrapped in a cheap single-board design.    ReSpeaker is an open…]]></description>
										<content:encoded><![CDATA[<p>We're entering a golden era for small-batch artisinal hardware.  Anyone with an idea and a modicum of talent can build hardware and get it shipped around the world at a reasonable price.</p>

<p>Enter "<a href="https://web.archive.org/web/20160815105952/https://respeaker.io/">The ReSpeaker</a>" - an open source alternative to Amazon's Echo.  It promises ultimate hackability, speech recognition, and IoT control, wrapped in a cheap single-board design.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Respeaker-circuit-.jpg" alt="Respeaker circuit" width="1024" height="1024" class="aligncenter size-full wp-image-23201">

<blockquote><p>ReSpeaker is an open modular voice interface to hack things around you. Let you interact with your home appliances, your plant, your office, your internet-equipped devices or any other things in your daily life, all by your voice.
</p></blockquote>

<p>I've been sent one by <a href="http://www.seeed.cc/">seeed.cc</a> in advance of <a href="https://www.kickstarter.com/projects/seeed/respeaker-an-open-modular-voice-interface-to-hack">the Kickstarter campaign</a> which launches on the 23rd of August.</p>

<blockquote class="social-embed" id="social-embed-763969533623152641" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/seeedstudio" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRt4CAABXRUJQVlA4INICAAAwDQCdASowADAAPqU+mUmmIyKhNVqtUMAUiWwAtRurAibVcBHGZteK3Xw78gVp7ddYG6RqaB5IfqxN13aTlu/N4jQQmN4ffjOEBDzAaeGLbxgSqNlu+WQe3spozbjwSsznxRMl81e7+9pgFqjNuwvKGAAA/v6UVY8fkxoOxZ9aZ1xwW6StbfNHmvRlJkIAYRCdozztic2BdVVW+GF4NEc2+fQ47/dfXQWvb5qMK+kHD99I/8VBesC2yRCgDZyygCQWAJPJu/8LilAPu8VU5zMttANfdKFQR1w8lmcsWuD5qT2hMqQ/OcNyBfpD7hd/CLAnwoBHK+fTIFUhZMfCe3qh72vl3CIEd1e4h0szMtZ8FebDtYYNuUxt9wRkjn+rNKixKVrroBuxFIF5D+GYhuloExnWbNqCZcRgyn+U62ycolJ+N5NURXVJ8Kxp4olpEB8rOcTrJS6BG5NmdW/cftJSwC/lihbc4GfDoT3/UK/jwHYkBnrsolBKLq1iS+oF0lSvrVHHuifzw33z8XQ0IusIakujy4REVw2FB7Hd0m/sMRzlVWZbRK7MwL1rdb8+7niR7D5G3kgX/2gsY08+A1HaNZ+brfPgK7xP8FMNJMLDKCeMRKXDxsMo46AoHbjcxCUJqUGsFrlh/jBsSFardozobPTgm3UqvwCM2DKwflObVn//FcMGdn10i8jzDABUq7C1LKMBswGSVwq+Qln4bNYiSHbfe2RMNPZH1wyDv0GYTpJs/6Deft07+bMX90ZrVw3e7Uxvsh55rx/254Raz0TCbXWp0ocb1s73XULR7LqphdnUEEvla1XOWXwh/3cU13WWkvBxg6YM+f/qnOK5ei3JSA+j/3Z6kd0ABABcSNiTSHj0UwLs3lWIzWeba/BV+0ieCUbmW1gS9Zb0KaZcbvMzSdB49qO/G/mVB/g82ekxrquM1eLIc5VTXKN5qLiglRAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Seeed Studio</p>@seeedstudio</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">Subscribe to <a href="https://twitter.com/hashtag/Respeaker">#Respeaker</a> Newsletter &amp; get its latest updates! 6 Demos are waiting, come on! <a href="http://respeaker.io/">respeaker.io</a> <a href="https://twitter.com/seeedstudio/status/763969533623152641/photo/1">pic.x.com/cyjd4drfoh</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/CpoqPVAVUAAiXCc.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a><a href="https://pbs.twimg.com/media/CpoqPWKVIAAzZoj.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/seeedstudio/status/763969533623152641"><span aria-label="9 likes" class="social-embed-meta">❤️ 9</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-08-12T05:25:05.000Z" itemprop="datePublished">05:25 - Fri 12 August 2016</time></a></footer></blockquote>

<p>Here's their pitch:</p>

<p></p><div style="width: 620px;" class="wp-video"><video class="wp-video-shortcode" id="video-23199-4" width="620" height="349" preload="metadata" controls="controls"><source type="video/mp4" src="https://v2.kickstarter.com/1755935307-Fj97G48au0i0sxma3GejqWh3udJ7unWj3jVWrE4cC%2B0%3D/projects/2197291/video-695518-h264_high.mp4?_=4"><a href="https://v2.kickstarter.com/1755935307-Fj97G48au0i0sxma3GejqWh3udJ7unWj3jVWrE4cC%2B0%3D/projects/2197291/video-695518-h264_high.mp4">https://v2.kickstarter.com/1755935307-Fj97G48au0i0sxma3GejqWh3udJ7unWj3jVWrE4cC%2B0%3D/projects/2197291/video-695518-h264_high.mp4</a></video></div><p></p>

<p>I've been sent one for free - and I've only had a few days to play with it - here's what I found.</p>

<h2 id="specs"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#specs">Specs</a></h2>

<p>One of the most interesting things about ReSpeaker is how open their specs are. You can <a href="https://github.com/respeaker/get_started_with_respeaker/tree/730e7648daefd1e00a21ce31a8af70d3db24d23c">download the schematics freely from GitHub</a>.</p>

<p>There's a brilliant range of hardware and open source software on board.  Let's take a quick tour.</p>

<ul>
<li>The main chip is an <a href="http://www.acsip.com.tw/index.php?action=products-detail&amp;fid1=11&amp;fid2=21&amp;fid3=23&amp;id=29">AI7688H</a> -  is is a Linux (3.18.23) based, WiFi SOC, and it runs <a href="https://openwrt.org/">OpenWRT</a> 15.05!</li>
<li><a href="https://www.nxp.com/search?keyword=LPC11U3X&amp;start=0">LPC11U35</a> coprocessor which controls the 12 RGB LEDs and the GPIO ports.</li>
<li>Audio is handled by the <a href="https://www.cirrus.com/en/products/pro/detail/P1315.html">WM8960</a> chip.</li>
<li>A single microphone (more on that later).</li>
<li>Mono speaker header - up to 1W.</li>
<li>MicroUSB for power and/or data.  Power can be wired directly onto the circuit if you know what you're doing.</li>
<li>Standard TRRS headphone jack - although I wasn't able to get the microphone working with on it.</li>
<li>MicroSD card slot. There's only ~6MB of free space on the file system (yes, MegaBytes!) - although <code>/tmp</code> has ~60MB available (wiped on reboot).</li>
<li>Three I/O buttons, which you can see on the reverse of the board:</li>
</ul>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Respeaker-reverse-.jpg" alt="Respeaker reverse" width="1024" height="1024" class="aligncenter size-full wp-image-23200">

<h2 id="getting-started"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#getting-started">Getting Started</a></h2>

<ol>
<li>Plug into a Micro USB power supply. I'm not sure what the minimum power requirements are, so I played it safe and used my <a href="http://amzn.to/2beY1md">2.4amp multi-USB charger</a>.</li>
<li>Blinkenlights!<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-WiFi-and-Power-LEDs-.jpg" alt="ReSpeaker WiFi and Power LEDs" width="800" height="600" class="aligncenter size-full wp-image-23214"></li>
<li>Connect to the WiFi network generated by the device. <img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-Broadcasting-WiFi-.png" alt="ReSpeaker Broadcasting WiFi" width="512" height="173" class="aligncenter size-full wp-image-23212"></li>
<li>Set the <code>root</code> password (yup, you get root without having to faff around). <img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-Set-Password-.png" alt="ReSpeaker Set Password" width="512" height="646" class="aligncenter size-full wp-image-23211"></li>
<li>Select the (2.4GHz) network you want to connect to.  <img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-Config-Page-.png" alt="ReSpeaker Config Page" width="512" height="825" class="aligncenter size-full wp-image-23210"></li>
<li>Done!</li>
</ol>

<p>You can, if you want to, directly configure OpenWRT, although it is a little tricky on a phone.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-Setup-OpenWRT-.png" alt="ReSpeaker Setup OpenWRT" width="1024" height="534" class="aligncenter size-full wp-image-23209">

<p>Only takes a couple of minutes and you now have a little Linux computer attached to your network. Go ahead and plug some headphones in, or connect it to your HiFi system.</p>

<h2 id="connecting"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#connecting">Connecting</a></h2>

<p>You've two different ways to connect to the device.</p>

<p>If you've connected the ReSpeaker to your laptop via USB, it will present as a serial device which you can connect directly to.</p>

<p><code>screen /dev/ttyACM0 57600</code></p>

<p>If you're connected to the same WiFi network, <code>ssh</code> is open on port 22 as per usual. Use the root password that you set earlier and off you go!</p>

<h2 id="speech-recognition"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#speech-recognition">Speech Recognition</a></h2>

<p>This is why we're here, right? To be able to say "Play 'Flight of the Valkyries'" and have music suddenly appear.</p>

<p>For complex tasks, everything has to go to a recognition service in the cloud. Quite how you feel about an always on Linux box sending everything you say to Microsoft depends on your levels of paranoia.</p>

<p>My first attempt wasn't overly successful:</p>

<blockquote class="social-embed" id="social-embed-764511650141569024" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">Tried to use bing's voice recognition service. <br><br>It didn't understand much of my English, but apparently 我的中文是很好！ <a href="https://twitter.com/edent/status/764511650141569024/photo/1">pic.x.com/jybv9jtddy</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/CpwXSUoW8AQG-Fr.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/764511650141569024"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-08-13T17:19:15.000Z" itemprop="datePublished">17:19 - Sat 13 August 2016</time></a></footer></blockquote>

<p>Why was everything being recognised as Chinese? Ah! Because that's what the default was set to!  <a href="https://github.com/respeaker/microsoft_cognitive_services/pull/2">Quickly changing <code>zh-CH</code> to <code>en-GB</code> made things work slightly better</a>.</p>

<p>There are a couple of core problem with this approach.  Firstly, the little microphone in the middle of the board isn't of particularly high quality.</p>

<p>ReSpeaker has an optional add-on board - the <a href="https://github.com/respeaker/get_started_with_respeaker/wiki#respeaker-microphone-array-hardware">ReSpeaker Microphone Array</a> promises multiple microphones and improved sound detection.</p>

<p>Secondly, the general slowness of the board - and the round trip delay of bing's processing - make for an unacceptable delay.</p>

<p>Finally, Microsoft's free tier offers just 5,000 transactions per month.  Depending on how often you're planning on using it - that could be an annoying restriction.</p>

<p>Is that all we're limited to?  No!</p>

<h3 id="local-recognition"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#local-recognition">Local Recognition</a></h3>

<p>ReSpeaker have provided an way to <a href="https://github.com/respeaker/respeaker_hi">recognise speech locally using PocketSphinx</a>.  You'll need an SD card and to <code>git clone</code> a bunch of stuff, but it is pretty easy to get set up.  Here it is in action.</p>

<iframe title="Respeaker.io keyword recognition" width="620" height="349" src="https://www.youtube.com/embed/iqHnJqrrDgo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>OK, Bing lets it down - but the local keyword recognition is pretty cool!  That makes it possible to hack together simple "OK Google / Hey Siri / Yo Alexa" styles of home automation.</p>

<h2 id="blinkenlights"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#blinkenlights">Blinkenlights!</a></h2>

<p>There's a reasonably good <a href="https://github.com/respeaker/get_started_with_respeaker/wiki/Programming-ATmega32U4-on-ReSpeaker">tutorial on how to use the Arduino software on the ReSpeaker Github</a>.</p>

<p></p><div style="width: 620px;" class="wp-video"><video class="wp-video-shortcode" id="video-23199-5" width="620" height="349" preload="metadata" controls="controls"><source type="video/mp4" src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-LEDs-Blinking.mp4?_=5"><a href="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-LEDs-Blinking.mp4">https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-LEDs-Blinking.mp4</a></video></div><p></p>

<p>I've not used Arduino like this before, and it was relatively simple to set up.  There's currently no documentation on how to handle the LEDs, buttons, and GPIO from Python.</p>

<h3 id="airplay-dlna-audio-quality"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#airplay-dlna-audio-quality">Airplay / DLNA / Audio Quality</a></h3>

<p>I wasn't able to use the device as an Airplay or DLNA receiver.  None of the apps I tried could see it as a server, and port 5000 didn't appear to be open.  This looks like something that needs to be installed separately. Personally, I'd have preferred to see Bluetooth rather than DLNA, but I'm strange like that!</p>

<p>Audio quality was average. With nothing playing, there was a hiss on the line. No ground hum - just gentle white noise.</p>

<h2 id="hacking"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#hacking">Hacking</a></h2>

<h3 id="make-it-speak"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#make-it-speak">Make it speak!</a></h3>

<p>By default, the venerable <a href="http://espeak.sourceforge.net/"><code>espeak</code></a> is included.</p>

<p>From the command line, you can run something like:</p>

<p><code>espeak -ven+m2 -s150 "I've just picked up a fault in the AE35 unit. Shall I proceed?"</code></p>

<p>The voice quality isn't brilliant. I used <a href="https://github.com/pndurette/gTTS">gTTS</a> which is a simply Python package to Google's Text to Speech API.  Very handy for creating stock phrases to use repeatedly.</p>

<p><code>pip install gTTS</code></p>

<p>Then</p>

<p><code>gtts-cli.py "I'm sorry Dave, I can't do that." -l 'en-uk' -o sorry.mp3
madplay sorry.mp3</code></p>

<h3 id="system"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#system">System</a></h3>

<p>Some highlights that I found.</p>

<ul>
<li>The device presents as <code>2341:0036 Arduino SA</code> - which is an Arduino Leonardo.  Basically, an <a href="http://www.atmel.com/devices/atmega32u4.aspx">ATmega32U4</a>.</li>
<li><code>git</code> 2.3.5 is installed.</li>
<li>Python 2.7.9 is installed.  Along with <code>pip</code>.</li>
<li><code>curl</code> 7.40 - also <code>wget</code>.</li>
<li><code>node</code> is only v0.12.7. You also get <code>npm</code>.</li>
</ul>

<p>Basically a pretty comprehensive set of utilities.</p>

<p>Ports are open on 22 (SSH), 53 (DNS), 80 (webserver), and 445 (SAMBA file sharing).</p>

<h2 id="expanding"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#expanding">Expanding</a></h2>

<p>This is modular hardware, with loads of expansion ports. You can <a href="http://www.seeed.cc/A-DIY-Seeed's-Growth-Story-Using-Respeaker-p-1852.html">get an idea of what people are able to make on the ReSpeaker site</a></p>

<h2 id="backing"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#backing">Backing</a></h2>

<p>The <a href="https://www.kickstarter.com/projects/seeed/1500600763?">ReSpeaker Kickstarter is now live</a>!  Early birds get the ReSpeaker for US$39 - which is a pretty compelling price.</p>

<p><a href="https://www.kickstarter.com/projects/seeed/1500600763?"><img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Respeaker-Prices.jpg" alt="Respeaker Prices" width="680" height="231" class="aligncenter size-full wp-image-23248"></a></p>

<p>The usual Kickstarter caveats apply - but <a href="http://seeedstudio.com/">Seeed Studio have released several hardware products</a> so they have a good understanding of what it takes to manufacture and ship hardware.</p>

<h2 id="final-thoughts"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#final-thoughts">Final Thoughts</a></h2>

<p>This is a fun little unit - but it is not without its flaws.</p>

<ul>
<li>Audio in is only via the central microphone - the quality is acceptable, but it is a shame that there's no audio-in from the TRS headphone jack.</li>
<li>Bing isn't very good at voice recognition - local recognition is OK though.</li>
<li>Only 2.4GHz WiFi.  Small and cheap devices like this don't tend to have 5GHz WiFi. They don't need the speed, but with the 2.4GHz band getting more crowded in urban environments, it's a pity it wasn't included.</li>
<li>The CPU is, understandably, a bit slow. Running <code>pip install tweepy</code> took a few minutes.  Obviously you're not going to be doing much intensive computation on this thing, but it makes setting things up a little tiresome.</li>
<li>No digital out or surround sound support.  Given that the <a href="https://shkspr.mobi/blog/2015/11/raspberry-pi-zero-hidden-in-an-xbox-controller/">Raspberry Pi Zero</a> has HDMI out for audio, it's a little disappointing to see the ReSpeaker stuck with stereo.</li>
<li>Lack of high-fidelity playback.  As above - if you're happy listening to MP3s via a 3.5mm jack, this is great. If you want it to playback your lossless 96kHz FLACs, you're out of luck.</li>
</ul>

<p>Really, the challenger to this unit is something like the Raspberry Pi.  You need the <a href="http://amzn.to/2aJCh5m">£30 Pi 3 model B</a> in order to get a Pi with WiFi - the other models require USB dongles.  The Pi family don't have microphones - so that's another add-on.  The ReSpeaker is a slim, circular package with built in RGB LEDs and buttons - whereas the Pi is fairly chunky and devoid of extras.</p>

<p>My friend Sam Machin has got the &lt;a href="https://www.sammachin.com/posts/the-10-echo/&gt;Amazon Echo service running on a US$10 CHIP computer and also <a href="https://github.com/sammachin/AlexaPi">running on a Raspberry Pi</a> - I think the ReSpeaker fits in nicely to this class of product.</p>

<p>Overall, the ReSpeaker works well, looks good, has great hackability, and is at a pretty good price point.</p>

<p>You can <a href="https://www.kickstarter.com/projects/seeed/1500600763?">back the ReSpeaker on KickStarter until 23rd September</a>.</p>

<p></p><h4 id="disclaimer"><a href="https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/#disclaimer">Disclaimer</a></h4><p></p>

<p>As I said, I received the ReSpeaker for free. If you'd like me to review your technology product, <a href="https://shkspr.mobi/blog/rate-card/">please get in touch</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=23199&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/08/technology-preview-the-respeaker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2016/08/ReSpeaker-LEDs-Blinking.mp4" length="2116707" type="video/mp4" />
<enclosure url="https://v2.kickstarter.com/1755935307-Fj97G48au0i0sxma3GejqWh3udJ7unWj3jVWrE4cC%2B0%3D/projects/2197291/video-695518-h264_high.mp4" length="16073154" type="video/mp4" />

			</item>
		<item>
		<title><![CDATA[Review & Teardown: Oittm Bluetooth Headphones RE-E01]]></title>
		<link>https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/</link>
					<comments>https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 09 Aug 2016 11:18:36 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[sponsored]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=23166</guid>

					<description><![CDATA[This is a sponsored post by LOPOO UK who&#039;ve asked me to review their Oittm Bluetooth Headphones.   There&#039;s a lot of technology packed in for £19.99.       Bluetooth 4.1 - compatible with Android and iPhone.     cVc noise cancellation - for improved call quality.     A physically tiny 70 mAh battery - good for around 3-6 hours of use.  I found it fully charged in around 2 hours.     Flat cable …]]></description>
										<content:encoded><![CDATA[<p>This is a sponsored post by <a href="http://amzn.to/2b0TYOs">LOPOO UK</a> who've asked me to review their Oittm Bluetooth Headphones.</p>

<p><a href="http://amzn.to/2b0Qs6C"><img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Box-.jpg" alt="Bluetooth Headphones - Box" width="1024" height="768" class="aligncenter size-full wp-image-23170"></a>
There's a lot of technology packed in for <a href="http://amzn.to/2b0Qs6C">£19.99</a>.</p>

<ul>
    <li>Bluetooth 4.1 - compatible with Android and iPhone.</li>
    <li><a href="https://web.archive.org/web/20160815201940/http://www.csr.com/products/22/cvc-5.0">cVc noise cancellation</a> - for improved call quality.</li>
    <li>A physically tiny 70 mAh battery - good for around 3-6 hours of use.  I found it fully charged in around 2 hours.</li>
    <li>Flat cable which feels rubber coated and is sweat-proof.</li>
    <li>All this weighs just 16.5 grams.</li>
</ul>

<p>So, what's inside this compact box?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Unboxed-.jpg" alt="Bluetooth Headphones - Unboxed" width="1024" height="768" class="aligncenter size-full wp-image-23168">

<p>A short USB charging lead, basic instruction manual, and a little carrying bag.  Here's a closer look at the headphones and accessories.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Whats-In-The-Box-.jpg" alt="Bluetooth Headphones - What's In The Box" width="1024" height="768" class="aligncenter size-full wp-image-23167">

<p>There are three sizes of ear-buds and in-ear-clips.  All stretchy rubber and fairly easy to change over.</p>

<p>The left headphone has a micro-USB socket hidden behind a rubber flap.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Ports-and-buttons-.jpg" alt="Bluetooth Headphones - Ports and buttons" width="1024" height="768" class="aligncenter size-full wp-image-23169">

<p>The right has the microphone, volume controls (which double as track-skip controls), and at the top an answer button (which doubles as power and pairing).</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Answer-Button-.jpg" alt="Bluetooth Headphones - Answer Button" width="512" height="384" class="aligncenter size-full wp-image-23171">

<p>The right also contains a small multi-colour LED - red for charging and blue for all other functions.</p>

<h2 id="usability"><a href="https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/#usability">Usability</a></h2>

<p>Bluetooth is always a little tricky to connect - but the Oittm plays instructions through its speakers.  Hold down the power button and it'll say "Power on" and then "Pairing" - so you always know what's going on with the unit.</p>

<p>Pairing was automatic with Android - it really is one click connect.  Ubuntu was similarly easy to set up (<a href="https://web.archive.org/web/20161016010538/https://tuxdiary.com/2015/07/05/fix-stream-setup-failed-error-with-blueman/">once I upgraded BlueMan</a>).</p>

<p>Holding down the volume keys acts as a track skip, and the "phone" buttons answers and hangs up calls as needed.</p>

<p>The headphones happily pair with as many devices as you have - just remember to switch off your phone's Bluetooth before attempting to connect them to another device.</p>

<h2 id="sound-quality"><a href="https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/#sound-quality">Sound Quality</a></h2>

<p>Despite what the audiophiles tell you, Bluetooth is perfectly capable of streaming high-fidelity audio.  You're probably not going to use the RE-E01 as your reference listening set - but for commuting or exercising, they're just right.</p>

<p>Stereo separation is perfect, and even at high volume there's little evidence of distortion.  Bass is decent although not exactly earth shattering, but the adjustable ear buds block most external noise.  Once you crank up the volume there is some sound leakage - so be considerate when on public transport.</p>

<p>Voice quality is good.  You may need to adjust the angle in your ear to get the best sound - but the noise cancellation works well and filters out background noise with surprising effectiveness.</p>

<p>One downside, on the review sample I was sent, the right earphone would occasionally cut out.  This appears to be a random factory defect, and they are shipping me a replacement set.  A quick thwack to the side of my head and the sound came back. I was curious as to what was causing the problems - well, there's only one thing for it...</p>

<h2 id="lets-take-a-look-inside"><a href="https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/#lets-take-a-look-inside">Let's take a look inside!</a></h2>

<p>When I get a new bit of kit, I simply <em>cannot</em> resist cracking it open to see what its guts look like.</p>

<p>There are no screws involved - a spludger or small screwdriver should easily find a purchase in the seam just by the power button.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Cracking-them-open-.jpg" alt="Bluetooth Headphones - Cracking them open" width="1024" height="639" class="aligncenter size-full wp-image-23184">

<p>What do we see?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Interior-circuit-board-.jpg" alt="Bluetooth Headphones - Interior circuit board" width="1024" height="768" class="aligncenter size-full wp-image-23183">

<p>The "multi-function" LED is, of course, separate LEDs (two at the top, red and blue). The microphone (bottom left) is connected to the main board by wires.  Fairly standard push buttons protected with a little foam. But what's the main chip in the middle?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-CSR-Chip-.jpg" alt="Bluetooth Headphones - CSR Chip" width="478" height="453" class="aligncenter size-full wp-image-23185">

<p>Aha! It is the <a href="https://web.archive.org/web/20160805114434/http://www.csr.com/products/csr8635">CSR8635</a>.  Good to know that this delivers exactly what's promised on the packaging. You'll see some cheap headphones substitute chips with inferior quality sound.</p>

<p>The <a href="https://web.archive.org/web/20160730042107/http://www.csr.com/sites/default/files/csr8635_qfn_technical_overview.pdf">CSR8635 provides</a> (PDF)</p>

<ul>
<li>Wideband Audio for voice - should make for improved phone call quality.</li>
<li>MP3, AAC, and SBC codec support - for native audio decoding.</li>
<li>96kHz DAC - for improved audio quality</li>
<li>AVRCP 1.4 - so can be controlled by all Bluetooth capable phones.</li>
<li>Battery indicator - this is apparently only available in iOS, I couldn't find any way to see it in Android. Oh well! </li>
</ul>

<p>Let's quickly flip the circuit board over.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/08/Bluetooth-Headphones-Interior-circuit-board-reverse-.jpg" alt="Bluetooth Headphones - Interior circuit board reverse" width="1024" height="499" class="aligncenter size-full wp-image-23182">

<p>Nothing remarkable. The wires are a little on the thin side - they're not intended to for you to fiddle with.  The loose circuit appears to be inside the speaker itself.  It is trapped behind a little blob of glue in a sealed plastic unit.  Judging from the way the sound sometimes cuts out and is brought back with a little pressure applied to the speaker, I suspect a slightly damaged wire or loose contact.</p>

<p>The left ear-bud only contains the battery and charging circuitry.</p>

<p>A neat package.  Easy to pull apart and put back together should you feel the need.</p>

<h2 id="verdict"><a href="https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/#verdict">Verdict</a></h2>

<p>The Oittm Bluetooth Headphones are £19.99.  At that price range you'll find <a href="http://amzn.to/2b130uL">hundreds of headphones on Amazon</a>.  The Oittm are ridiculously lightweight - you'll barely know you're wearing them and they can be chucked in your handbag or pocket without taking up significant space.</p>

<p>The flat cable makes for a surprisingly good anti-tangle device.  The lurid green colour is distinct without being obnoxious.</p>

<p>The in-ear hooks help keep everything in place. As long as you choose the right size, you can run and jump as much as you like without them dislodging.</p>

<p>One caveat - the pair that I received had a fault which caused the right speaker to occasionally cut out. LOPOO UK offered to replace them extremely quickly.  These sorts of intermittent issues are tricky to spot by retailers, so I can't be too harsh on them.</p>

<p>You can <a href="http://amzn.to/2b0Qs6C">buy the Oittm Bluetooth Headphones</a> on Amazon.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=23166&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/08/review-teardown-oittm-bluetooth-headphones-re-e01/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Easy ways to add watermarks to images and videos in Linux]]></title>
		<link>https://shkspr.mobi/blog/2016/08/easy-ways-to-add-watermarks-to-images-and-videos-in-linux/</link>
					<comments>https://shkspr.mobi/blog/2016/08/easy-ways-to-add-watermarks-to-images-and-videos-in-linux/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 02 Aug 2016 11:14:32 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=23151</guid>

					<description><![CDATA[Mostly notes to myself :-)  Here is a quick way to add watermarks to photos and videos. All Linux command line based - so perfect if you&#039;ve got a lot of images you want to manipulate.  Here is a delightful photo I&#039;ve taken of a bee covered in pollen. I want to add a little copyright notice to it in order to discourage people using it without permission.    This command uses imagemagick&#039;s…]]></description>
										<content:encoded><![CDATA[<p>Mostly notes to myself :-)</p>

<p>Here is a quick way to add watermarks to photos and videos. All Linux command line based - so perfect if you've got a lot of images you want to manipulate.</p>

<p>Here is a delightful photo I've taken of a bee covered in pollen. I want to add a little copyright notice to it in order to discourage people using it without permission.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/Bee-covered-in-pollen.jpg" alt="Bee covered in pollen" width="512" height="320" class="aligncenter size-full wp-image-23154">

<p>This command uses <a href="http://www.ImageMagick.org/">imagemagick</a>'s "<a href="http://www.imagemagick.org/Usage/annotating/">annotate</a>" option.</p>

<p><code>convert bee.jpg -gravity SouthEast -pointsize 16 -font TinyUnicode-Medium -fill "#fffdc3" -annotate +10+10 "(C) @edent" bee1.jpg</code></p>

<p>It produces this:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/Bee-covered-in-pollen-with-pixel-watermark.jpg" alt="Bee covered in pollen with pixel watermark" width="512" height="320" class="aligncenter size-full wp-image-23152">

<p>As you can see, a small watermark in the bottom right - specified using <code>-gravity SouthEast</code>.  I've chosen a yellow colour for the font - in homage to the <a href="https://people.duke.edu/~ng46/collections/steg-eurion-constellation.htm">EURion anti-counterfeiting symbols</a>.</p>

<p>The <code>-annotate</code> command contains the distance in pixels from the edges</p>

<p>For small text, I favour a Pixel Font like <a href="http://www.dafont.com/tinyunicode.font">TinyUnicode</a> - but feel free to choose one which suits your needs.</p>

<p>In this example, I position the message in the top left, with a larger font size, in pale blue, closer to the horizontal edge and further from the vertical edge.</p>

<p><code>convert bee.jpg -gravity NorthWest -pointsize 32 -font Helvetica -fill "#cee3f8" -annotate +1+50 "(C) @edent" bee2.jpg</code>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/Bee-covered-in-pollen-with-Helvetica-watermark.jpg" alt="Bee covered in pollen with Helvetica watermark" width="512" height="320" class="aligncenter size-full wp-image-23155"></p>

<h2 id="video"><a href="https://shkspr.mobi/blog/2016/08/easy-ways-to-add-watermarks-to-images-and-videos-in-linux/#video">Video</a></h2>

<p>Adding a watermark to a video is more complex.  This will require either ffmpeg - which isn't always installed by default on Linux - or avconv (I don't pretend to understand why <a href="http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html">ffmpeg and avconv split</a> - but there we are).</p>

<p>I am going to <a href="https://ffmpeg.org/ffmpeg-filters.html#overlay-1">overlay</a> a transparent image on top of the video.</p>

<p>I've created this watermark image with a transparent background.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/small.png" alt="A transparent watermark" width="355" height="55" class="aligncenter size-full wp-image-23158">

<p>To overlay it, I use:</p>

<p><code>ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=1500:1000" output.mp4</code></p>

<p>or for <a href="https://web.archive.org/web/20160802062315/https://libav.org/documentation/libavfilter.html#overlay-1">avconv's overlay</a>:</p>

<p><code>avconv -i input.mp4 -i watermark.png -filter_complex 'overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10' output.mp4</code></p>

<p></p><div style="width: 620px;" class="wp-video"><video class="wp-video-shortcode" id="video-23151-7" width="620" height="349" loop="" preload="metadata" controls="controls"><source type="video/mp4" src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/small.mp4?_=7"><a href="https://shkspr.mobi/blog/wp-content/uploads/2016/07/small.mp4">https://shkspr.mobi/blog/wp-content/uploads/2016/07/small.mp4</a></video></div><p></p>

<p>ffmpeg's <code>overlay=</code> option allows me to specify where the <em>top left</em> of the image will appear on the video.  So adjust those number based on the resolution of your watermark and of your video.</p>

<p>avconv has a more complex syntax.  It's possible to specify the <em>absolute</em> position using <code>overlay=x=1500:y=1000</code> or to use <em>relative</em> positions with <code>overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10</code>.</p>

<p>Or, for a one-liner:</p>

<pre><code class="language-_">ffmpeg -i input.mp4 -vf "drawtext=text='@edent':x=10:y=H-th-10:fontfile=/home/edent/.local/share/fonts/OCRAEXT.TTF:fontsize=15:fontcolor=#cee3f8" -vcodec h264 -strict -2 output.mp4
</code></pre>

<p>So, there you have it - hopefully simple ways to watermark your media files.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=23151&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/08/easy-ways-to-add-watermarks-to-images-and-videos-in-linux/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2016/07/small.mp4" length="2089661" type="video/mp4" />

			</item>
		<item>
		<title><![CDATA[Reducing the filesize of complex 3D .OBJ models]]></title>
		<link>https://shkspr.mobi/blog/2016/08/reducing-the-filesize-of-complex-3d-obj-models/</link>
					<comments>https://shkspr.mobi/blog/2016/08/reducing-the-filesize-of-complex-3d-obj-models/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 01 Aug 2016 11:46:49 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=23143</guid>

					<description><![CDATA[Loading large 3D Models in the browser is extremely resource intensive.  2D images are trivial to resize and resample with negligible loss of perceived quality.  3D resizing is complex.  As part of my &#34;Pirate Museum&#34; I wanted to display 3D scans of statues using WebVR.  The only problem is, these files are huge.  Take The Dancing Faun - at full resolution, that&#039;s around 230MB.  Even on fast…]]></description>
										<content:encoded><![CDATA[<p>Loading large 3D Models in the browser is <em>extremely</em> resource intensive.  2D images are trivial to resize and resample with negligible loss of perceived quality.  3D resizing is complex.</p>

<p>As part of my "<a href="https://github.com/edent/PirateMuseum/">Pirate Museum</a>" I wanted to display 3D scans of statues using <a href="https://aframe.io/">WebVR</a>.  The only problem is, these files are <em>huge</em>.</p>

<p>Take <a href="http://www.thingiverse.com/thing:196048">The Dancing Faun</a> - at full resolution, that's around 230MB.  Even on fast broadband that's a pain to download - and even on a fast computer it is slow to render. Once you add several models like that to a scene, everything grinds to a halt.</p>

<p>I wanted a simple way to turn a complex model into something simple - but still recognisable.</p>

<p>On the left you can see the face of the full sized model - on the right is it after being shrunk.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/Reducing-model-complexity-.jpg" alt="Reducing model complexity." width="1024" height="502" class="aligncenter size-full wp-image-23145">

<p>A surprising level of detail remains - and the filesize is a miniscule 1MB.  Small enough for a floppy disk!</p>

<p>To do this, I used <a href="http://meshlab.sourceforge.net/">MeshLab</a> - the Open Source 3D modelling software.  Meshlab has a great GUI - but it can be slow to work with, especially if you're trying to change lots of models at once.</p>

<p>The first step is to <a href="https://support.shapeways.com/hc/en-nl/articles/17001740700060-Polygon-Reduction-with-MeshLab">create a filter script in the Meshlab GUI</a>.  This is what I settled on, a script to reduce any model to 32,000 faces.</p>

<pre><code class="language-xml">&lt;!DOCTYPE FilterScript&gt;
&lt;FilterScript&gt;
 &lt;filter name="Quadric Edge Collapse Decimation"&gt;
  &lt;Param type="RichInt"   value="32000" name="TargetFaceNum"/&gt;
  &lt;Param type="RichFloat" value="0"     name="TargetPerc"/&gt;
  &lt;Param type="RichFloat" value="1"     name="QualityThr"/&gt;
  &lt;Param type="RichBool"  value="true"  name="PreserveBoundary"/&gt;
  &lt;Param type="RichFloat" value="1"     name="BoundaryWeight"/&gt;
  &lt;Param type="RichBool"  value="true"  name="PreserveNormal"/&gt;
  &lt;Param type="RichBool"  value="false" name="PreserveTopology"/&gt;
  &lt;Param type="RichBool"  value="true"  name="OptimalPlacement"/&gt;
  &lt;Param type="RichBool"  value="true"  name="PlanarQuadric"/&gt;
  &lt;Param type="RichBool"  value="false" name="QualityWeight"/&gt;
  &lt;Param type="RichBool"  value="true"  name="AutoClean"/&gt;
  &lt;Param type="RichBool"  value="false" name="Selected"/&gt;
 &lt;/filter&gt;
&lt;/FilterScript&gt;
</code></pre>

<p>The files is then saved as <code>32k.mlx</code>.</p>

<p>I followed <a href="https://web.archive.org/web/20160826033420/http://www.andrewhazelden.com/blog/2012/04/automate-your-meshlab-workflow-with-mlx-filter-scripts/">Andrew Hazelden's blog post</a> to run the script using Meshlab server.</p>

<p><code>meshlabserver -i original.obj -o small.obj -s 32k.mlx</code></p>

<p>After a few moments - depending on the speed of your kit and size of model - a reduced size version will be spat out.</p>

<p>It is important to note that the MeshLab work only changes the <em>quality</em> of the model - not its apparent size in 3D space.</p>

<p>Models can be permanently scaled using <a href="https://github.com/tapio/obj-magic/">Obj-Magic</a>.  For example, to scale a model to be half its physical size, run:
<code>./obj-magic -s 0.5 -o half.obj original.obj</code></p>

<p>Finally, we have the issue of rotating models in 3D space.  Some models are oriented in surprising ways.  This can be done with <code>obj-magic</code> if you already know how you want the model to be rotated.  I found it easier to use <a href="https://www.blender.org/">Blender</a> on some of the models to rotate them and re-centre them.</p>

<p>Blender is notoriously complicated - all you need to do is import the .obj. Select it in the right hand panel. Then select the Cube / Object menu.  In there you'll find the controls to shrink and rotate the object.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/07/Blender-.png" alt="A screen from Blender showing a rotated 3D model" width="858" height="530" class="aligncenter size-full wp-image-23148">

<p>Once done, select "Export" then "Wavefront (.obj)".</p>

<p>So, with that you can easily shrink 3D models to a more compact file size.</p>

<p>You can <a href="https://edent.github.io/PirateMuseum">visit my Pirate Museum</a> to experience the models.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=23143&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/08/reducing-the-filesize-of-complex-3d-obj-models/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The Ubuntu Tablet - A Review of the Aquaris M10 Ubuntu Edition]]></title>
		<link>https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/</link>
					<comments>https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 02 May 2016 11:35:06 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22785</guid>

					<description><![CDATA[I&#039;ve been trying to find the perfect Linux laptop. I need something small, light, powerful, and with an ergonomic keyboard.  Hmmm... Perhaps I don&#039;t need a laptop.  I could use a tablet and my new Bluetooth keyboard...  Enter BQ&#039;s Aquaris M10 Ubuntu Edition.  It promises the Ubuntu experience in a convenient tablet package.  I wanted to love this tablet. But it is so unbelievably bad that I&#039;m…]]></description>
										<content:encoded><![CDATA[<p>I've been trying to find <a href="https://shkspr.mobi/blog/2016/01/finding-the-perfect-linux-laptop/">the perfect Linux laptop</a>. I need something small, light, powerful, and with an ergonomic keyboard.</p>

<p>Hmmm... Perhaps I don't need a <strong>laptop</strong>.  I could use a tablet and my new <a href="https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/">Bluetooth keyboard</a>...</p>

<p>Enter <a href="https://en.wikipedia.org/wiki/BQ_Aquaris_M10">BQ's Aquaris M10 Ubuntu Edition</a>.</p>

<p>It promises the Ubuntu experience in a convenient tablet package.</p>

<p>I wanted to love this tablet. But it is so unbelievably bad that I'm returning it for a refund.</p>

<h2 id="unboxing"><a href="https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/#unboxing">Unboxing</a></h2>

<p>It all starts pretty well.</p>

<iframe title="bq Aquaris M10 - Ubuntu Tablet Unboxing" src="https://player.vimeo.com/video/163548878?dnt=1&amp;app_id=122963" width="620" height="349" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media"></iframe>

<p>OK, a few usability issues.  These could easily have been caught in new-user testing.  But, it appears, no such testing has been undertaken.</p>

<p>This review is based on the latest OTA update (10.1).</p>

<h2 id="why-it-is-crap"><a href="https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/#why-it-is-crap">Why it is crap</a></h2>

<p>Let's get one thing clear - <em>this is not Ubuntu!</em> It is some form of bastardised, cut down, limited access version called "Ubuntu Touch."</p>

<p>I completely understand why a tablet needs a different, finger-optimised UI.  But that's not what Canonical have done here.  <strong>Ubuntu Touch doesn't run Ubuntu programs!</strong></p>

<p>Like an iPhone, you can only install blessed apps from the app store. And there's pretty slim pickings in there. No Chrome, Audacity, Python... Basically nothing useful.</p>

<p>Oh, about that finger-optimised UI. Yeah, not so much.  Several of the apps are unoptimsed for touch.  The device comes with LibreOffice built in - but it doesn't support the onscreen keyboard!  There's nothing on screen to tell you that - you just have to keep hitting the screen impotently until you give up.</p>

<p>If you do manage to open a dialogue box, you'll find it nearly impossible to use with your fingers.</p>

<iframe title="Ubuntu OTA 10.1 LibreOffice file dialogue" width="620" height="349" src="https://www.youtube.com/embed/jf_fhYN1ZTA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>It works well enough with a USB mouse - but that's not the point. I want to be able to use this tablet as a tablet occasionally.</p>

<p>There's a "desktop mode" which lets you move windows around (<a href="https://web.archive.org/web/20150503120220/https://plus.google.com/+LinusTorvalds/posts/DbmEE8kXLDA">no wobbly windows</a>, boo!) and a rudimentary split screen mode, but nothing which is useful for actual work.</p>

<p>Task switching is another area where the tablet falls down.  Take a look at this screenshot - notice anything funny?
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Task-Switching-Rotated-.jpg" alt="Task Switching Rotated-" width="1024" height="768" class="aligncenter size-full wp-image-22805">
Yup - some of the screenshots are rotated.  If you use the tablet in portrait and then switch to landscape, expect a mish-mash of confusion. Basic mistakes which could have easily been avoided.</p>

<p>But, suppose you're OK with that.  Take a look at this screenshot.  I've started Alt-Tabbing - can you tell which window is now ready to open?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Task-Switching-Which-One-.jpg" alt="Task Switching Which One-" width="1024" height="768" class="aligncenter size-full wp-image-22806">

<p>I <em>thought</em> it would be the one on the extreme right. Perhaps the one in the centre?</p>

<p>It appears to always be the 2nd one from the left!</p>

<p>Except when I've tabbed to the end - then it <em>is</em> the last one. Until I tab round everything - then it's the 1st from the left.</p>

<p>I'm confused - and <em>this makes me feel stupid</em>. In every other version of Ubuntu I've used, the centre/foremost window is the one which will be opened. On this tablet, I feel like I'll never know which will open.</p>

<p>I guess that's the crux of why I hate this tablet.  I love Ubuntu - but this tablet makes me feel like an idiot. I can't even run <code>sudo apt-get install ...</code> to get it to do what I want.</p>

<p>Incidentally, Firefox comes with the tablet. It's not touch compatible - you have to use a keyboard and mouse.  But if you alt-tab out of Firefox and then back, you can't use the keyboard to type any more.  Not without rebooting.</p>

<p>To give you a general idea of some of the slap-dash attitude to the rest of the software - take a look at the icons on gEdit, the text editor in the Ubuntu store.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Ubuntu-tablet-gedit-missing-icons-.jpg" alt="Ubuntu tablet gedit missing icons-" width="1024" height="251" class="aligncenter size-full wp-image-22808">
Oh, that's right - there are no icons. They're broken.</p>

<p>Finally, I tried checking the spelling of a document I'd typed in LibreOffice.  I couldn't. <a href="https://bugs.launchpad.net/avila/+bug/1572932">There's no language packs installed</a>.  I don't mean there's no en_GB and I have to use American spelling - I mean there's no spell-chequer available.  It's also impossible to install one.</p>

<h2 id="the-good"><a href="https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/#the-good">The Good</a></h2>

<p>It paired easily with my Bluetooth keyboard.</p>

<p>(Even that's a bit of a lie.  Some apps, like Firefox, didn't respect my keyboards language settings - meaning that @ and " were swapped.)</p>

<p>It charged quickly and managed about 6 hours of fairly hefty use before it needed plugging in again.</p>

<p>The screen was clear and bright - although the graphics juddered a lot in scrolling.</p>

<p>One of the default apps given pride of place on the default launcher was <a href="https://help.ubuntu.com/community/XChat-GNOME">XChat</a>. Yes, that's right, you can log in to IRC like it's the early 1990s.  Well, you could if the app worked with the on screen keyboard.</p>

<p>There are two map apps! One of which doesn't support pinch-to-zoom...</p>

<p>The built in Twitter app launches the mobile web version of Twitter - so you get a tiny column in the middle of the screen. It does, however, do push notifications! You can't click on the notifications though - they just wobble maddeningly when you do so.</p>

<p>I comes with a phone dialler app.  There's no SIM card slot in the device - it's just a vestigial leftover.</p>

<p>A whole host of snags which should have been caught before the device shipped - let alone received its first update.</p>

<p>In fairness, the top-tier apps look great and respond well to the touch interface. There are some clever touches - like swiping from the sides to bring up options, change apps, etc.</p>

<h2 id="conclusion"><a href="https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/#conclusion">Conclusion</a></h2>

<p>For €300 I expected a <strong>lot</strong> more.  I could have got a decent Android tablet for less money - it would have been more functional, better supported, and have higher performance.  I wasn't expecting to be able to run full-stack development on this, but I did expect to be able to run basic Python, Ruby, PHP, etc.</p>

<p>Instead, I got a flakey tablet with a dumbed-down UI which <a href="https://bugs.launchpad.net/avila/+bug/1572902">hasn't been properly localised</a>.</p>

<p>The <a href="https://bugs.launchpad.net/~edent">bugs I've reported have gone unanswered</a>.  I dropped a note to some people at Canonical, and while they were helpful, they didn't have any public roadmap for fixes.</p>

<p>Honestly, the tablet feels like it hasn't been given to a normal user for five minutes.  There's a host of issues which should have been picked up in early user testing.  Some of these are easily fixable but others are more are fundamental to the hardware and software choices they've made.</p>

<p>I don't normally mind being a beta tester - but not at this price.</p>

<p>The quest for the <a href="https://shkspr.mobi/blog/2016/01/finding-the-perfect-linux-laptop/">perfect Linux laptop continues</a>!  If anyone knows of a large screen tablet which can run full Ubuntu - please let me know!</p>

<hr>

<h2 id="what-i-want-in-my-perfect-ubuntu-tablet"><a href="https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/#what-i-want-in-my-perfect-ubuntu-tablet">What I Want In My Perfect Ubuntu Tablet</a></h2>

<ul>
    <li>Larger than 10 inch screen.  Ideally 13-15 inches. I need that size to be able to work effectively without eye-strain.</li>
    <li>Ubuntu.  Not "Ubuntu Lite" or "Ubuntu Touch" or "Ubuntu 2K" - I want a full Linux machine which can run everything I throw at it. Sure, have a simplified interface for touch-mode, but once I plug in a keyboard I want a desktop OS.</li>
    <li>More ports.  I bought a £3 USB OTG hub which lets me charge and use USB simultaneously - but it's a bit of a faff.</li>
    <li>Charging via micro-USB (or, I guess USB-C) is a must. I don't want yet another proprietary charger.</li>
    <li>User testing. I don't want to buy something with basic snags and flaws. Concentrate on fixing things before adding more decorations.</li>
    <li>Smooth 2D graphics. I'm not planning on playing hyper-realistic VR games - I just expect web pages to scroll smoothly.</li>
    <li>Supported hardware. I don't want to upgrade my distro only to find out that the hardware manufacturer has stopped supplying drivers.</li>
    <li>I'm not particularly price sensitive - although I guess under £500 would be nice.</li>
</ul>

<p>Onwards!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22785&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/05/the-ubuntu-tablet-a-review-of-the-aquaris-m10-ubuntu-edition/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Generating Random Chiptunes on Linux]]></title>
		<link>https://shkspr.mobi/blog/2016/04/generating-random-chiptunes-on-linux/</link>
					<comments>https://shkspr.mobi/blog/2016/04/generating-random-chiptunes-on-linux/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 25 Apr 2016 13:46:36 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22790</guid>

					<description><![CDATA[I like to listen to music while I work. I find - especially in an open plan office - that it is an essential aid to concentration.  That said, I find music with lyrics particularly problematic as my brain prefers to concentrate on the words rather than the task in hand.  On long flights, I often use a white noise generator to drown out sound.  I&#039;ve recently started listening to random music.  A…]]></description>
										<content:encoded><![CDATA[<p>I like to listen to music while I work. I find - <a href="https://web.archive.org/web/20160519204613/https://tommorris.org/tag/open%20plan">especially in an open plan office</a> - that it is an essential aid to concentration.</p>

<p>That said, I find music with lyrics particularly problematic as my brain prefers to concentrate on the words rather than the task in hand.</p>

<p>On long flights, I often use a <a href="https://f-droid.org/en/packages/net.pmarks.chromadoze/">white noise generator</a> to drown out sound.</p>

<p>I've recently started listening to random music.  A simple command line script to generate a highly synthetic / chiptune / glitchnoise neverending piece of music.</p>

<p>This code is <em>shamelessly</em> ripped off from <a href="http://blog.robertelder.org/bash-one-liner-compose-music/">Robert Elder's blog post</a> and the subsequent <a href="https://news.ycombinator.com/item?id=11238247">HackerNews discussion</a></p>

<pre><code class="language-bash">cat /dev/urandom | \
   hexdump -v -e '/1 "%u\n"' | \
   awk '{ split("0,3,5,6,7,10,12",a,","); \
   for (i = 0; i &lt; 1; i+= 0.0001) \
   printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | \
   xxd -r -p | \
   aplay -c 2 -f S32_LE -r 24000
</code></pre>

<p>Copy &amp; paste that into your Ubuntu terminal and it should sound something like this:</p>

<iframe width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/soundcloud%253Atracks%253A251327483&amp;color=%23ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true"></iframe>

<div style="font-size: 10px; color: #cccccc;line-break: anywhere;word-break: normal;overflow: hidden;white-space: nowrap;text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif;font-weight: 100;"><a href="https://soundcloud.com/edent" title="edent" target="_blank" style="color: #cccccc; text-decoration: none;">edent</a> · <a href="https://soundcloud.com/edent/random-chiptune" title="Random Chiptune" target="_blank" style="color: #cccccc; text-decoration: none;">Random Chiptune</a></div>

<p>I don't know enough music theory or maths to determine what will sound pleasant and what won't.  But a little bit of fiddling got me this jaunty little number:</p>

<pre><code class="language-bash">cat /dev/urandom | \
   hexdump -v -e '/1 "%u\n"' | \
   awk '{ split("0,1,2,4,8",a,","); \
   for (i = 0; i &lt; 1; i+= 0.0001) \
   printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | \
   xxd -r -p | \
   aplay -c 2 -f S32_LE -r 30000
</code></pre>

<p>It's not quite up to the standards of Daft Punk - but it covers up the noise of the office and allows me to concentrate without (audible) distraction.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22790&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/04/generating-random-chiptunes-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The best damn Bluetooth Keyboard in the world!]]></title>
		<link>https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/</link>
					<comments>https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 14 Apr 2016 13:43:32 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22753</guid>

					<description><![CDATA[I love my keyboards. I mean, I have an unhealthy obsession with them.  I spend a lot of time typing and the cramped keyboards which come with most laptops and MacBooks just don&#039;t cut it for me.  Their poor ergonomics leave my wrists in pain.  For years I was a devotee of the Microsoft 4000 Keyboard.  It&#039;s a big old beast - and that&#039;s its main drawback; it&#039;s just too large to carry around.  It…]]></description>
										<content:encoded><![CDATA[<p>I love my keyboards. I mean, I have an <em>unhealthy</em> obsession with them.  I spend a lot of time typing and the cramped keyboards which come with most laptops and MacBooks just don't cut it for me.  Their poor ergonomics leave my wrists in pain.</p>

<p>For years I was a devotee of the <a href="https://shkspr.mobi/blog/2014/05/cosmetic-changes-to-the-microsoft-4000-keyboard/">Microsoft 4000 Keyboard</a>.
<a href="https://shkspr.mobi/blog/2011/12/changing-the-microsoft-4000s-zoom-keys-in-ubuntu/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2011/12/4126YPCP4DL.jpg" alt="MS 4000 keyboard" width="500" height="309" class="aligncenter size-full wp-image-14460"></a>
It's a big old beast - and that's its main drawback; it's just too large to carry around.  It could also do with an integrated USB hub if it's going to take up one of my precious laptop ports.</p>

<p>So I moved to Microsoft's wireless model - the <a href="https://shkspr.mobi/blog/2015/06/tech-review-microsoft-sculpt-ergonomic-desktop/">Sculpt Desktop</a>.
<a href="https://shkspr.mobi/blog/2015/06/tech-review-microsoft-sculpt-ergonomic-desktop/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/Keyboard-width.jpg" alt="Microsoft Sculpt Keyboard" width="1024" height="565" class="aligncenter size-full wp-image-21106"></a>
It's a delightful bit of kit.  Just about small enough for me to carry around.  Only two real drawbacks - it takes AAA batteries rather than being rechargeable, and it doesn't use Bluetooth.</p>

<p>Yup, it requires <a href="http://thehackernews.com/2016/02/mousejack-hack-computer.html">a proprietary dongle from Microsoft which is hideously insecure</a>. Oh, and if you lose the tiny dongle, you need to buy an <em>entirely new keyboard!</em></p>

<p>It's also too fragile for a normal laptop bag...</p>

<blockquote class="social-embed" id="social-embed-712202160365240320" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">My Tweets may make less sense than usual today... <a href="https://twitter.com/edent/status/712202160365240320/photo/1">pic.x.com/2gvopjpr10</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/CeJAFwxXEAA4yJb.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,UklGRthCAABXRUJQVlA4IMxCAADQ+QGdASqoAv4BPrVSo06nJCOmIrCcOOAWiWltJOhrhr9zaCy11JKiSXXMqzhzYPi3aC//9fen1cFjHLRvc/oC+Xf4nizqza6C7bzmd3qkbujmrGgL5RPieVz2bY3iIDBNiJyqUuGvW4bqMFk/RfrZNY3/L3fO/1OdY9aGwtSX6pwmJVNeucIv8f2OK0ZgHe1K6Lq8QQnDl4tsaIAu9fglP3Co11p8HWs4tvT8uuO5VnW3j347V7gLfWI8TsdcPfvCZUU5R1BpDxAxfa4EFtS1djvxYo3oC+9uuXPZhgQEO2SmOaRnfBGtbMBUNSIYu5heES5aqWVs5bUKJGFKf+CPVE/hseiVcL2HHWOBqaVe3KvIl2kB3ltfkOGuSHtdt4lasNBdwSUiX42Ib7a7HSGqHzFHXAZ5/JboR3qqsZa/QnQw7yIwzDV0s4vT6N1Uoh+0H95So1uuUaKqaxCMIUWaovAom2ofFWbOFUKfaWfbj8LjBXUwadlOt3RuKli9IpaCloNuI0EIKUEvll/9B8fwDToxt7Igx30bL+iW/mDdYJj6FhiNe8suKWEIKjv96ihEteJeKZBjzAdCrlf7LpDAeaLzymryJ/oimyeeuTm3yL5tPdhx7P+qE8HoE4n7t6iB1iAWMkJn1XF3n6oY+WjV43gGLysDyqOUhqHGhTBesMrsHmBW6dd8iZK/6WCq0Sysbt8cvIAzyIPZZZRRPh3fnlCzX1HeR9PVM2zQjVFHgk5F30qguZtqaM0G31s8V6qHAPME8IPUah5CB0bkDPeYgmSUw/glbLUhOjiaj3Pn5Rvt0E40GQc7Kb7c5Js9UnMDnHVfe/jdS3kgMN+cmHnvPMvnHD3NJ0IfonwandMtksbWF1Hd6o1X4EXzn+V+bWWpjIFX8vzvA+E5Fy3cGHuEeLEBRSogDQiq+rdx432yHtVlBTIT2SPbRNIpamZhfxyblZzmjof1SJQkUCIHD1hgNhWeGO215Xmfpwcbwzz1yZg6M8E+VlbwzVOxB1HoUCuj2ndXLqu0O8MRU/G0vFNJULU2kic0q49KsZyuAeEtPZU2tnwk9JMzo5JT/PEgh64Ztqbvvf6TB+cI1JC0AH8oymiJDC0iDb3kRdjSyojF9FUHTjiJ283nl4v2XpqIsDMIWQvUHnlRWtewtvrIkwiEq5Uz7g0+34CLQ9qtUCcvpUgrEkr0DxWKTlwvXaaGoOL6B1QAWTLUToFq81iUtVWRnV6L5uY2V0eNR+LrsjK/PQL5V4DZ6LzLWwCwfTat9RLmjETrEwtHtj9k0gF7uIYdlbe50KySF6vY6Y1tzgGRorTMOY3wUfCCi+XgfWqd6D2Z/7Yx2mTFpZq802iJY96IxvA+jvPxad+Gxs12SNf9vdJeM5XU0AxpytsZbhcOJ+vkJuCt/VjyxjEjPNmS/zeJlKJ0EkOP2uty9a/GYfy5lI6qr9sKSTk+eFnBW/bUZM0diE07CnDQvNYB0NKd+kxDpqCiwzippy1qFJNh8/YSsuWRFtgqX6CA9VWBbBH2gtSGhiLjx7St1efppW0R5wlZM6Umj/eQRWWU8GCFYvxa874h0ij8l/mHe1LeRo52sGo7zKwa6AaNto0SQqpeqoT44PKVRNtbvVp5cMf/r2XzolZFWXhPb9XjVFCq/K9JLov1TvRw36QVWINooj2UzXkpPqw9AmmInLwy4wBySXXKiQmhWl/4j56BgiAAZAjvggAqcG226QVTW7R4K/+TRX00eHMGbAKaHNMI/CzcL79aRGgRYDDaTyTtT+KYeA/LKM8WoFwt6A8aol8mHvnpP6wqt9KCkBSiFEt6s9UYYwJ8LRZzzuvE1niSyeBR4RsehDVswfwnQzllvBMW0wtRatl+jfTlH797NgL9xPYYzX1p2z/ADqnOQ2sFbJNxoHMtRfosyxmg3msoX2uFkhIf9QfM+3xH51PfX1cMTdx0cGDvHP+J4AEVJBgZXa8NfhHvhXBnDQnTgi1x+Xi5PjRulEPQRJtY33lpxlVCRIdjKeRGyYFiNCwCCJKPffA5xc7cqDMjV44CFOZ6DzngTItZ3kWEIafpFGTZ9DOJoz6RneCAaTXLZVFJ86/FeyScu5OWF4Vplio3JsKN2+BAM3TTDaQ37Bd59ZvH8KFnaSgRbzGhgMPbM363Lefu4VFuAiKGtcG09WPJRiC/pYYXIrXugvBdDk9PwOaHj8EO6z2S9J7MkweFJCvca9BooTFdCONKeeq4CizHKER4CR9xiVNbyQlEgThvMbxYbrsXsCO/bSyjpSEwSP86zNK6Zwb1WBQVC3g4z7XxalN0SGwVdWxWkL9UnCdVPx+PrW3/tQoMmkvatlokqbS2NiuDqYkfwr9H9M7AgrOqRF4gFIerGrtx2Y3xzka1G7woQw2fhtR6u9ncLdpHeXZMJBZUGX1K5pBAmyj70fYXnVGfAcIJHwxJvR6a0nKSLWmZgMc2sA6ZovRMgyD9W4tbpkMUa7ufwoHA0d/3Zg6VcX+zZ48WrV9RNYwG9SV7A1yAHHxoBg7dq9mXKoE26VgEQWlIQfVxQOChXz6r627r8M5LDkwdATukMd9LMG/HY+wxj9+zA2aW7pLhIKi5VSWPbvC/AedaF2ynfN174OiRK8Wo1ZjeGW47vA+Cr6jJqHD5oOSIqiHRKSUE4PRyAL2r3r/m6RU1V+dnMilIpQgqlZVd83XRjWBjIKU8EdX/SckHjPfHCTq0lL8SROMpd6WLC08fupGA6ApMf6nzkoXQkTV3OAK41d6kBp6akNLybO6qpYD4TYmB3edZLSaVUrptBKnUCE23oyKRQChNOj0IRvFblPD6IdEsNqINnVNmewIkBLEEuI1SP2AXfPfy1Hg0VDzV49/MmK2YyaRxL2phM3GP+r1ER8Z/vtTQ1rXX6hh8CpdFSbnX2yyzZIZpw1eSYo4cWmhzdo+8GXm8iF1auLjKMbL5fNwwB81q0elWvNLbjNtoCzaz1RsNX/6e/+ib1VOgBGOVzlDHsUgKCw/un2xX1okRUNpSVKCxnNKQXl4hHz4THH+1TeaZ0NNNOTNGJZzVvclGKBDfaUIeKBog5MH1Zn7VSjbzZhLiGNm9xPkJ4nI9AYFzUMo8lj3NI9cjJDYRBzZGQTPAD29c1+2XelEbmeSZOfsTaLSlE5TEoyxXMTo7wCeRJYSfVdKBLleWxHLaZFLwSliwf8Dk70AkX7JhbO46nsRZpST+uJQ3VEKaDzQkKGFdZ7Ua/R/RfPFxCHzOyE5lS1S/tN/4OlgkvehzEuILgwU2V+oIIvb8rYOTjIJj7Hg0m1j/TwtdP8p3W7dGLtzNsBcX3Eg6G3vB3S7lMFNsnEOr9K0+WoiuPA984lZUB99zhJBqY0IdtzQCDMxu3x+/p2XX4vSVYxgpZ/qVTyXXYjzGXSWV8R7vP29j18qBJ3G8LnY/ZnDZDih9L/O1gRk55qim0U6kmTmyc+eyUv8POH7kBCg5sdpgRupdlFCxTmAOfvxcZ39fwy7Pwb/9wvZRNH+lzUQ+6JyzYAKHOifw6iL/Srsy54q4kGAOFuY5XGt1BGNrF7UXD/AJsShMp6EbTesvt8nbanfa2oTqaeu5F7Q8rIIXRp8ZGgy5HakwemBDQ5Y3QoLuyHz99QT5YZ+O8l9HuQt0LFHJNGe1kfs09+50eFgnFCkYNOkZMtoc22T3Z3rXxf7tMqeqN9a7BH6TEnJwBK6dcOFtM7pdaFZB5MC3OrnNx/dQVyUF289z46D4uprZzpQHKP2IL7AgGg+2+Vh+QlBcQd8xeTFCJ3RlQpzlWSWUPtgEyTI7GGOqViaSjOU+NuE1vPF1JzIeLpmxBnjeTyc0ZN8ORIvEuXBtqI/XV3LRbaJis5S3Sz4bc2D1ja15oe3t8L2BmrQ5I75fb0UBmNspUuhrPKfjH/yU9nREW6rVcDNjbwmspy/a1ZIx4/ADBK7bYPO27BqHiQAaDkZWtMsiJh8+8llp9KnF/psoavQ+ENc8bb10IbbpVenKpzd+4ji5w14Z9RRBBBs0LUOYD71EukdNNmbl0yvEP8rOL0WqFDlLIknkJyqebCzrIO2Tl2I5gjI+wdF4DUFaH3mLvkfe2/9f8L2dCir7S5d/zsaUCMHH88A9G+EEM1i9dZw88EE+q36qhYxR5B+9TNZPKOFrjyGaIrkB0OFLjQNqM0EG+aL2p6kld36jhdcKRtSTq0Yzo2DmiyB804to2HW4fmZe+KSkQSm760TD9uO8umks1u2M32ICt1v5DIIwkUYa9RuAV4Bt86cQeq6xjTtP+6GZQMs4wS0jkkQsV6QPxYdTQOsCLTulFuUFsEDgEJ8Ex6SLLpOKflsZc/6eT+E9+GR41rqK5aBorewo18X0KY8jH1Lak9q9nfPaCbqlezhfrjn9LPfRYk695A8AzwH8sVFwwZAaL73o09GmmKnxuvzOo3pTW1fKRtUL3ozKMlZwmGgWbYDp0QGU/joECtsS3KpD9t1xJ4Jiaoc61BbT4dJGyWclEgHMZQcrYPu02UW9tD/wFh4MTexEp6gGfg1lCZequzEXvoocgn3tfXydYmMcbdT9H+txUZez4w/Fm+SCnJoxCkj6xMPzd/p+2d3dDbcrQu+gmG3a3EboHJxUJR1ivL4rym9nU/5QavOKGdgv4t6t559BS2mwxosg/jtX9tfTd1+QGi9ImhsgmTCbtpL3OMnCXniBMtpfDmLVRf6I5lNNdtbOvdGOcYT6wXpijL/EZbjQ0dexzsD8PUe4HxuTTXv09M6qmOi+zvj5FskWzehPMiEihhVIFGLoG3hd17Mp1+QO2h1u5svwfHVyiQewP1BllmVhNC7xPrOR+aJYAHUnzlr/zdKbDFpH9VyDgwFOpxUwTIEJM9MYkpADWUzsdrVeTUh/0D4Td9ONLLoFUbXxIMXnjrOosZp8C8+xTJV28zvtxT2U13Iq+xhczUTBMEbFcOUMM+Ktf7iz4Dcz9SKt4Ht92DBKwHxXxBX334kdJ4U7IXsi59zpUIf7+T6chwO3/7T85vQZemb/qn13GczdzujM22P/VyycJGkMzzks9kqzebQ1gGBv64OzmKjiMgG5iLQ5R/GNO6Wjs3vaddEPYV/k/giOKlmIr8FaeM9SDVG/PfOOIZqiVgG1kn74mVrQYrKBmq+gCm37M0glx/hPBWRtyAaUk9TwhZyyrEqTWkBmaiBNeDOCD9FcWIghf3U9S766ttIbdXPstM503e7dwSxu7icxqtYtS5yqBRGr48GvOVnFClQpzr349wr+c8jRlnz9cgNx7UPY1IEy3VmZ4a5lZdG+GvvRo7rdKR0G4KRC/nAT88EzyQOrMZQqf5ilnkkxZaKbwKEQtvRluiCPcTM4BwhrnssbIXs+OoIfJPa1V5FuNt+zYi3sWNXKT+xq2/GAAAD+2i0uDhcucN6CGwPQRz13HRmgNHlhtC07VIEe42DDXc64tJUaE0bJR7ayOHQdrADeTVEbDoNmbi9L88ZVTuCxToTuQo02sweQK2yhz5RfkdUzDTcuSWdEed51fH1aMPQJbKpnYWRvK484u1v3BcWxqUxVe6OTnVcqOylpWxc6/qX9SD7FziXpRcUZx3zXA188YhbpmuqQeU7BQ/MDuL3qW/wp2+qTzE8D9B4Lu3alfz4OcDU4H2YfkbVzAuJneed00k5o7PYb37JhxpEDDxu/yrVEV80H4Lz0p75x5/xfMKWRzhF38O9DxV5tFyssGi8oi/w6INCkoh4crY36Ggew5vYsDXCoz6zTLcBG1wEv1MM4Re2rYXP2ToejjXJrPDZ3Uary3E/7p9KywzvnVxl9i5z0G4ORfcm65CGvMhGIOhqDaHAyWfTxPWOOgJ6mC+wKciubq8XChS06vyewPkklEjJIegdrwXEqZAvch3QFbeE1u4QH3aL2nhihkZbWqkVH3q7ZXgEQZ7qWh988qWDIhG1jbsoK2tDxmQPWPcRyW95ytvgStavogkY7fU90t9aJsQmr5DWQC6kd6vKeEcf1gtQx1JSar04p+TJIY+USgtTgTrRki902/pr9rQhIAJAmL7xFNwjZ0d5DOfwFJHPesoC1Tjk03VIKJEmECjatj2JsOIvShfApF6bQAElqv3s5CJgoXp0ZSQb9q68ymLbNOQ9YzPtIuSqTuJNx1h99iCznEQR+inVsQZkPQFhBstagw9XB460qQ1gN5sChFSlrD5LWkjEuuhzdDmCazrVFAh0ICRgL6sFPvkn9J+wFmaMU0YBLuavE0ruI2gOCZdskl6Wr3NdETxxTsqcUR4h1wfS4dSR8tx9ZPqY6pXxtMBfQIp6rm6NkK0U8TEK/p/CASGTpIKJstpi4Gn3Zd1tiKB343AFZqr9dPUwzEu8zfsx9e+LWQkqVaPujfSFQIE/j0VW7xg4Ky/3ZnWs1tamWYHmc7VWOH6i7kn39dr7zhALogFVYiSvA9j0i1dJdpuWMtox1XdKIx9cEYvNbLimvSiEnqCPsIADztlvaqNxc7A7HkiaetUjAl9UPkwo3KktO30QSrAVHzQNc1+J/DZ4t3ayblzCgrfknp7IzDIqcXgPszK4DC0civGL0zNOOlhe266KylMIeDmJqyWLlrPhS2NJ8G7r+PvikG4TvaFjyjxuJ8XX5MDAPinL+O6bGQ+2Qu62DCYiQigu+bgSrW5idFlNPej9k5VVj5AkOE+O00vbBX+q5iuohSqRYrWyycQFiMTsRrVR1X79NfJYkS2l2gLI3Yx92BPju8YFaIJBT4uyDRaYuisUflrAw3mCx7U5LBE6fbwj+YNQuMurHsMii6QFHUfZsEwRz0gXH2bkolmAxMekN47MTWJmxFQj2DB3TwYMSi4x76bJesqh8HIAdcDG86RCUZIYXJlttiryULxm/7w4OYZfd2yP9ZEfQOJ/meAMfbKDk0W3YSDsOGqVHX0VyDHxPzXfK/4C9rcitAYuh5kC2ZrB9ELi7EMG1g62669bT0+4rUbUC+3SJpC5pLF9GFP5w0SeZRVYkgWhidf1lcYtR6JPjsTrZFJLa3fTVGNnl01kimZcXzBBxhhz3Xvf9ZvIXuzPnn9aJ4sJuofLuNcGacFTJKA8NF3MMqz7cozwZUIshYt0a9jWgfB/gQkP/QNenwBMSDYC2PciO2JS+WQIFxmU2bFuyOwCPBVTb3my+1JeZHKo/9+VXXATiIPYIw+TNb7efbPMGy0Tz0ifsUdNlCSepfrWcyv4DQhotloVxIyCH9PUIdDqRhYu6RubjdAptR+03qZZVMON0+BICmvA/Si8s/mz+PgwdmgF248xbZEuc5Ob7Kl9t0i59sROqa22o49FEC/IH76G9CxuKrcneiAbwkdw4uP/fledniznUVYev+JpTQqi2g8fjFp0oHlkldpbWnk2rZLvgdE8k89szeMty1NrG/kCUDGUOzPQPpdpD3tY29VY80OM/Ru4y4KjXcw3IFsWy16tnV2th8Cgiv/ROWaY50hAbf+PDKZeVaf5lVpiHa+pTpPlxEe081apzGuO4xudbOJzwfGl7K0ZNI9pXnArxuRfNBL0VokNxxR40t9uDXXGCG48TKzVuoHp1OoXjeaTm4p7vXFxUxGekyE1cwCn6jhf+Tg4Dc3To223DfhDaJ38xaaFaH5tmG6DG0ixeVM1Jscd7nG3cwLetYj3hgIi2cV+c2HiGgvA5E+ToCio9p5ZFaOaRFgKSovSt1Xxsg3ZOAtegfITPLx9P76dIV06+oLxa+zeP0jXNNEFhHbxHg3xjgCDzWAkPWGzke7B4aUU2ScKSsGqqhFwhA6LRepsImoOdgqUSEI3uSf2NvGDEmbUlX7tcvHrv31CWWsaQAvuMskgqgl3LVRamIeir35o1j8raXF1QFrnH6F4qaUgD6IOcoBL2DrAKVMnORJLP2noHItOuaaViIWiWXzLhqeinrcbWtdKpYFEx5bDOpgONhmc3gMa/58nS8weWEyvIz2shsvvMWYsDeg9qkKliHZfhVnFOvoUYYR8t+bOnBCPXypYJPr0F7cvRkCRfnma0bJQf7q4+sT5KzG6rm7vreuYko/PI4Ce0b38oRpx7oVCJ/pX9zMKhSxKNJ2evIzHXsb4vTfz1rhyFJKwLRmN3sJtdmggeH/jafJaKxDEuGbyzLovidym1PNvAsCvfQCItKc7SjBTXAqjG+TzBuIM42+IrOdBdLNU5UtDBKs06dEHIFhG6igKzRyVgNj0Z18MS75HWOR0Tz5WWkSULhE52hfOIUMpf4TEjKgsKEuI8VOTd6tKxM/vnFXiNzN3J0luWZA/t/hOOjYWoIANn364ThtKMdFMLX70c9+EbahjQV+011n+e8cfNYOYTgZhQ9HYhDSaUR4Ccjec6ZC6CH+LOBaDr7cBwCsbFUY/fhOBZTN1ty8zPletvTGrHiGnvSkadvX754B0om3TUK6XRnW3qgdgUMZEsBmi7Dhp8GJR3TDaCYPBdHUhIjtJvMaprcJXwBxMhggV7bUew+l5M2vV7d+3rhdb6/o2tUf8CANfT0Uv0xIT+akANwu0sb9Ir40bNC6ePCksxVBG/ArYUVh+JeM3tsI+hds6ohxSdP5jk9xnDrqdWNeZPOaCz6K/2PGUjxg0NXRnG4Sz/WETIaml1avztzX0ciAEqIElD772sIe7u/9RgwN07SSZGofX3i+pgetqGOvctRXRkVEH31F5nQ5QqifOcGxjffQL7ZUygT5IFI1eZcG5t4XGltCl5n8ZPoeYAfYX86FqwVh3/M86xFXPMwNlwmmqOeAcnAIjl3Bshog4oFTHcd8qMUvI3ZwjjFwEXxpa9AtfpInHE2T/lNQwYtCqcJD0InClZfvJ7aXhxj+2ZbZT35zfzxmIT/BIgqTr/xCiKsn4KBQOxqOc1ZNCNPm5YfdkA9FerKZASKu8Br5ISqUQ+Ya2ft4xk4XX/ju3f0a6I9QTdz+ycULwvgY+Q91I/j6REFVeb8id71V7c/P93ePNnjo/3jL31Khu/cHSuXHFcKAkWSW1au7z3sZ48rXn6iXSonftW+nseG7ojI3rB+LgHIZ+LEfdxQYfMux8lmYrOwn6iO80HyO6TjV7S/dfX7zxMmUxdl9qIJJayidUke89nfusyz4luDbuVFQAKSI9VVmQFtzs0YUfEhP1H/vHC2odoiS1l1Aeui/LCHJrhnmij7vah0LevcV1dkiKotPlswY1PiL9IRqTTan+UXIa4Y+H9H7BLcvJ370QifjCBOpSrGTeOPnbb0LiNNW7Xp3OK7wlkj7QExlYDmJoug3uUPp+RWc2yWer4lVSgBp5jHcbs7QCPhCpPUDJND587Az1pCNFtX1bEsNEh/C/+5ptdv04gCUnS4nPyStr7T5QiHxIfcegraBExyspObd2nnDlwc0XyNslM1Bm3zW5X3S46xLbM5sVwUNsiOmHAcfW05Apvcx/R5/Fvw10qcWrRPPUwuajIKKbgrYcqa8OzAG5l4q1ZYKD4Dj+pJoi7iAErx2JxrEYcciex9jojn6HMSLv+jsqd4ikzCMwA1AIH1JW17EPIb8mbq0osOUQ1pQ4hTHmSwrkUFYDONMGRiUtoMziE8bhd8q/V8Dd08FAhmEiGiAOnuVwTX/KlaqzuADjM/0PMa+KHlBYRKbplLOyzHKNxQV70ozu1xUfSuvHfgyj9EScQEp8QWGAwCWLgkaVpHTfqepKwt0eH9T+BfuXf7aeoUHiY8kuEeKStzpdiAhNBAeLoMyHAsjk0JWR2RtXzU+Bqo2jFh6dI9BE+wcngbC9/ONo18b6HRimDZO/6Yay9V8U6oL+EpWlXj5OqC/hkStc7OF7Nh03hf3am9NFYn7LDoR6Tw63V0BeROKRmuDfZMlhJo37hGx6C26jOTnjtoFZoOxjOSTCKlAEYq6elSn6pKqA5tKJNEaXwPc22FD7KqSF25Qtjhi3cwEOTh9UyrMckBlZngudef/5tJTWGyqMZKP1/lfXhzSqxNqljIBdZlvA5qWpOOD3wxjruJ2K50sFf+SsI2CPqhUSjpoeOyMXsKC+kjT93dDJE4tduLhjUCQh2LoC+MI8l/XDfUwHo7Ji9gIpjMU/wn2FccEEwwErpD/hU8NziOWwgj5GIUpJCno/i17jitRJPYl1XUMFtrwaghz9unqdE7e2Hm+WxqgKQ5eQMzzTIYrLinKcDRojcwpU81gS2KgJP7ZBHyZscWWN6D+9F7aLkZzboz5JmzhqBJy6E56YtCRMJbiI0/DezDhMT8s1uYNBEAbPppJocG51Kped5DSuKs8RJMLA5aL0NtpC9NAVekc+va/UukBGUKIWYAvQWIGKPg52z75flGWSU8DigLlNMpKSaEoiaKtWMHYdrZrREr9C/GFLnmg7w9+jwAOmSb4bpDf1YifCwm19emwnTnMYotf008UAdv+W99MsgrijLiQCciYqyV1NLEijdx8ayMJk/t8qDGrnkcvijo5v2HnXgSqxEEhKYDHIJ7t4elBgLvqkbM+Bb2g/jUEZ9PexF7o0YojNk5o6OXmMh795QlD7TSYJY41wATvjYiS9vgIrr5w52zBZOlEP6ASHrU48OU+aNnna67NQ5s7/xHZ3J2CEqwX03wDkaHV61sHQh4ZyT7oWNiUdB3AtRqMfU52870ulHkmUYLWRJFdlggtYhJpz4DJCvTUkWatN3bNCjMVkN+zusfB5tMvrhWAG8l2N5hE23w4GdzoiXVNEUUyZaugtCHeZOCIgBEIopxWklMbmGkFK5W5zyCKolZa0bTTYA06HAshY/F+Cw1yifllQkp8d0sfJFBM9TqDW4b6VYYoPg43bPHhg1E61cW9SsemWyYtyKcVViUhJKr6A4wWH3epjkx8N7BfSJVO39ssrQIhupOB9rBcodztBZbu+OVxfkAiy8jks3rkMTHobWEuv57E4Q5yF/VFxb7E6V6ZxKmXtXnpFy+uDreV9wer50FuKxKg1SY2QyVNlSEpCg9cZwKIfEDEDOsVuOtDR6ZlefE0J6IVdJ9vXg57V0h11N/KRB4szL+k+N1P10cobeC92AFen+nUnFxlcyObJhf0VH+8eanfeplZzqF/bLOgcFQqFJQfrGeib2E3KuMZuO5yNF7l/IwKxb9M7zVwzSH7rCT15z34Y3PHG9zGjsi7OzKl2BgaJGq80dHyjn00qt1WDN4J4CXH/JZmNwm4KiwOHC4Sc75O7R1Gubi3WcLuMyNhDkQklWSWUrpOnRb9GEKY23kf2o980Y4dl0TxvSHALJmiT281snTRorzthhfS7SX17nKU8/koK3OoKDvSjRuF8B+uSDu2bur0QcO1/anNyMTevCuKQYGadFqyBrWbreQuLD4DnRMzTk091392GriJzsfqs4HPqpeMMXSlwSr58acSeqFLW5mhcTabotKhPtT3apSYR0e7i90OTIoH0DdyJktaYDmHomC//Zkq3W2kXRw86g/RnghCJ5zwoDAbA+4/d2B9a4w88Bh5VybVAfe9ZkBuES/IieBf7ltW2d5/p2LGNgDU3nAw+OUSPTDa0anFMdWHBJeOCBys6us67hmSCuoa9+DdOBG3KtKhVtekih/eXJTCcmfIParyCbHfAoU6Umt8VIHWNsGIuNfsAd9U5EJzECUcGhQO7fzbc5yNAJgoXynASWaAqKcnn4y+vkoxz6jRKI/CIq1AoaCEyP+D+U3VTh5Sa8yIy6jYeY4OHUbyyQWnGKI+RYGKwTYe+WSkJajhkS5p8HnJ/ZKeaqa85i7cFWXNebGG/kK9zuWedDFpTUx13MhlwLdXh8b5dB9HQZI1YyrUgx9uuU0dnE4o7+NBiwBgQfft/tBnhSBxF9gbQt/mG39uN+aJa1zZCfBHoS93AsSx4RZEIzILiEciuGXpkKA9B+T54GGSTedXAf6DJ+m7aUYtNsuzOLwVt85ig+JyFCvwii1kz9RQDxA8VcA+4XvJi7IGS/6HPPHFLNpDqyxMKXb2DGNx/8HgisQUKJdENqy2D6RIt5X4AubjY1kr26qxu6JAtbl7zE2yyPB1Jtsk1aytwrguNkih5aI/+SXC0eYfaygEGTRxSIPuA9EsMrC0bQgff8VCX2Ow8XK2xIYZTHFqRVxaDaKJA7pb8QtHG8ZFksKNPKU8cEO/IJogSgq7EKp5oAyI6+O7fnHaOJFxsVRtWjiwJA7kYXGYpv8nRPh7rNIapKxWhUTuamVSKClfxANa6TosJm+Q5WzPR1FMN4C4R26dkQ+biLDXpyE48wsTJBjj1PtTx0FJ0IKBXiuEXrAaG0G+9HPsQdtD5ccKJSg/BiMEYYV88tnqjCE1C5lDpr825k2cjrOy0KGbujCGB4WX74/6CkmNamdEJbsVdDA2sxsnSY3kMIt3y5cIBReIhHphBxiWyv52WMzgQqS83furiU+N3miSHP4A16k0G/A9YsoDg5oZsLbFg/32TSWTS21ZDfHZzIGFzXAHABad0ePIRqsXFjmfUPQJPl9X2en/n6yjk0HJB0F7NWRnyLPr+oF7vyLxYVR+Iz/ljuBGcqY2BlB7Yqssnsdo6WKJRPoSzi8zmYsNfXAOARp2m6y+UB0qhHuIZ2jcgMq7EAgFuB/A3hbkOk0jZvajoHEx18RkW86ShIEOvvzhCPlwOnwK0ctvhimq4n14P0958JGt+JcL4JIlVwzegUUU5zYxHxL3LTV8y4tkvxIxYSssq0aQCRmToDcxqV8jVF6O505+urdhl1TvQj5JnBnwKlLd3qeV5P7DcgY+FnBZe0T6+RUfaj8JIWBjwoLVrSmccpq5v+kB/p33lei6D8brJXwDcmLNHb/aFgd8/tU5CAE9ItLK+zK0QGdqYL3mhmS7ke+j84/LrJyNhisus2xpdsuNMw7kAtEetOFheKorkAa9jnHALsfpobsaierYdlnT8CPJAi8uxRI2E6+A6NuvkytHbzevGQhjaRsZVq9ryhBTbbeIfuHM2I/6i893EmGBX1fGWmby5jTKr76EpnqCG9m2EkkqOAIM2n0UDWiGbQSn4AyJSwY2AdI3REWmpa8yCqgvIyuqqW2KvL/eEvKvRDdy+Jbx9MgPgOnCyYuToG003dD0o1E/VkX82q9TVob4l2c/wc4GzoDWZValEDtOa5JLNfFYjEaitx2lIRv0AQierCZeZcU1OUDp99s76aKq71ai+h58lHwHlvans5LuJQzJMYTj873nF2r9k9cfXfLou7K5aQjgFNN0IhSNaE05JCaEyhAR2gcLNOadYmPc9+25rWSLZaoeDYsxXHvVZJqp/yHLsZcuX6KdunrqFt+u5aaOy/inuzAh2W0Ovmv83EjcQC13MzhwAEKPERG/bNJl6zFrR2MKCYOfKWL5ySNB1jsH0xz2ARslA1DGXiI38k+nV43UwCiCLGPHZfp+45QpM1/b0BM1crDs5r27Fg824veCriNveXs311LmArED+toTCNa404uU1YwXu/iX/Hc9k0OGrTxocVQcZEi6mj0Mo9v3zOE9tfx6qY9XDatqD0XU0Vdm7GryP4bdkz4c9UOBkZq2edIlugJMl0z8xEw7qC8PSq49dbj/Lh7kAKA/UHl5CEHZm87TA6tc0c7TvA0W5j8gH7vGWb73hNsu82Pc6yfO8SdC84UnE50L5OxH5EZravxQ91aBXsJqbcpyY/5HHo4Ln6nYHUHBWIwRuNjDRlsEaCCiyTwqU+wwWCZXLIetBqEA7ZaDotAQw8KTDlJYtDOqlqNVKdUJfLfWoDlGrej9qFe0PI/whqh1B8NFu8qWIMevo1szOZ4jfJoKLPFQJ+PxH2hwl20BEylwb9BeOWUCYIANfJw/ILtUWW69U4MxVX8oQuBPYdWWizavzkL/wvvVp0lSeFaG4gyq/hpc4TWbqi7GIGFj1P9qZ1DS4Nt8NqZw0lLEAlSYWN2hau/eXqE+i6CRN+Y0OHY9sWLmWaZfRO+j66WAS+PQP7hclkzFI9KzjykIvEgeJDQdN1RJXw0a3mGw5kPHgp7tTpsQ4FnowXEOWSxd6V06F79nD0yoq/9EPARrZGv1IMEGn2mh0plGHTGLU97Y2efmR/TCCWI4EcZtfgHN4g0zme6gpgdZC1s9X2dTCS+s77y8Nez391IftOWwR0UqDX7F3V2trVMzPmQ+GnKclHKy0ZUirD3kX2oEQZLlVDKL7/WuWKFR2HJaEvfyf2DxJGa+riaPeJJFs9DFRBUcKbOkATzBKAhYJAk659rL9+uHeY2eCJg/GV4BLcqiecFf1jwBFhM1W5IxLUxOvrcCbyiq/xIx0l8UodbKMoauijpe0+8e0cnOipZ38ucHKjsAr0GzDEo4HKUvFx7H67SBRZODhDEdjjI09WfZzeDeyR19E4aQrP9ET5ZWqpm/vpebKyPCznnFUkfXFEK0KE+A5XdOc3ptQTjObpY4bVkVbP8NSE+cW1aQ80ucnygHEQV0AhUHvC3BfnICdL5FMjWJ4HdpGIk113+T4JkX6KAhUvYZuymDj9zYUbID+uwTIU72GsqAq92mYhV6eKicogTFAJf21uFLixQxKrpoXUmO+lMgdJcwSdbf5Oa9v1nB0bbAN7/dy2ySWLmHkexdcZgyjigAOvi8aBnIgoWfoW9SVZ+WmsiTDficy8F+R9d8PXAt6WjSEZq1ITPQCil0sSP/Widlh5ESjvUE5AdCl0CriDUFgxwjWUrmwpr9P6Y7Cam0gZyjcH2BGiieJk2apRykvn0CKacg8V8qxbEcv+O+JyTeJoOFa62EhSUkWK9JpCpiD88dimaUamDFLbd9g+OEz0XWe69Tl8EURmXAMO91mRGF2LNr0T6dRFl2drlGG+LUlosB0Jot34CGmbxtyBYDzt+G9jexz8EADp0+SvYblL3tDmxGl+q0oT1XUV1idhy/48j0ZTrkuOMA7OnmW/M9ShGqABobOquXzRnqy9KzsGy/j8bO0m+XpSfJ+5MsbuCY88/CK8fj8f/9ipZAbpEMvgWVbPjopAAtY1LUIsJ0+zJOd9xRJbqLIa588RJccLOBz77V4DDwP0K9K/GBf2f4TU95KzLGnSlp1Doks2aptVjr3ZGu6FT/Cb0sVC+82Tjc16GubPr7ZMHiKU1V+45V6K5jMuKYqnJVP7gsH0bAD9jsM5ssOMEBqWvbZqJMvQQG2R1A9LeiyUZAN+ZyM/tZDbnIli+Slc/qStbtwzyWRh6VeO+bPS/PBGrwaKYQoiB21xq+3Xh5WNle+VHAO5SGgia3H5jHgb4FWIBtCgP63u4swuISBaMmOuekIulVfgHhwS1tM2LtZUwcFsm1xuLAKwDFRowRKPUExGLJJzJSLZrwUwIV9ZBK1fqGrr1mFD9jbBzpnMAHyS8pnD86K3GJIjdNbCg9TnQ86MAf1+hagf20H1o3Yb0Vw+u2utbOL3wJxxXySaeHLDEpBXte87S9j2NP9jYB7TBYQORkobMAK6NrzjgCvKUBsDbr656vNdGWk9/ZInT4aRyeeQfkPyvqCeEXKYQGLkl/P9LbZtS5TP0igf+gjisZH84vflnBmda032o5k3/difsWupM/JupxwJNdkGme5pgH/cdX926EskRrMGLtrMi0ZZ0su3oR7DSY5m9Uq76/DHG3kX4/0b7vSZV00awjsCMQt++bOabXxYr+Pn2YOzIjjgBFwgbJ79KsylvJ/HWXfJNE9PUK2p/nvW+c4XKbMxq2XJXvJaP2hr4ws+HGv8OAxZad6WBTrIVxF3mg9LrYRyEezg+9Mps82u1e/p0V2SzvtsidJYyntyxRoO8b9R6XghgiuwBq+Tnh7Ivwp8ToznUpgkb/bvlf/g9tALBKUA4kKk8vz6QiH82MvNDtv+OUQZkCh7M0wjokaYjOaR2ggXT6tEjoFk2b1FDgazXoy+KJ1QLprRMIcO05SFbWAu8PhIDuYtAzeB7KVtmCKXnPaIf0Aiae/gt1HxBuHnWDoSauFnXGPcV2oB3QpeD2S0NC0zV/iZciTksnArjd2fF6TW1H3AYt5m4XFpeB8o242zOcRCR5uLMpPb0thJY0e6R7iLjXYPfoEVadhTqjMir4fVS3ok3wShyz5z/aDCKa+s4Tn+ZWFejwhqHLvzZrMmD+9k+v9mEATzDDayOCk9OV/PfxLayqInsppvUAfA6JtJVVCl7iqknvxsn/P6Cm91bjMOs4c/N+4cxfPW4F7gRU1GlGGf2H4JY28frMqzDV8KDeh5Xde+Mlg7BNq25MnY6gJ2DaBe24iq1GT94cQvZQjIhRulcm/lo0ESHpNyolEYmXCyLC44gXzffysLWUuOFDJussgQ89c11OK5oJXPPUmXoAt2yK+4C8EhDXK0qrGUl4RkGYMAdp4dNLdrdI2ttU80yfWVi+uQ4mfGpU4VK4qBBmpkNOxg/Gj29BHTv9yPjTnPYnj1pRcG14Ynai0QkdZ9AjpWgLy4xRGAuFbeT3vA/QX5Onj2UsJqgqC0guONBlmUjZ3wzBWuBU4+8Ng52UQkUFWW4AITE63GyXO5oSTG9BJyqAKZ1ifSjAVhvM21Hd8sDCGgcIvVrZdOScpvZjHPi5mdR2AkAUdaL9BIz7/+H9Fv/TPuCVWujMgQGHAWB5jXXLMWtBwVFoR861OGLJp1FeJTZEaLawgA2dvrAXQdlYFEo2SDcmUzsoudCoMrx77zRC0vui9faWOMpTvRBOe8hmUhDYeN6Lr49BC4AxUzjS/g9VH6+7EKLBQM529ZEQIK5/Q4bEXhSuFXh0l/OInbWFpI0yATUl1/cqeyBY9y37H7dSxOE6KWE29dD7QyPHr8xifknOGqGOejs88D3zZjzHZsrqxu6JhTrSwQdykNW/RqzWzmAy4Oy/A/bqkfJvuEMZmg3KD5J7hKkhYyUmSZ9RqkzfdkhydKKMt0cEMHgyxhvj+OkGNZQYonN+0s9A5ocYIck8AUh+X4Vha6Z0qCBg8VayF70z8jzDVMKcjDCodnb7HM8PrAxqE7v76Wvg5/apec9lTH1EQGUJQ2y+OrCMSgYzsU8TnOYw3BEvttq2/ZtpXNWhmCjhzB5PSa79T98qdIq/qpii+b6BngwL5Fo2NvNtceKdOhTMYyEGRrzGI58SCZdq9/OZmksItm2lvaa3I8qpCkcc3eLaj4M3WZ9+dNwseRFAJxfkjgp2pvBHXpyxnQlb2tpviSxOrvbzQ/et0bY3xT3WLr8TK3nbHcTMUlaQ5HP2CwjpXRlHFMKl7sIDtQGWGkF0U1Aw4Ts/9LYqBCPYfmeYkoaT8LGFoQ1Tc0ChPHe8BnI5liEsjWdjjSi69e2g9LnhOJ+GAtrmO6nVTzlsPhzR6AvWltS38POdcxOjCv9lJzNNBL6ECeBvnhZOJqO+N74HVUNBLAloZMmYNdr0nyVcyQMagqQBIwD6FbpIeV7CX3GkfK1h/+onWFy0xDIh4FXHmpJCOcod819CWsDg8RE+HgBYl0OQY32R0Q1bNHTNUVNeI33cJJSsXAThbJPMgngdkl96DrFV/jFlFgzxs2tZDg1vQUsgsuL/U8VYCXYJAxYxKXQmeM0RKWc7t+YOF+ybxw001bmfJcRbGhgl0sZVBLTesdbZYkITjOZMNdbQ6pbJpCvaBJCiGOHmOvmqIAHJiCQOo4PI5R2kI8qZrWwUhYB3ljIgLrBlONa+YTmzkuRQXQVAKxhFzGL4UH6SPGUGzG+wQ2lXUiurU/ankcHc2OP6CTYzeZ1bf1UVsjr/tWHv8VnJvc6hykRiow/fBEjzRkYgRPbhPZWVjYgPJVwuQEMfnVyGQPHPn50E8pWkWdeloYTq/IwQAgs0l6r4MomcxFcEqNQtNggHn376s/AglE/SQC1GgXhQ1VC5zg/tk0SiX1duMiqHoNs07+QqoFnjP9/QMi1G6RvkGMDdy7EsBgwF2Zavk3B0bQ2WvxsVHmLPVGucxTUcNQKFH9Sy2q2+uVhiLlOk+qshF+hwNp/nVmvNiXCuDLKi0XL81FHwLMJK9kJoF+QEUNZ4GvOxM/0Nzd5kGm3yKakr04ij/AkLkR+jbDyqRHdj5lpOVQR12gEt9GML59+8mvgc+60JQECJ3H2vtQ4OYgm+P4+h5mKBDSMJWTk03uYP6lBO77KNWDOuWxQrH7DGothetgEY7TqsZU8EdfKp0fYL1hcG/bAmUBP+IJkXJgku4o8qCYjqJtEHHDeQHp8TcKbX7pZurHsIxLQpwOhBd9rsoenm2QzE7xHqPXQWUjw1/yMj2tc7uItxr8580pGv1jUDfoVcpnLgRDI3O53eobDh+CQyUZe6IdtVD6QWOh4IkvoVWGf/JvopOMUnWQUGzfx5ft1MVrFfbpsdHcLWw4M1RiNlVQELRQ+caWxVvzHMailWwuH9ExEEsWS0yYRNkTThaMCQR2SecfTt8XNfQ54BU+TkEbhFB4eShSxn92qhfs+sPSdYxXeTClWzC2QDZe4uP2OwynVlljQE0NIGhr5NPYoI/grWkUByHNr2ARbAGW6RJWAJ6sv09+Y4WFqSgInSHBXimlpUebKQtCd1wfhmJGFB62yUOs77FVAsLKXFfBwR6iZXlBaE1XWpH9m9+9CkLvgh0zXf+pFf46VL6cbfFOjxOcUisl6ZeaC+sKKSX/4gcYxSxmRMHke5W6pj1x1IDEkbRyHvVwfv+5Rc+4WdRQmsSjfVlittp0aUyrBLkt5lp6S9UQz1MuJZ13gtIGWxDZbz6RJRNpGdRWUcBCjphsye6Dx2RdBpWfrmnao5mlLgv/9OCe+l1EVpFejvr+dow85Yd3YO4mdbrXSJbW4Klhw77FjJ5YS2umH4CXF1UMW7X4BWfX5DxP1rVzLHGfi/fhz1VAbSESDJhfVmZNBzZRts87u21fX0ufRyAlqSPcdm4mLCG9FLNyUu4w8sZgeNaX2akMCpf1f7XZDbNMBqLvtgHsGQvFlGNL9hqLFNs5eeR8DQhpnBdJ6k5QiZ0OIsPsTyR88J5KeRnhEaHbDrcJteNxxGp4SSlZcr3bBoJ2iVDjjr57s/w+r7Q9cUUEUKoZJLqChgX/nDkNogNwjGy6+0Hd9BKu7hGUkKYf0gamwb24ZqeaebcLlYHll5zItjUFyOFTbMpqf7igEP59xBM8Mcq6L5d01t1OK90M+vDMh/ynrr0JITMQFH+wSmoBREegANHa+IDsW668uGYKl2XpIy94/mNi6SznA72fm7Tdrilw0alqxL+E2ce0kbbVZPuh7/LOMblQbAi5virD2Dcdv6F3BGi1mQR260RPAWi80+z+WOVxFx2zuS5JkTg92aa9hhwS955TtfvU2RycI839BcdvNmI0jwSAzoFLXfCKOyzUzoKZTCsfRAU8M+j1HtTNHZtpyQ96aAsiB7J0Unm8neDvv3QZmYYxVu//+HFnJXVSbTnw0+Gj4ojywvcHWUWfPZthK29vXQo4xVrwlI6cZG/zzAAGq7LylDxGjqxSQGqzSCPaazcp7+pHsnoELZHdHXlUkv5nj1wf2TLRHlbYAylFyRl1xJHz0wsGxPPF1iEe7Ibb95ioFFjsSn7o3RJpehXki5DUKWMEeiRRLRZ7ZC3KrUaxE26lGLbiQ1xYnPox6sK2NzdQvuKnLnivilJpZoZuq5rU95IWzffs0x+5lQj0FXDaqDk/B+7cnGyzFoH4BGwFf2m1FvdcbKMEaMOFjOA8bNT7FRMuWK6STqJ+jalL6KDabEqpGO+CSDk4QOelDhgGrR02vaAh9iJ/dM0IhzDMh3b/T3H91ZAMlFVbg7+xnA2T67qo/14DJXRSPJ1BGGoKAKI89uPwmdVAzD4VsTLt89Rw5oC4M/w/pcCDRwP4jk5L11kxPG7WKUEVb4DDheidLB3sw22kqUf7ZR10g8no6bgM5nOw6ReuHePnU+7LA1PGEVicbd/hRGAn1Ofdyko4eV6BVlIQl0IrgxOgEiDeZFiJQJN+9taPmQHYCNcDPHZ8v167upOJ5MZnCDFG8RjDUU5RLUwOnjIfMvKMY2g4+Evrto40CojRAVuWpJVQ1mi0YBIFEClgM84Odjvplbnv9VuChYtuEk15kV8oLaMLc/OA/7bNTfIYjnApOH2EVXugkCk/1HlBctj7a1npV6jHyUkOJ759Mhq/Sv7nasYIarmfSJFeCWBrDVuWy1Mae31SVd2RgHAO6zcIEUI7L612A7PVl921PUX4A7siE3AtO+HEDxFoay5LxEw63AY361IJksi10eTEU8O+ebw3RfZ+0+xDHJwT3o2J/vRxYRsfYLKdMI0xJI6PIbyO3Rd4m+4hk+z6yGfCeXrsSC/3aagTffMF4PySLa//Lw/sTk7YZDflAQrmrPa14DlX48bp+zZx7pUIvWDr89mMEDfJB+Yx/EVNtJ1xJPUKQipOUffawD4v10ZMcQ1VrOcyQGWtWWqZavB1aLE9t60eTYpiKEAulMfN8Op7Hvs6x8wj+1TGhJb7yeO4eaRKCpY3eBymATzCopIb8vkhG0GsH87vsZbtpe8WaNvsQGtXZrjLNQQH7F/JXRMG9A2ARP2BsSkdCfUi4GADY+OliqrLOjBXTeK/b6LrkujhBB18JkEFhkv8Un7e04iNEulGQQtspQ7mwH4AVxGMJTNP/EmRc5iyGmCbiUJSbmzAGnpPGkx59osWJ2FdOvzWc1yK0d7HzYJp1U4kcYMxta3mXNIUL+JLDPrLuHuWS0fn4l7+Z4zr4ftWMY00NrfC9gFsa9OLG4UY1n+OdY1aobHfIjX01dFYuecz6Z8rpK/ivp5ADlSHUszQ///KDCsfBTTjB4oBYkxHx0h444FoO9g1bAFH1BA0+PPZdWpK8UB1FgCqnB/7J48BPkGNieVxBY3mwgPSlrd1WvJAHsaqhV7tQSzE5+jaXxMbgylj2NF+7/IsCxdo0Z0+shmFuD41yIJDgenURQGGpTUT8VQ7520phXwqa4W8nD9FNqRduHvR6SrKKR/Hv+vLFJNMHmAJHucLrTHEEYFvc12L9IoSMdMHsozS2olHLV2wpw+ORL8R+iQ7vlKsNwZ/L0yk/0bkhGUIAU2Ta5wbOQCG4LOu8SILY1mf2XPdlnW6LSbENlTPqD5Qv0CEs6Ax720mq/4xDzq99mOqB/4oK1V88f39YIgY1FpL1tcgszKjqHQOjzpeGlxw/MqwT+2cIaLeTaN6GfOIA3zgZl/lcCS7LopJ9z5A2bxa08BCAcW04O1xAiyDRK55PlAUtndwMgBRtoOuH+EkxywNNozaCFh9gnMXd6fkKCfoGWIGbGpYS4vmDvP72WaMMfTYDr3c+GS6PxBLtN5wWkiJzRPQyM332YY9SNpZcn5BpuZnZnjmOCiaVBlMQXBS3DVfN5+OrITMyjWc97nNqlPU/ddikac3yHVpnyAwIXHWskKNQml/CvjaEqY0nkm8UzSjKgi6gjSV43hqRCFEewtHgVm7VWfZiFT15+x1m/YnbAcsdg4sO0JwhCV0EK705nk/7SWrYrXV1C0KuSLNeuwD6XjyCF96jlg54lX6nLheCjXIesn+H20H8uTS7Ih2yzR9KhQk+MWaiwqC7mH6MShHM8RnSzvcfz3rjchN05IhaUPJOOI1AtIPQjZGZQPnECXT58C+MIZLWNAyPQCCW7FQhB1PKpC/x/sQ4UCZ7b7i1TR8NBWONNCbb599y06rMbvDtZohCzWK10PKyyABshxiP2WtMkgnfF2GPaY2/SPdh0j5WY5LdtahuK355SC/W2aZXgn0+3/OwSY9e3EK1u0kTMthjztvTmqxqofIMjhzOs3Zf9/reVoxPe6Qh2AqE4BPYoXohhwqpEK5VP/8/C94N0HQjqDdGvNxVRFQlf7ofykJVqMWkow9XslWqTvTjirUYgvEfErGHfP2K6pNrRt0jhacCClv7ESz0gTb1u3i0eLa8Ga+OTQpqKMMqpnTQGF7gJ8v/rvCNwlQoxHAdbk1RGvUx96IQz6jKAQacvLJhi//M+r0Spu605AEPEV2m8+BGS7NjTxcCgg/CuGB16zAPh/XnMZa4J2k2bZz7rAbcyvbYDSaEDD/BtIIbXgXvLHmQOTWEvPQomWhaPly9O+WnqOrIKRvqzXkr4dB1VzyAUYMVIH2y+WlmRcUXIkZd2+f6mnXevURfbdttVMrZpHxyxhAkDIpLeLdpMMkSG3osk2BnZ+nR8n4qDhfNGPbsSNW+Ukct+h5uaUIXjb/7Fn6QjAzYv2BwVnjPQyGYzeKI+aTYXJF7WY3iMkTC3QfK0HEAGQ3FlEWfG1nLvAaAui1fgvaL5FaE5K+DMidNgvM8ZA5TbiOo5bfEvXW6yVeBgFdiFeljGHsQNuuUHN1Vsw8nZPmG0o02gFqgmBzyuapjU4ntsCoCaF1U/6i1a/ZHCCg460hmepz4wSLn+bpuMUYQMgP3vF8Fb2XP1a62lI8zEm9odJ0coY5nu0yobqKFWyOpELWF5zUb6rTPP98sv28+8RFzLzmvpXDFCPUosCMGeHG8avsf2kBcZh5T8Ewqj1HMhFqYyVdcSdKnuaywaEPjpah44zBvAEioeXmRWVjohGKVFeSR2Pq6LM+B57tQz+JDhp3Y+ycL30Q+WqPAinsoZABuxhxj+CnbghBgi2AkD6PwX/+zWl73XVwqFsYsc3Oqv2qUUpcNfAaXrowYV/ZN4gjWSZHXQOdT6U/So0L3gPLCLiTiqGHpY39FIrm/OyIOeclHhnupje9BVDCssDk42L31RebQM2Wh3v73FNw/Kv0D8bNlxFVka9AOupoHXobXxKubEunZOgIwFDU49S8BMltRSTVZvjfDVMFDTawx5cYrXmWYk3zmCeVHyXy7b5UudXmpjjbZSHLDdi0DQ/D5PuqIh5UVelkEteJD0ABnceazTcEUb9xAAA="></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/712202160365240320"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="3 replies" class="social-embed-meta">💬 3</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-03-22T09:00:01.000Z" itemprop="datePublished">09:00 - Tue 22 March 2016</time></a></footer></blockquote>

<p>One of the keys got knocked off in my bag.</p>

<blockquote class="social-embed" id="social-embed-712272857372426241" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/712207879739219968">Replying to @edent</a></small>Tried to transplant the mechanism from the "Insert" key to my broken "L". Didn't work 😢<br>Any help <a href="https://twitter.com/MicrosoftUK">@MicrosoftUK</a>? <a href="https://twitter.com/edent/status/712272857372426241/photo/1">pic.x.com/6olzxm7iwa</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/CeKAY5uXEAAwwFs.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/712272857372426241"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-03-22T13:40:57.000Z" itemprop="datePublished">13:40 - Tue 22 March 2016</time></a></footer></blockquote>

<p>*sigh*</p>

<p>Last week, an unexpected present dropped through my letterbox.  Some kindly anonymous soul <a href="http://www.amazon.co.uk/gp/registry/wishlist/13GFCFR2B2IX4">bought me a gift from my Amazon wishlist</a> - a brand new <a rel="nofollow" href="http://www.amazon.co.uk/gp/product/B00GUFK3TC/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00GUFK3TC&amp;linkCode=as2&amp;tag=shksprblog-21">Goldtouch Go!2 Mobile Bluetooth Wireless Keyboard</a>.</p>

<h2 id="omg"><a href="https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/#omg">OMG!</a></h2>

<p>It's an ergonomic, adjustable, Bluetooth keyboard.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Goldtouch-keyboard-split-and-raised-.jpg" alt="Goldtouch keyboard, split and raised-" width="1024" height="576" class="aligncenter size-full wp-image-22761">
(<a href="https://www.etsy.com/uk/shop/JennyWrenCreates">Geeky lanyard via Jenny Wren Creates</a>.)</p>

<p>Watch it fold!</p>

<iframe title="How to Fold the Goldtouch Go!2 Mobile Keyboard" width="620" height="349" src="https://www.youtube.com/embed/5mUcKpk1v_U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<h2 id="the-good"><a href="https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/#the-good">The Good</a></h2>

<ul>
    <li>Bluetooth. Works perfectly with Linux and Android alike.  No dongle needed. Uses a random passcode to pair.</li>
    <li>Has a Mac mode for those people who like their @ key in the wrong place.</li>
    <li>Micro-USB rechargable.  Battery life seems good - and it takes the same charging cable as all my other kit.</li>
    <li>Ubuntu shows the battery level remaining as part of the power menu. <img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Bluetooth-Keyboard-battery-level-showing-in-GUI.png" alt="Bluetooth Keyboard battery level showing in GUI" width="633" height="259" class="aligncenter size-full wp-image-22759"></li>
    <li>The right size to rest on top of a MacBook Pro *without* interfering with the in-built keyboard.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Goldtouch-keyboard-resting-on-a-MacBook-pro-.jpg" alt="Goldtouch keyboard, resting on a MacBook pro-" width="1024" height="576" class="aligncenter size-full wp-image-22762"></li>

    <li>Adjustable. Good range of vertical and horizontal movement.<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Goldtouch-keyboard-in-front-of-laptop-.jpg" alt="Goldtouch keyboard, in front of laptop-" width="1024" height="576" class="aligncenter size-full wp-image-22763"></li>
    <li>Extra function keys work in Linux (Calculator, Home, Volume, etc)</li>
    <li>Excellent range of "extra" keys - Print Screen, Home, End, etc.</li>
    <li>Solid feel. Even when typing away with the keyboard raised, there's very little flex in it.</li>
    <li>Pairs with Ubuntu <em>before</em> the login screen - so you can type in your password using the keyboard.</li>
    <li>UK spec - so has the £ and € keys where you'd expect them.</li>
    <li>Rubber grips on the bottom - keyboard doesn't shift even when you're hammering it.</li>
    <li>It folds away to protect the keys!</li>
</ul>

<h2 id="the-bad"><a href="https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/#the-bad">The Bad</a></h2>

<p>I'm going to be <em>really</em> nitpicky here.</p>

<ul>
    <li>No backlit keys. Understandable on a battery powered device - but I think I would be prepared to lose on battery life (or take a larger device) to make typing in the dark easier.</li>
    <li>Bit of a faff to set up and put away. Much like a Brompton bike - you have to remember which bits to pull at in which order.<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/04/Goldtouch-keyboard-buttons-on-the-back-.jpg" alt="Goldtouch keyboard, buttons on the back-" width="1024" height="576" class="aligncenter size-full wp-image-22768">
You have to lift the lever to release the hinge mechanism. Pull the Unlock switch if you want to fold or unfold the keyboard.  Flick the power switch.  I think the pairing and power buttons could be on the other side - but that's a personal preference.
</li>
    <li>I could stand to have a little more horizontal movement.</li>
    <li>I'm sure the joining cable is tough - but it looks a little exposed and fragile.</li>
    <li>Slightly odd key placement.  Print screen is easy to hit accidentally.  Just as with any new keyboard, it takes a little time to learn.</li>
    <li>No wrist rest. So extended periods of typing may be a little uncomfortable.</li>
    <li>Caps Lock light is a little dim. Yeah... I'm stretching here!</li>

</ul>

<p>Honestly, there's not a lot to criticise here. The keys have a decent level of travel, it's quiet, easy to configure, and looks <em>awesome!</em></p>

<h2 id="the-ugly"><a href="https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/#the-ugly">The Ugly</a></h2>

<p>I think it is a gorgeous bit of kit.  Once you've learned how to type on it and what position works best for you, it feels great to type on.  The only fly in the ointment?  The price.</p>

<p>Brace yourselves.</p>

<p><strong><a rel="nofollow" href="http://www.amazon.co.uk/gp/product/B00GUFK3TC/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00GUFK3TC&amp;linkCode=as2&amp;tag=shksprblog-21">£170</a>!</strong></p>

<p>Youch!  That's the cost of a cheap laptop or tablet.</p>

<p>I'm conflicted here.  I'm hugely grateful to the anonymous patron who bought this for me - I had been vacillating as to whether to get it - but I can't help wondering if it provides value for money.</p>

<p>There is nothing like this on the market. No cheap Alibaba clones, no fast followers - this is unique.</p>

<p>It <strong>is</strong> the best damned ergonomic Bluetooth keyboard - if only by the virtue of being the <em>only</em> one!</p>

<p>If you take your hands' health seriously, and can't stand laptop keyboards, I highly recommend it.  Goldtouch have made a great product and my fingers thank them.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22753&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/04/the-best-damn-bluetooth-keyboard-in-the-world/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[BMW *are* complying with the GPL]]></title>
		<link>https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/</link>
					<comments>https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 29 Mar 2016 21:19:33 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bmw]]></category>
		<category><![CDATA[GPL]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22667</guid>

					<description><![CDATA[The good news follow-up rarely gets as much attention as the original bad-news story.  Earlier this month I accidentally kicked off a minor kerfuffle over whether BMW was respecting the GPL.  Their i3 car contains a huge amount of Open Source Software and there was some confusion as to BMW&#039;s compliance with the licence terms.  I took a look through the car&#039;s user interface and, hidden away, was…]]></description>
										<content:encoded><![CDATA[<p>The good news follow-up rarely gets as much attention as the original bad-news story.</p>

<p>Earlier this month <a href="https://shkspr.mobi/blog/2016/03/bmw-and-the-gpl/">I accidentally kicked off a minor kerfuffle over whether BMW was respecting the GPL</a>.  Their i3 car contains a huge amount of Open Source Software and there was some confusion as to BMW's compliance with the licence terms.</p>

<p>I <a href="https://youtu.be/Kal-MjsNcFQ">took a look through the car's user interface</a> and, hidden away, was this email address.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/BMW-GPL-Email-Address-.jpg" alt="BMW GPL Email Address" width="1024" height="576" class="aligncenter size-full wp-image-22565"></p>

<p>I dropped them an email. <a href="https://twitter.com/edent/status/709399460162506753">And then a reminder</a>.</p>

<p>Well, today I received this letter in the post:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/BMW-GPL-Letter-.jpg" alt="BMW GPL Letter-" width="1024" height="396" class="aligncenter size-full wp-image-22669">

<p>With this ancient piece of spinning media :-)
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/BMW-GPL-DVD-.jpg" alt="BMW GPL DVD-" width="1024" height="713" class="aligncenter size-full wp-image-22670"></p>

<p>That's 950MB of open source goodness!</p>

<h2 id="mirror"><a href="https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/#mirror">Mirror</a></h2>

<p>To save you having to get a DVD shipped to your location, <a href="https://github.com/edent/BMW-OpenSource">I've mirrored the files on GitHub</a>.  A file tree is also provided at the end of this blog post.</p>

<p>Lots of interesting - and outdated - software packages in there.</p>

<h2 id="lessons"><a href="https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/#lessons">Lessons</a></h2>

<ul>
    <li>In <a href="https://shkspr.mobi/blog/2016/02/bmw-are-sending-their-software-updates-unencrypted/">my original blog post</a>, I speculated on BMW's GPL compliance, that was irresponsible of me.</li>
    <li>Large companies move slowly. It's tempting to go off on a Twitter crusade if you haven't heard back after five minutes. Patience, grasshopper.</li>
    <li>Customer service agents are geared up to deal with normal queries. It's unfair to take them to task for not understanding software licences.</li>
    <li>BMW would do well to set up a simple website or FTP site containing all of this data.  Or, at the very least, making it more obvious how to obtain it.</li>
    <li>Open Source Software is <em>wonderful!</em></li>
</ul>

<h2 id="file-listing"><a href="https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/#file-listing">File Listing</a></h2>

<p>You can <a href="https://github.com/edent/BMW-OpenSource">download from GitHub</a> - but here's a quick list of everything on the DVD. Enjoy!</p>

<div style="height:20em;overflow: scroll;">
<pre>.
├── [7.1M Sep 14  2011]  1000-com.st.havana.kernel-207-7.patch
├── [2.0K Mar 16 14:32]  alsa-intf-git-r3
│&nbsp;&nbsp; └── [202K Jul  8  2014]  alsa-intf-git-r3-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  alsa-lib
│&nbsp;&nbsp; ├── [ 558 Jul  8  2014]  alsa-lib-1.0.24.1-r1-patches.tar.gz
│&nbsp;&nbsp; └── [813K Jul  8  2014]  alsa-lib-1.0.24.1.tar.bz2
├── [790K Feb  9  2012]  alsa-lib-1.0.21a-23.tar.bz2
├── [992K Feb  9  2012]  alsa-utils-1.0.16.tar.bz2
├── [ 24K Feb  9  2012]  anacron-2.3.tar.gz
├── [2.4M Jan 26  2012]  apache-etch-1.1.0-incubating-src.zip
├── [1.1M Jan 26  2012]  apr-1.3.8.tar.gz
├── [1.2M Jan 26  2012]  asn1c-0.9.21.tar.gz
├── [1.4M Sep 23  2013]  asn1c-0.9.24.tar.gz
├── [2.0K Mar 16 14:32]  atk
│&nbsp;&nbsp; └── [729K Jul  8  2014]  atk-2.2.0.tar.bz2
├── [2.0K Mar 16 14:32]  attr
│&nbsp;&nbsp; ├── [ 666 Jul  8  2014]  attr-2.4.46-r3-patches.tar.gz
│&nbsp;&nbsp; └── [330K Jul  8  2014]  attr-2.4.46.src.tar.gz
├── [2.0K Mar 16 14:32]  audiorouter-git-r1
│&nbsp;&nbsp; └── [ 20K Jul  8  2014]  audiorouter-git-r1-prepatch.tar.gz
├── [ 56K Feb  9  2012]  autofs-3.1.7.tar.bz2
├── [2.0K Mar 16 14:32]  base-files
│&nbsp;&nbsp; └── [3.4K Jul  8  2014]  base-files-1.0-r3-patches.tar.gz
├── [2.0K Mar 16 14:32]  base-passwd
│&nbsp;&nbsp; ├── [1.5K Jul  8  2014]  base-passwd-3.5.22-r10-patches.tar.gz
│&nbsp;&nbsp; └── [ 71K Jul  8  2014]  base-passwd_3.5.22.tar.gz
├── [ 45K Feb  9  2012]  base-passwd-3.5.9.tar.gz
├── [2.3M Feb  9  2012]  bash-3.0.tar.gz
├── [272K Feb  9  2012]  bc-1.06.tar.gz
├── [ 87K Feb 10  2012]  BigDigits-2.3.0.zip
├── [2.0K Mar 16 14:32]  bigreqsproto
│&nbsp;&nbsp; └── [100K Jul  8  2014]  bigreqsproto-1.1.1.tar.bz2
├── [ 15M Feb  9  2012]  binutils-2.19.1.tar.bz2
├── [2.0K Mar 16 14:32]  busybox
│&nbsp;&nbsp; ├── [ 14K Jul  8  2014]  busybox-1.18.5-r44.0-patches.tar.gz
│&nbsp;&nbsp; └── [2.0M Jul  8  2014]  busybox-1.18.5.tar.bz2
├── [2.0M Feb  9  2012]  busybox-1.18.2.tar.bz2
├── [2.0K Mar 16 14:32]  cairo
│&nbsp;&nbsp; └── [ 22M Jul  8  2014]  cairo-1.10.2.tar.gz
├── [592K Mar  8  2013]  capu-2012.zip
├── [653K Feb  9  2012]  console-tools-0.2.3.tar.gz
├── [ 58K Feb  9  2012]  cron-3.0pl1.orig.tar.gz
├── [2.0K Mar 16 14:32]  cronie
│&nbsp;&nbsp; ├── [1.0K Jul  8  2014]  cronie-1.4.8-r2-patches.tar.gz
│&nbsp;&nbsp; └── [205K Jul  8  2014]  cronie-1.4.8.tar.gz
├── [2.0K Mar 16 14:32]  cups
│&nbsp;&nbsp; ├── [1.2K Jul  8  2014]  cups-1.4.6-r2-patches.tar.gz
│&nbsp;&nbsp; └── [4.3M Jul  8  2014]  cups-1.4.6-source.tar.bz2
├── [3.3M Jan 26  2012]  curl-7.21.0.zip
├── [2.0K Mar 16 14:32]  dbus
│&nbsp;&nbsp; ├── [2.1K Jul  8  2014]  dbus-1.4.16-r1.0-patches.tar.gz
│&nbsp;&nbsp; └── [1.8M Jul  8  2014]  dbus-1.4.16.tar.gz
├── [2.0K Mar 16 14:32]  dbus-glib
│&nbsp;&nbsp; ├── [ 530 Jul  8  2014]  dbus-glib-0.92-r1-patches.tar.gz
│&nbsp;&nbsp; └── [671K Jul  8  2014]  dbus-glib-0.92.tar.gz
├── [131K Feb  9  2012]  debianutils_3.2.1.tar.gz
├── [479K Feb  9  2012]  deltarpm-3.4.tar.bz2
├── [ 174 Feb 11  7:02]  desktop.ini
├── [3.3M Jan 26  2012]  DevIL-1.7.8.zip
├── [1.0M Feb  9  2012]  dhcp-4.1.0a1.tar.gz
├── [2.0K Mar 16 14:32]  dhcpcd
│&nbsp;&nbsp; └── [ 69K Jul  8  2014]  dhcpcd-5.2.10.tar.bz2
├── [2.7M Nov 24  2011]  DiBcom_SDK_Release_8.11.18.GPL.tar.gz
├── [1.9M Feb  9  2012]  DirectFB-1.4.3.STM2010.03.10.tar.bz2
├── [2.0K Mar 16 14:32]  dnsmasq
│&nbsp;&nbsp; ├── [5.0K Jul  8  2014]  dnsmasq-2.55-r2-patches.tar.gz
│&nbsp;&nbsp; └── [431K Jul  8  2014]  dnsmasq-2.55-r2-prepatch.tar.gz
├── [393K Feb  9  2012]  dnsmasq-2.50.tar.gz
├── [2.0K Mar 16 14:32]  e2fsprogs
│&nbsp;&nbsp; ├── [2.8K Jul  8  2014]  e2fsprogs-1.42-r1-patches.tar.gz
│&nbsp;&nbsp; └── [5.4M Jul  8  2014]  e2fsprogs-1.42.tar.gz
├── [2.0K Mar 16 14:32]  eglibc
│&nbsp;&nbsp; ├── [5.5K Jul  8  2014]  eglibc-2.13-r20+svnr15508-patches.tar.gz
│&nbsp;&nbsp; └── [ 22M Jul  8  2014]  eglibc-2.13-r20+svnr15508-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  eglibc-initial
│&nbsp;&nbsp; ├── [5.5K Jul  8  2014]  eglibc-initial-2.13-r20+svnr15508-patches.tar.gz
│&nbsp;&nbsp; └── [ 22M Jul  8  2014]  eglibc-initial-2.13-r20+svnr15508-prepatch.tar.gz
├── [127K Feb  9  2012]  ethtool-6.tar.gz
├── [2.0K Mar 16 14:32]  eventlog
│&nbsp;&nbsp; └── [296K Jul  8  2014]  eventlog_0.2.12.tar.gz
├── [2.0K Mar 16 14:32]  exosip
│&nbsp;&nbsp; └── [222K Jul  8  2014]  exosip-3.5.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  exosip4
│&nbsp;&nbsp; └── [247K Jul  8  2014]  exosip4-4.0.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  expat
│&nbsp;&nbsp; ├── [ 543 Jul  8  2014]  expat-2.0.1-r1-patches.tar.gz
│&nbsp;&nbsp; └── [436K Jul  8  2014]  expat-2.0.1.tar.gz
├── [ 16K Feb 10  2012]  ezxml-0.8.6.tar.gz
├── [2.0K Mar 16 14:32]  fastjar
│&nbsp;&nbsp; ├── [1.4K Jul  8  2014]  fastjar-0.98-r1-patches.tar.gz
│&nbsp;&nbsp; └── [701K Jul  8  2014]  fastjar-0.98.tar.gz
├── [ 27K Feb  9  2012]  fbset_2.1.orig.tar.gz
├── [760K Feb  9  2012]  findutils_4.1.20.orig.tar.gz
├── [2.0K Mar 16 14:32]  flex
│&nbsp;&nbsp; └── [1.2M Jul  8  2014]  flex-2.5.35.tar.bz2
├── [2.0K Mar 16 14:32]  fontconfig
│&nbsp;&nbsp; ├── [ 534 Jul  8  2014]  fontconfig-2.8.0-r4-patches.tar.gz
│&nbsp;&nbsp; └── [1.5M Jul  8  2014]  fontconfig-2.8.0.tar.gz
├── [2.0K Mar 16 14:32]  FreeScale
│&nbsp;&nbsp; ├── [4.7M Jan 30  2015]  linux-2.6.35.3-imx_10.12.01.bz2
│&nbsp;&nbsp; └── [ 67M Jan 30  2015]  linux-2.6.35.3.tar.bz2
├── [2.0K Mar 16 14:32]  freetype
│&nbsp;&nbsp; ├── [ 399 Jul  8  2014]  freetype-2.4.8-r0-patches.tar.gz
│&nbsp;&nbsp; └── [1.4M Jul  8  2014]  freetype-2.4.8.tar.bz2
├── [1.4M Feb  9  2012]  freetype-2.3.11.tar.bz2
├── [160K Jan 26  2012]  freetype-doc-2.1.10.tar.bz2
├── [653K Aug 19  2011]  fribidi-0.19.2.tar.gz
├── [156K Feb  9  2012]  ft2demos-2.3.11.tar.bz2
├── [ 63M Feb  9  2012]  gcc-4.5.0.tar.bz2
├── [ 20M Feb  9  2012]  gdb-6.8.tar.gz
├── [2.0K Mar 16 14:32]  gdk-pixbuf
│&nbsp;&nbsp; ├── [1.2K Jul  8  2014]  gdk-pixbuf-2.24.0-r2-patches.tar.gz
│&nbsp;&nbsp; └── [1.6M Jul  8  2014]  gdk-pixbuf-2.24.0.tar.bz2
├── [2.0K Mar 16 14:32]  giflib
│&nbsp;&nbsp; └── [494K Jul  8  2014]  giflib-4.1.6.tar.bz2
├── [ 15M Feb  9  2012]  glibc-2.10.1.tar.bz2
├── [571K Feb  9  2012]  glibc-ports-2.10.1.tar.bz2
├── [3.9M Jul  3  2014]  glm-0.9.5.3.zip
├── [2.0K Mar 16 14:32]  gnujaf
│&nbsp;&nbsp; ├── [153K Jul  8  2014]  activation-1.1.1.tar.gz
│&nbsp;&nbsp; └── [1.1K Jul  8  2014]  gnujaf-1.1.1-r1-patches.tar.gz
├── [2.0K Mar 16 14:32]  gnumail
│&nbsp;&nbsp; ├── [ 522 Jul  8  2014]  gnumail-1.1.2-r1-patches.tar.gz
│&nbsp;&nbsp; └── [310K Jul  8  2014]  mail-1.1.2.tar.gz
├── [2.0K Mar 16 14:32]  gtk+
│&nbsp;&nbsp; ├── [4.0K Jul  8  2014]  gtk+-2.24.8-r1-patches.tar.gz
│&nbsp;&nbsp; └── [ 16M Jul  8  2014]  gtk+-2.24.8.tar.bz2
├── [2.0K Mar 16 14:32]  hostap-git-r3
│&nbsp;&nbsp; └── [2.2M Jul  8  2014]  hostap-git-r3-prepatch.tar.gz
├── [338K Feb  9  2012]  ifupdown_0.6.7.tar.gz
├── [2.0K Mar 16 14:32]  inetlib
│&nbsp;&nbsp; ├── [ 528 Jul  8  2014]  inetlib-1.1.1-r1-patches.tar.gz
│&nbsp;&nbsp; └── [238K Jul  8  2014]  inetlib-1.1.1.tar.gz
├── [2.0K Mar 16 14:32]  initscripts
│&nbsp;&nbsp; └── [ 16K Jul  8  2014]  initscripts-1.0-r129-patches.tar.gz
├── [2.0K Mar 16 14:32]  inputproto
│&nbsp;&nbsp; └── [152K Jul  8  2014]  inputproto-2.0.2.tar.bz2
├── [2.0K Mar 16 14:32]  iproute2
│&nbsp;&nbsp; ├── [1014 Jul  8  2014]  iproute2-3.2.0-r0-patches.tar.gz
│&nbsp;&nbsp; └── [521K Jul  8  2014]  iproute2-3.2.0-r0-prepatch.tar.gz
├── [362K Feb  9  2012]  iproute2-2.6.33.tar.bz2
├── [2.0K Mar 16 14:32]  iptables
│&nbsp;&nbsp; └── [462K Jul  8  2014]  iptables-1.4.12.1.tar.bz2
├── [ 87K Feb  9  2012]  iputils-s20071127.tar.bz2
├── [102K Feb 10  2012]  jasherai-oniguruma-09254fa.zip
├── [2.0K Mar 16 14:32]  jpeg-8c-r3
│&nbsp;&nbsp; ├── [ 12K Jul  8  2014]  jpeg-8c-r3-patches.tar.gz
│&nbsp;&nbsp; └── [964K Jul  8  2014]  jpegsrc.v8c.tar.gz
├── [938K Feb  9  2012]  jpegsrc.v7.tar.gz
├── [968K Jan 26  2012]  jpegsrc.v8d.tar.gz
├── [115K Jul  3  2014]  jsoncpp-src-0.6.0-rc2.tar.gz
├── [2.0K Mar 16 14:32]  kbd
│&nbsp;&nbsp; └── [1016K Jul  8  2014]  kbd-1.15.2.tar.bz2
├── [2.0K Mar 16 14:32]  kbproto
│&nbsp;&nbsp; └── [109K Jul  8  2014]  kbproto-1.0.5.tar.bz2
├── [2.0K Mar 16 14:32]  keymaps
│&nbsp;&nbsp; └── [7.1K Jul  8  2014]  keymaps-1.0-r20-patches.tar.gz
├── [ 37K Feb  9  2012]  keyutils-1.2.tar.bz2
├── [286K Feb  9  2012]  less-394.tar.gz
├── [2.0K Mar 16 14:32]  libasrc
│&nbsp;&nbsp; └── [ 36K Jul  8  2014]  libasrc-1.0.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  libcap
│&nbsp;&nbsp; └── [ 59K Jul  8  2014]  libcap-2.22.tar.bz2
├── [ 52K Feb  9  2012]  libcap-2.16.tar.gz
├── [2.0K Mar 16 14:32]  libffi
│&nbsp;&nbsp; └── [736K Jul  8  2014]  libffi-3.0.10.tar.gz
├── [2.0K Mar 16 14:32]  libgcrypt
│&nbsp;&nbsp; ├── [1.0K Jul  8  2014]  libgcrypt-1.5.0-r0-patches.tar.gz
│&nbsp;&nbsp; └── [1.7M Jul  8  2014]  libgcrypt-1.5.0.tar.gz
├── [2.0K Mar 16 14:32]  libgpg-error
│&nbsp;&nbsp; ├── [1.0K Jul  8  2014]  libgpg-error-1.10-r1-patches.tar.gz
│&nbsp;&nbsp; └── [429K Jul  8  2014]  libgpg-error-1.10.tar.bz2
├── [2.0K Mar 16 14:32]  libhardware-git-r4
│&nbsp;&nbsp; ├── [ 899 Jul  8  2014]  libhardware-git-r4-patches.tar.gz
│&nbsp;&nbsp; └── [ 39K Jul  8  2014]  libhardware-git-r4-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  libice
│&nbsp;&nbsp; └── [316K Jul  8  2014]  libICE-1.0.7.tar.bz2
├── [2.0K Mar 16 14:32]  lib-libmnl
│&nbsp;&nbsp; └── [ 45K Jul  8  2014]  lib-libmnl-1.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  liblinenoise
│&nbsp;&nbsp; └── [ 13K Jul  8  2014]  liblinenoise-1.0-r0-prepatch.tar.gz
├── [522K Feb  9  2012]  libmtp-0.2.6.1.tar.gz
├── [2.0K Mar 16 14:32]  libogg
│&nbsp;&nbsp; └── [415K Jul  8  2014]  libogg-1.3.0.tar.gz
├── [803K Feb  9  2012]  liboil-0.3.15.tar.gz
├── [2.0K Mar 16 14:32]  libol
│&nbsp;&nbsp; └── [338K Jul  8  2014]  libol-0.3.18.tar.gz
├── [2.0K Mar 16 14:32]  libpcap
│&nbsp;&nbsp; ├── [ 550 Jul  8  2014]  libpcap-1.1.1-r1-patches.tar.gz
│&nbsp;&nbsp; └── [568K Jul  8  2014]  libpcap-1.1.1.tar.gz
├── [508K Feb  9  2012]  libpcap-0.9.8.tar.gz
├── [615K Feb  9  2012]  libpng-1.2.40.tar.bz2
├── [805K Jan 26  2012]  libpng-1.4.3.tar.gz
├── [2.0K Mar 16 14:32]  libpthread-stubs
│&nbsp;&nbsp; └── [199K Jul  8  2014]  libpthread-stubs-0.3.tar.bz2
├── [2.0K Mar 16 14:32]  libsm
│&nbsp;&nbsp; └── [278K Jul  8  2014]  libSM-1.2.0.tar.bz2
├── [2.0K Mar 16 14:32]  libtool-cross
│&nbsp;&nbsp; ├── [2.5M Jul  8  2014]  libtool-2.4.2.tar.gz
│&nbsp;&nbsp; └── [7.1K Jul  8  2014]  libtool-cross-2.4.2-r1.1-patches.tar.gz
├── [380K Feb  9  2012]  libusb-0.1.12.tar.gz
├── [2.0K Mar 16 14:32]  libusb1
│&nbsp;&nbsp; └── [324K Jul  8  2014]  libusb-1.0.8.tar.bz2
├── [2.0K Mar 16 14:32]  libusb-compat
│&nbsp;&nbsp; ├── [245K Jul  8  2014]  libusb-compat-0.1.3.tar.bz2
│&nbsp;&nbsp; └── [ 606 Jul  8  2014]  libusb-compat-1_0.1.3-r2-patches.tar.gz
├── [2.0K Mar 16 14:32]  libx11
│&nbsp;&nbsp; ├── [ 975 Jul  8  2014]  libx11-1.4.4-r0-patches.tar.gz
│&nbsp;&nbsp; └── [2.2M Jul  8  2014]  libX11-1.4.4.tar.bz2
├── [2.0K Mar 16 14:32]  libxau
│&nbsp;&nbsp; └── [255K Jul  8  2014]  libXau-1.0.6.tar.bz2
├── [2.0K Mar 16 14:32]  libxcb
│&nbsp;&nbsp; └── [364K Jul  8  2014]  libxcb-1.8.tar.bz2
├── [2.0K Mar 16 14:32]  libxdmcp
│&nbsp;&nbsp; └── [282K Jul  8  2014]  libXdmcp-1.1.0.tar.bz2
├── [2.0K Mar 16 14:32]  libxext
│&nbsp;&nbsp; └── [333K Jul  8  2014]  libXext-1.3.0.tar.bz2
├── [2.0K Mar 16 14:32]  libxi
│&nbsp;&nbsp; └── [413K Jul  8  2014]  libXi-1.4.3.tar.bz2
├── [2.0K Mar 16 14:32]  libxinerama
│&nbsp;&nbsp; └── [260K Jul  8  2014]  libXinerama-1.1.1.tar.bz2
├── [2.0K Mar 16 14:32]  libxml2
│&nbsp;&nbsp; ├── [ 827 Jul  8  2014]  libxml2-2.7.8-r5-patches.tar.gz
│&nbsp;&nbsp; └── [4.7M Jul  8  2014]  libxml2-2.7.8.tar.gz
├── [2.0K Mar 16 14:32]  libxrender
│&nbsp;&nbsp; └── [252K Jul  8  2014]  libXrender-0.9.6.tar.bz2
├── [2.0K Mar 16 14:32]  libxt
│&nbsp;&nbsp; ├── [ 577 Jul  8  2014]  libxt-1_1.1.1-r1-patches.tar.gz
│&nbsp;&nbsp; └── [699K Jul  8  2014]  libXt-1.1.1.tar.bz2
├── [2.0K Mar 16 14:32]  libxtst
│&nbsp;&nbsp; └── [275K Jul  8  2014]  libXtst-1.2.0.tar.bz2
├── [2.0K Mar 16 14:32]  linphone
│&nbsp;&nbsp; ├── [1.1K Jul  8  2014]  linphone-3.5.2-r0-patches.tar.gz
│&nbsp;&nbsp; └── [6.6M Jul  8  2014]  linphone-3.5.2-r0-prepatch.tar.gz
├── [ 61M Feb 14  2012]  linux-2.6.32.28.tar.bz2
├── [2.0K Mar 16 14:32]  linux-libc-headers
│&nbsp;&nbsp; ├── [ 74M Jul  8  2014]  linux-3.1.tar.bz2
│&nbsp;&nbsp; └── [ 756 Jul  8  2014]  linux-libc-headers-3.1-r1-patches.tar.gz
├── [2.0K Mar 16 14:32]  linux-quic-git-2186caf8a22515c67d814a04143f421a789b874d-r3
│&nbsp;&nbsp; ├── [102M Jul  8  2014]  linux-quic.tar.gz
│&nbsp;&nbsp; └── [   0 Jul  8  2014]  symlinks_resolved
├── [713K Feb  9  2012]  lirc-0.8.6.tar.bz2
├── [2.0K Mar 16 14:32]  lk-git-r3
│&nbsp;&nbsp; ├── [ 694 Jul  8  2014]  lk-git-r3-patches.tar.gz
│&nbsp;&nbsp; └── [3.2M Jul  8  2014]  lk-git-r3-prepatch.tar.gz
├── [840K Feb  9  2012]  lm_sensors-2.9.2.tar.gz
├── [2.0K Mar 16 14:32]  loc-api-git-r3
│&nbsp;&nbsp; └── [279K Jul  8  2014]  loc-api-git-r3-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  loc-api-test
│&nbsp;&nbsp; └── [9.2K Jul  8  2014]  loc-api-test-1.0-r2-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  logrotate
│&nbsp;&nbsp; ├── [ 627 Jul  8  2014]  logrotate-3.7.9-r1-patches.tar.gz
│&nbsp;&nbsp; └── [ 44K Jul  8  2014]  logrotate-3.7.9.tar.gz
├── [273K Feb  9  2012]  ltrace_0.5.1.orig.tar.gz
├── [212K Jan 26  2012]  lua-5.1.4.tar.gz
├── [916K Feb  9  2012]  LVM2.2.02.73.tgz
├── [528K Jan 14  2014]  lwip-1.3.0.zip
├── [2.0K Mar 16 14:32]  lzo
│&nbsp;&nbsp; ├── [2.4K Jul  8  2014]  lzo-2.06-r1-patches.tar.gz
│&nbsp;&nbsp; └── [569K Jul  8  2014]  lzo-2.06.tar.gz
├── [9.7K Feb  9  2012]  makedev-2.3.1.tar.gz
├── [2.0K Mar 16 14:32]  mediastreamer2
│&nbsp;&nbsp; └── [537K Jul  8  2014]  mediastreamer2-2.8.8-r0-prepatch.tar.gz
├── [2.7K Jul  8  2011]  memio-1.1.tar.bz2
├── [ 21K Feb  9  2012]  memstat_0.4.tar.gz
├── [120K Feb  9  2012]  module-init-tools-3.1.tar.bz2
├── [102K Mar  7  2013]  mongoose-3.0.tgz
├── [2.0K Mar 16 14:32]  ncurses
│&nbsp;&nbsp; ├── [ 898 Jul  8  2014]  ncurses-5.9-r9.1-patches.tar.gz
│&nbsp;&nbsp; └── [2.7M Jul  8  2014]  ncurses-5.9.tar.gz
├── [2.2M Feb  9  2012]  ncurses-5.5.tar.gz
├── [2.0K Mar 16 14:32]  netbase
│&nbsp;&nbsp; ├── [1.4K Jul  8  2014]  netbase-4.47-r0-patches.tar.gz
│&nbsp;&nbsp; └── [ 35K Jul  8  2014]  netbase_4.47.tar.gz
├── [ 32K Feb  9  2012]  netbase_4.34.tar.gz
├── [131K Feb  9  2012]  netkit-telnet_0.17.tar.gz
├── [ 20K Feb  9  2012]  netkit-tftp_0.10.orig.tar.gz
├── [259K Feb  9  2012]  net-tools_1.60.orig.tar.gz
├── [260K Feb  9  2012]  nfs-utils-1.0.6.tar.gz
├── [3.2M Feb  9  2012]  ntp-4.2.4p7.tar.gz
├── [1.2M Feb  9  2012]  nvi-1.79.tar.gz
├── [2.0K Mar 16 14:32]  ocf-linux-20100325-r3
│&nbsp;&nbsp; └── [596K Jul  8  2014]  ocf-linux-20100325.tar.gz
├── [1.9M Sep 15  2014]  OpenCTM-1.0.3-src.zip
├── [2.0K Mar 16 14:32]  openjdk-7-jre-25b30
│&nbsp;&nbsp; ├── [ 65M Jul  8  2014]  openjdk-7-jre-25b30-2.3.12-r5.1-patches.tar.gz
│&nbsp;&nbsp; └── [4.4M Jul  8  2014]  openjdk-7-jre-25b30-2.3.12-r5.1-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  open-source-kernel-tests-git-r2
│&nbsp;&nbsp; └── [ 21K Jul  8  2014]  open-source-kernel-tests-git-r2-prepatch.tar.gz
├── [1016K Feb  9  2012]  openssh-5.1p1.tar.gz
├── [2.0K Mar 16 14:32]  openssl
│&nbsp;&nbsp; ├── [ 31K Jul  8  2014]  openssl-1.0.0f-r15.0-patches.tar.gz
│&nbsp;&nbsp; └── [3.9M Jul  8  2014]  openssl-1.0.0f.tar.gz
├── [3.6M Jan 26  2012]  openssl-0.9.8j.tar.gz
├── [3.7M Jan 26  2012]  openssl-0.9.8k.tar.gz
├── [3.8M Feb  9  2012]  openssl-1.0.0a.tar.gz
├── [2.0K Mar 16 14:32]  opkg
│&nbsp;&nbsp; ├── [5.0K Jul  8  2014]  opkg-1_0.1.8+svnr633-r7.0-patches.tar.gz
│&nbsp;&nbsp; └── [170K Jul  8  2014]  opkg-1_0.1.8+svnr633-r7.0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  ortp
│&nbsp;&nbsp; └── [176K Jul  8  2014]  ortp-0.20.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  osip
│&nbsp;&nbsp; └── [355K Jul  8  2014]  osip-3.5.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  osip4
│&nbsp;&nbsp; └── [359K Jul  8  2014]  osip4-4.0.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  pango
│&nbsp;&nbsp; ├── [3.5K Jul  8  2014]  pango-1.28.4-r6-patches.tar.gz
│&nbsp;&nbsp; └── [2.0M Jul  8  2014]  pango-1.28.4-r6-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  perl
│&nbsp;&nbsp; ├── [ 49K Jul  8  2014]  perl-5.14.2-r2-patches.tar.gz
│&nbsp;&nbsp; └── [ 15M Jul  8  2014]  perl-5.14.2.tar.gz
├── [2.0K Mar 16 14:32]  pimd-git-r1
│&nbsp;&nbsp; ├── [ 632 Jul  8  2014]  pimd-git-r1-patches.tar.gz
│&nbsp;&nbsp; └── [235K Jul  8  2014]  pimd-git-r1-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  pixman
│&nbsp;&nbsp; └── [457K Jul  8  2014]  pixman-0.24.2.tar.bz2
├── [382K Feb  9  2012]  pmount_0.9.20.orig.tar.gz
├── [2.0K Mar 16 14:32]  popt
│&nbsp;&nbsp; └── [686K Jul  8  2014]  popt-1.16.tar.gz
├── [ 18K Feb  9  2012]  portmap_5beta.tar.gz
├── [2.0K Mar 16 14:32]  powerapp-git-r5
│&nbsp;&nbsp; └── [5.3K Jul  8  2014]  powerapp-git-r5-prepatch.tar.gz
├── [275K Feb  9  2012]  procps-3.2.7.tar.gz
├── [1.8M Jan 14  2014]  protobuf-2.3.0.tar.gz
├── [2.4M Jan 26  2012]  protobuf-2.4.1.zip
├── [565K Jan 14  2014]  ptpd-2.1.0.tar.gz
├── [2.0K Mar 16 14:32]  reboot-daemon
│&nbsp;&nbsp; └── [3.0K Jul  8  2014]  reboot-daemon-1.0-r2-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  recordproto
│&nbsp;&nbsp; └── [110K Jul  8  2014]  recordproto-1.14.1.tar.bz2
├── [2.0K Mar 16 14:32]  renderproto
│&nbsp;&nbsp; └── [103K Jul  8  2014]  renderproto-0.11.1.tar.bz2
├── [  44 Feb 10  2012]  rootfs readme.txt
├── [2.0K Mar 16 14:32]  run-postinsts
│&nbsp;&nbsp; └── [ 536 Jul  8  2014]  run-postinsts-1.0-r7-patches.tar.gz
├── [ 90K Feb  9  2012]  SaWMan-1.4.3+git0.9dd19ef38313.tar.gz
├── [ 51K Feb  9  2012]  setserial_2.17.orig.tar.gz
├── [ 26K Aug 26  2013]  SHA1INDEX.idx
├── [2.0K Mar 16 14:32]  shadow
│&nbsp;&nbsp; ├── [3.1K Jul  8  2014]  shadow-4.1.4.3-r7-patches.tar.gz
│&nbsp;&nbsp; └── [1.7M Jul  8  2014]  shadow-4.1.4.3.tar.bz2
├── [1.6M Feb  9  2012]  shadow-4.1.2.tar.bz2
├── [2.0K Mar 16 14:32]  shadow-sysroot
│&nbsp;&nbsp; └── [4.6K Jul  8  2014]  shadow-sysroot-4.1.4.3-r0-patches.tar.gz
├── [2.0K Mar 16 14:32]  shared-mime-info
│&nbsp;&nbsp; ├── [478K Jul  8  2014]  shared-mime-info-0.91-r3-patches.tar.gz
│&nbsp;&nbsp; └── [1.0M Jul  8  2014]  shared-mime-info-0.91-r3-prepatch.tar.gz
├── [ 32K May 17  2011]  ShrRAM-baseline.tar.bz2
├── [2.0K Mar 16 14:32]  sipgateway
│&nbsp;&nbsp; ├── [2.9K Jul  8  2014]  sipgateway-1.0-r0-patches.tar.gz
│&nbsp;&nbsp; └── [ 49K Jul  8  2014]  sipgateway-1.0-r0-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  speex
│&nbsp;&nbsp; └── [1.0M Jul  8  2014]  speex-1.2rc1.tar.gz
├── [2.0M Feb  9  2012]  sqlite-3.6.0.tar.gz
├── [1.3M Jan 26  2012]  sqlite-amalgamation-3071000.zip
├── [ 61K Mar 24  2011]  stlinux23-sh4-vid_firmware-dev-hv10-36.sh4.rpm
├── [ 62K Sep  2  2011]  stlinux24-host-havana-frontend-source-2.6-4.tar.bz2
├── [180K Sep 13  2011]  stlinux24-host-infrastructure-source-1.7-1.noarch.rpm
├── [258K Mar 24  2011]  stlinux24-host-linux-fusion-source-8.2.0-1.noarch.rpm
├── [1.5M Sep 13  2011]  stlinux24-host-multicom-source-4.0.5+4.0.51.Orly-4.noarch.rpm
├── [1.2M Sep 12  2011]  stlinux24-host-player2-source-int228-1.noarch.rpm
├── [1.4M Sep 13  2011]  stlinux24-host-stmfb-source-4.0_stm24_0216-1.noarch.rpm
├── [7.1M Feb  9  2012]  stlinux24-host-u-boot-source-sh4-1.3.1_stm24_0047-47.src.rpm
├── [112K Mar 24  2011]  stlinux24-sh4-fdma-firmware-20101130-4.noarch.rpm
├── [5.4K Mar 24  2011]  stlinux24-sh4-linux-fusion-headers-8.2.0-2.noarch.rpm
├── [721K Sep 13  2011]  stlinux24-sh4-linux-kernel-headers-2.6.32.16-44.1havana5.noarch.rpm
├── [ 10K Mar 24  2011]  stlinux24-sh4-stmfb-firmware-1.20-1.noarch.rpm
├── [ 20K Sep 13  2011]  stlinux24-sh4-stmfb-headers-4.0_stm24_0216-1.noarch.rpm
├── [ 75K Sep 13  2011]  stlinux24-sh4-vid_firmware-dev-hv11-2.sh4.rpm
├── [4.5M Sep 13  2011]  stlinux24-sh4-vid_firmware-mpeg4p2-hv11-2.sh4.rpm
├── [2.8K Feb 14  2012]  stlinux24-target-directfb-multi-1.4.3+STM2010.10.tar.gz
├── [148M Feb 10  2012]  stlinux24-target-qt-embedded-4.6.0-27.src.rpm
├── [447K Feb  9  2012]  strace-4.5.16.tar.bz2
├── [770K Feb  9  2012]  sysfsutils-2.1.0.tar.gz
├── [ 85K Feb  9  2012]  sysklogd-1.5.tar.gz
├── [2.0K Mar 16 14:32]  syslog-ng
│&nbsp;&nbsp; ├── [2.4K Jul  8  2014]  syslog-ng-3.4.7-r6.1-patches.tar.gz
│&nbsp;&nbsp; └── [3.1M Jul  8  2014]  syslog-ng_3.4.7.tar.gz
├── [205K Feb  9  2012]  sysstat-8.0.0.tar.gz
├── [2.0K Mar 16 14:32]  system-core-git-r6
│&nbsp;&nbsp; └── [915K Jul  8  2014]  system-core-git-r6-prepatch.tar.gz
├── [2.0K Mar 16 14:32]  sysvinit
│&nbsp;&nbsp; ├── [4.3K Jul  8  2014]  sysvinit-2.88dsf-r5-patches.tar.gz
│&nbsp;&nbsp; └── [103K Jul  8  2014]  sysvinit-2.88dsf.tar.bz2
├── [ 96K Feb  9  2012]  sysvinit_2.86.ds1.orig.tar.gz
├── [2.0K Mar 16 14:32]  sysvinit-inittab
│&nbsp;&nbsp; └── [ 643 Jul  8  2014]  sysvinit-inittab-2.88dsf-r8-patches.tar.gz
├── [2.0K Mar 16 14:32]  tcpdump
│&nbsp;&nbsp; ├── [1.7K Jul  8  2014]  tcpdump-4.1.1-r1-patches.tar.gz
│&nbsp;&nbsp; └── [1.5M Jul  8  2014]  tcpdump-4.1.1.tar.gz
├── [ 97K Feb  9  2012]  tcp_wrappers_7.6.tar.gz
├── [262K Feb  9  2012]  termcap-2.0.8.tar.gz
├── [129K Feb  9  2012]  thttpd-2.25b.tar.gz
├── [1.3M Feb  9  2012]  tiff-3.9.1.tar.gz
├── [2.0K Mar 16 14:32]  tinylogin
│&nbsp;&nbsp; ├── [9.4K Jul  8  2014]  tinylogin-1.4-r8-patches.tar.gz
│&nbsp;&nbsp; └── [ 96K Jul  8  2014]  tinylogin-1.4.tar.bz2
├── [114K Sep 17  2014]  tinyxml2-1.0.11.zip
├── [177K Jan 26  2012]  tinyxml_2_4_2.zip
├── [284K Mar  8  2013]  tinyxml_2_6_2.zip
├── [ 11K Jan 26  2012]  tlsf-2.0.zip
├── [7.3K Jan 26  2012]  trex_1_3.tar.gz
├── [ 46K Feb  9  2012]  tslib-1.0.tar.bz2
├── [6.0K May 17  2011]  uCblaze-baseline.tar.bz2
├── [535K Feb  9  2012]  udev-162.tar.bz2
├── [ 43K Feb  9  2012]  udhcp-0.9.8.tar.gz
├── [241K Feb  9  2012]  usbutils-0.86.tar.gz
├── [2.0K Mar 16 14:32]  util-linux
│&nbsp;&nbsp; ├── [4.7K Jul  8  2014]  util-linux-2.20.1-r2-patches.tar.gz
│&nbsp;&nbsp; └── [4.4M Jul  8  2014]  util-linux-2.20.1.tar.bz2
├── [4.6M Feb  9  2012]  util-linux_2.16.1.orig.tar.gz
├── [2.0K Mar 16 14:32]  util-macros
│&nbsp;&nbsp; └── [ 89K Jul  8  2014]  util-macros-1.16.1.tar.gz
├── [172K Feb  9  2012]  vlan.1.9.tar.gz
├── [ 41K Feb  9  2012]  vlms-0.2.3.tar.gz
├── [2.3M Feb  9  2012]  wget-1.12.tar.gz
├── [2.0K Mar 16 14:32]  wireless-tools-1_29-r2
│&nbsp;&nbsp; ├── [1.8K Jul  8  2014]  wireless-tools-1_29-r2-patches.tar.gz
│&nbsp;&nbsp; └── [288K Jul  8  2014]  wireless_tools.29.tar.gz
├── [2.0K Mar 16 14:32]  xcb-proto
│&nbsp;&nbsp; └── [102K Jul  8  2014]  xcb-proto-1.7.tar.bz2
├── [2.0K Mar 16 14:32]  xcmiscproto
│&nbsp;&nbsp; └── [100K Jul  8  2014]  xcmiscproto-1.2.1.tar.bz2
├── [2.0K Mar 16 14:32]  xextproto
│&nbsp;&nbsp; └── [203K Jul  8  2014]  xextproto-7.2.0.tar.bz2
├── [2.0K Mar 16 14:32]  xf86bigfontproto
│&nbsp;&nbsp; └── [ 48K Jul  8  2014]  xf86bigfontproto-1.2.0.tar.bz2
├── [2.0K Mar 16 14:32]  xineramaproto
│&nbsp;&nbsp; └── [ 94K Jul  8  2014]  xineramaproto-1.2.1.tar.bz2
├── [295K Feb  9  2012]  xinetd-2.3.14.tar.gz
├── [2.0K Mar 16 14:32]  xproto
│&nbsp;&nbsp; ├── [ 655 Jul  8  2014]  xproto-1_7.0.22-r1-patches.tar.gz
│&nbsp;&nbsp; └── [275K Jul  8  2014]  xproto-7.0.22.tar.bz2
├── [2.0K Mar 16 14:32]  xtrans
│&nbsp;&nbsp; └── [153K Jul  8  2014]  xtrans-1.2.6.tar.bz2
├── [2.0K Mar 16 14:32]  zip
│&nbsp;&nbsp; └── [1.1M Jul  8  2014]  zip30.tgz
├── [485K Feb  9  2012]  zlib-1.2.3.tar.gz
└── [532K Jan 26  2012]  zlib-1.2.5.tar.gz

122 directories, 317 files

</pre>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22667&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/03/bmw-are-complying-with-the-gpl/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Fire up your Raspberry Pi with Cayenne]]></title>
		<link>https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/</link>
					<comments>https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 22 Mar 2016 21:59:13 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[sponsored]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22577</guid>

					<description><![CDATA[I&#039;ve got three Raspberry Pis around my house. Well... at least... I think I do.  I can certainly ping three of them. I know the physical location of two of them...  It&#039;s a testament to the success of the Raspberry Pi. Anyone with £30 to spare can pick one up and start hacking. Want to build an IoT fishtank? Start with a Pi. Need to monitor air pollution? Start with a Pi. Have a vague idea...? You …]]></description>
										<content:encoded><![CDATA[<p>I've got three Raspberry Pis around my house. Well... at least... I <em>think</em> I do.  I can certainly ping three of them. I know the physical location of two of them...</p>

<p>It's a testament to the success of the Raspberry Pi. Anyone with £30 to spare can pick one up and start hacking. Want to build an IoT fishtank? Start with a Pi. Need to monitor air pollution? Start with a Pi. Have a vague idea...? You get the picture.</p>

<p>The only problem with the Pi is the age-old complaint about just how <a href="http://www.starlink.ac.uk/star/OLD_20240118/docs/sc13.htx/sc13ch2.html#x3-70001">user-friendly the command-line is</a>.  I've spent a lot of time with kids and adults who are familiar with computers - but utterly stumped when it comes to the CLI.  Trying to get an LED to illuminate when you press a button using Python can be an exercise in frustration.  It just doesn't match the mental models that people have on how computers should work.</p>

<p>Programming a Pi for IoT tasks should be as simple as coding a game in Scratch.  A visual, drag-and-drop interface with instant feedback.</p>

<p>That's where Cayenne comes in handy.  It's a free app which you can install on your Pi in about 5 minutes.  If you install their mobile app, your phone will automatically find the Pi (if you're on the same WiFi network) and you can configure it directly.
<a href="https://web.archive.org/web/20160321180133/https://www.cayenne-mydevices.com/" rel="nofollow attachment wp-att-22590"><img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/Cayenne_Logo_White-fs8.png" alt="Cayenne_Logo_White-fs8" width="718" height="201" class="aligncenter size-full wp-image-22590"></a>
Cayenne offers five main areas of functionality.</p>

<h2 id="a-gui-for-your-gpio"><a href="https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#a-gui-for-your-gpio">A GUI for your GPIO</a></h2>

<p>Once set up, you get this delightful web interface which will allow you to assign and monitor your GPIO pins.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/Cayenne_Online_GPIO-fs8.png" alt="Cayenne_Online_GPIO-fs8" width="1024" height="576" class="aligncenter size-full wp-image-22586">
A couple of clicks and you're all set. No Python to mess with or external libraries to load.</p>

<p>It also means connecting up sensors and output devices becomes a breeze.  Wire them in, tell Cayenne what and where they are. Done.</p>

<p>Which means...</p>

<h2 id="dashboard-all-the-things"><a href="https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#dashboard-all-the-things">Dashboard All The Things!</a></h2>

<p>You instantly get a dashboard showing your Pi, its stats, and all its sensors.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/Cayenne_Online_Dashboard-fs8.png" alt="Cayenne_Online_Dashboard-fs8" width="1024" height="576" class="aligncenter size-full wp-image-22585"></p>

<p>It's a beautiful HTML5 representation of everything going on in your device - and it allows you to...</p>

<h2 id="ifttt-for-your-pi"><a href="https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#ifttt-for-your-pi">IFTTT For Your Pi</a></h2>

<p>Even if you're already an accomplished programmer - sometimes it's just <em>easier</em> to do things in a visual manner.  The If-This-Than-That style of webservices has totally revolutionised how people make complex interactions.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/Cayenne_Mobile_App_Configure_Trigger2-fs8.png" alt="Cayenne_Mobile_App_Configure_Trigger2-fs8" width="1024" height="610" class="aligncenter size-full wp-image-22588">
Cayenne finally makes it simple to get started with IoT on Pi.  If the light is shining, turn on the fan.</p>

<h2 id="scheduling"><a href="https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#scheduling">Scheduling</a></h2>

<p>This is a brand new feature - and a most welcome one.  Anyone who has accidentally typed <br>
<code>crontab -d</code> rather than <code>crontab -e</code> will know just how frustrating it is to manage scheduled tasks on the Pi!</p>

<p>Cayenne will give you a simple, graphical way to turn your home into a smart-home.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/schedule_phone_cayenne-fs8.png" alt="schedule_phone_cayenne-fs8" width="1024" height="1042" class="aligncenter size-full wp-image-22609">
Once you've connected devices, you can schedule actions to happen as and when you need them. Set security cameras to come on at specific times, start your slow-cooker as you come home from work, or get the lights to switch off after you leave for work.</p>

<h2 id="phone-access"><a href="https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#phone-access">Phone Access</a></h2>

<p>And, everything is accessible over your phone!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/Cayenne-Phone-Layout-fs8.png" alt="Cayenne Phone Layout-fs8" width="1024" height="595" class="aligncenter size-full wp-image-22584">
You can monitor, configure, and adjust your Pi via your iPhone - with Android coming soon.</p>

<h2 id="get-cayenne"><a href="https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/#get-cayenne">Get Cayenne</a></h2>

<p>The <a href="https://web.archive.org/web/20160321180133/https://www.cayenne-mydevices.com/" rel="nofollow">Cayenne software is free</a> - although you will need to register an account with them first.  There's a <a href="https://web.archive.org/web/20160304065033/https://www.cayenne-mydevices.com/docs/" rel="nofollow">comprehensive set of documentation</a> and <a href="https://web.archive.org/web/20160423193547/https://www.cayenne-mydevices.com/resources/" rel="nofollow">several introductory videos</a> if you want to explore all the power it provides.</p>

<p>There's an <a href="https://web.archive.org/web/20160314170158/https://community.mydevices.com/" rel="nofollow">active developer community</a>, and the team behind the project are keen to find out how they can improve the app.</p>

<p>Right, I'm off to track down my missing Pi and put it to work!</p>

<iframe title="myDevices Cayenne Overview" width="620" height="349" src="https://www.youtube.com/embed/4PoYotGZ-I8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22577&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/03/fire-up-your-raspberry-pi-with-cayenne/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[BMW and the GPL]]></title>
		<link>https://shkspr.mobi/blog/2016/03/bmw-and-the-gpl/</link>
					<comments>https://shkspr.mobi/blog/2016/03/bmw-and-the-gpl/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 11 Mar 2016 12:33:53 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bmw]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[i3]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22561</guid>

					<description><![CDATA[I accidentally caused a little brouhaha last week - for which I would like to apologise.  In my blog post about BMW&#039;s unencrypted software updates, I said:  Judging from the files, it would appear that the infotainment system is made by Magneti Marelli with components by Wind River, AutoSAR, and Nvidia Tegra. Looking at the copious mentions of systemd and freedesktop it&#039;s a Linux system!  Hmmm... …]]></description>
										<content:encoded><![CDATA[<p>I accidentally caused a little brouhaha last week - for which I would like to apologise.</p>

<p>In my <a href="https://shkspr.mobi/blog/2016/02/bmw-are-sending-their-software-updates-unencrypted/">blog post about BMW's unencrypted software updates</a>, I said:</p>

<blockquote><p>Judging from the files, it would appear that the infotainment system is made by Magneti Marelli with components by Wind River, AutoSAR, and Nvidia Tegra. Looking at the copious mentions of systemd and freedesktop it's a Linux system!

</p><p><strong>Hmmm... I wonder if they're respecting the GPL...?</strong></p></blockquote>

<p>I want to make it clear that, at the time, I had no evidence to suggest that any Open Source Software was being used in my vehicle.  It was idle speculation on my part.</p>

<p>Anyway, some kind Internet stranger decided to <a href="https://gist.github.com/duncan-bayne/fc3213d4a0eabb70bb1e">fire off an email to BMW Australia demanding access to the source code</a>.  The customer service agents refused.</p>

<blockquote><p>...customer must provide the 7 digit VIN and accept the usage rights agreement. Part of the usage rights agreement states that the software is protected by copyright and BMW is the sole owner.
So in this case it is not subject to the requirements of a "Public" licence
</p><p><cite>BMW Australia</cite>
</p></blockquote>

<p>It would be an exaggeration to say "at which point all hell broke loose" - but there were some <a href="https://news.ycombinator.com/item?id=11217019">sternly worded tweets and comments condemning BMW for their abuse of Free Software</a>.</p>

<p>Here's the thing - contacting customer services like that was <em>entirely the wrong approach</em>.  Customer services aren't trained for the 0.001% of people who might be interested in an esoteric matter of legal licensing.  Crying foul because a minimum wage rep didn't understand an obscure technical reference is counter productive.</p>

<p>A quick search shows a <a href="https://web.archive.org/web/20160327100535/http://www.bmw-carit.com/open-source/">BMW Open Source site</a> which is highly active.  An email to them, or to BMW's head office, or their legal team, would have generated a far more useful reply.</p>

<p>As it happens, someone within BMW contacted me to explain where the Open Source Licences are within the vehicle.  I'll be honest, they are well hidden - and not referenced in the user manual as far as I could see - but they are there.</p>

<p>Here's proof:</p>

<iframe title="BMW i3 Open Source Licences" width="620" height="349" src="https://www.youtube.com/embed/Kal-MjsNcFQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>Now, this is a somewhat of a "<a href="http://hitchhikersguidequotes.tumblr.com/post/14333727462/mr-prosser-but-mr-dent-the-plans-have-been">beware of the leopard</a>" situation, I grant you.  But, somewhere in that mass of text is the email address you need to contact if you want copies of the code.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/03/BMW-GPL-Email-Address-.jpg" alt="BMW GPL Email Address-" width="1024" height="576" class="aligncenter size-full wp-image-22565">

<p>So, I've dropped BMW an email and will update you if/when I hear back.  <a href="https://web.archive.org/web/20190702132205/https://irclogs.thegrebs.com/debian/2015/07/30#10:14">They may not respond</a> - in which case we can heap opprobrium upon them - but let's give them a chance rather than flailing about and calling every scratch a palpable hit, eh?</p>

<p><ins datetime="2016-03-17T09:40:01+00:00">Update!</ins>
I've received a response from BMW.</p>

<blockquote class="social-embed" id="social-embed-709399460162506753" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">As a follow up to last week's blog post.<br>BMW are going to ship me a copy of the source code.<br><a href="https://shkspr.mobi/blog/2016/03/bmw-and-the-gpl/">shkspr.mobi/blog/2016/03/b…</a> <a href="https://twitter.com/edent/status/709399460162506753/photo/1">pic.x.com/kwa0wfcgcr</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/CdhLDCVW0AA-2yd.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/709399460162506753"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="3 replies" class="social-embed-meta">💬 3</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-03-14T15:23:05.000Z" itemprop="datePublished">15:23 - Mon 14 March 2016</time></a></footer></blockquote>

<p>I've sent them my details and will report back on what they send me.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22561&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/03/bmw-and-the-gpl/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Cheap BlueTooth Buttons and Linux]]></title>
		<link>https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/</link>
					<comments>https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 20 Feb 2016 18:06:40 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22463</guid>

					<description><![CDATA[Selfie sticks - like most modern inventions - are utter tosh. But they&#039;ve rapidly brought down the price of Bluetooth buttons. So who am I to complain?  Let&#039;s take the venerable AB Shutter 3 - You can find it on Amazon for around £2 including postage - or around $2 on AliExpress.  Frankly, that&#039;s stupidly cheap.    OK, let&#039;s put this to work as something other than a vanity clicker!  There are no …]]></description>
										<content:encoded><![CDATA[<p>Selfie sticks - like most modern inventions - are utter tosh. But they've rapidly brought down the price of Bluetooth buttons. So who am I to complain?</p>

<p>Let's take the venerable <a href="http://www.amazon.co.uk/gp/product/B00LQHJY0I/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00LQHJY0I&amp;linkCode=as2&amp;tag=shksprblog-21">AB Shutter 3</a> - You can find it on Amazon for around £2 including postage - or <a href="http://s.click.aliexpress.com/e/EYN7I6EEI">around $2 on AliExpress</a>.  Frankly, that's stupidly cheap.</p>

<p><a rel="nofollow" href="http://www.amazon.co.uk/gp/product/B00LQHJY0I/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00LQHJY0I&amp;linkCode=as2&amp;tag=shksprblog-21"><img border="0" src="https://images-eu.ssl-images-amazon.com/images/I/41CUzeTayML._SL250_.jpg"></a></p>

<p>OK, let's put this to work as something other than a vanity clicker!  There are no instructions which come with this, it's delivered in a little plastic bag and that's it.  Time to get hacking!</p>

<h2 id="aim"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#aim">Aim</a></h2>

<p>Once paired to a server, like the Raspberry Pi, pressing the button should run a program to <a href="https://shkspr.mobi/blog/2016/02/smart-lights-dumb-decisions/">turn on my Lifx bulbs</a>.</p>

<h2 id="cracking-it-open"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#cracking-it-open">Cracking It Open</a></h2>

<p>With the battery panel slipped off and the cell removed, it's fairly easy to open the case. Fingernails are sufficient - no screws or glue!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/AB-Shutter-3-Circuit-.jpg" alt="AB Shutter 3 Circuit-" width="1024" height="576" class="aligncenter size-full wp-image-22474"></p>

<p>It's an <a href="https://web.archive.org/web/20200924215947/http://www.airoha.com.tw/webe/html/pro/index.aspx?kind=49&amp;num=73&amp;lv=2">AIROHA AB1126A</a>.</p>

<blockquote><p>AB1126A is an optimized single-chip solution which integrates baseband and radio for wireless human input device applications especially for remote smartphone camera control. It complies with Bluetooth system version 3.0.</p></blockquote>

<p>But what happens when we <strong>ZOOM! ENHANCE!</strong>?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/24C16N-.jpg" alt="24C16N-" width="541" height="588" class="aligncenter size-full wp-image-22475">

<p>The <a href="http://www.alldatasheet.com/view.jsp?Searchword=24C16N">24C16N is a fairly generic EEPROM</a>.</p>

<p>But what's this?!?!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/AB1127A-.jpg" alt="AB1127A-" width="242" height="237" class="aligncenter size-full wp-image-22476">
The chip is listed as an AB112<strong>7</strong>A. A chip which, seemingly, doesn't exit.  Onwards!</p>

<h2 id="getting-started"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#getting-started">Getting Started</a></h2>

<p>When switched into the "on" position, the dongle is ready to pair.</p>

<p>From the Ubuntu command line:</p>

<pre><code class="language-_">$ hcitool scan
Scanning ...
   80:00:00:00:EE:E0   AB Shutter 3
</code></pre>

<p>Aha! We've found it.  What sort of device is it?</p>

<pre><code class="language-_">$ hcitool inq
Inquiring ...
   80:00:00:00:EE:E0   clock offset: 0x0acd   class: 0x002540
</code></pre>

<p>It shows up a a keyboard.  Let's connect to it and trust it.</p>

<pre><code class="language-_">$ bluez-simple-agent hci0 80:00:00:00:EE:E0
   Release
   New device (/org/bluez/794/hci0/dev_80_00_00_00_EE_E0)
$ bluez-test-device trusted 80:00:00:00:EE:E0
$ bluez-test-input connect 80:00:00:00:EE:E0
</code></pre>

<p>To check that it is seen and connected properly:</p>

<pre><code class="language-_">$ xinput
    ↳ AB Shutter 3   id=13   [slave  keyboard (3)]
</code></pre>

<p>Nice! Running <code>xinput query-state "AB Shutter 3"</code> allows us to see which keyboard keys are activated when the buttons are pressed.</p>

<p>It turns out that the iOS buttons sends Volume Up (key 123) whereas the Android button sends Enter (key 36).</p>

<h2 id="it-works-sorta"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#it-works-sorta">It works! Sorta...</a></h2>

<p>Pressing the selfie-button instantly sends the command to my computer! Well... until the button goes to sleep.  The device is powered by a  <a href="http://www.amazon.co.uk/gp/product/B000KPJ8T4/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B000KPJ8T4&amp;linkCode=as2&amp;tag=shksprblog-21">CR2032 battery</a> which, despite the power efficiencies of Bluetooth, isn't magical.</p>

<p>After a few minutes of idleness, the device goes to sleep.  Pressing any button wakes it up and repairs the connection - but then another button press is required to send a key press.  The pairing process only takes a couple of seconds, so it's not quite instant.</p>

<h2 id="make-it-do-something-useful"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#make-it-do-something-useful">Make it do something useful</a></h2>

<p>Having an external button which can increase the volume or send an enter command isn't very useful.  I want to press the button and have a program run which will (for example) <a href="https://shkspr.mobi/blog/2016/02/smart-lights-dumb-decisions/">turn on my lights</a>.</p>

<h3 id="run-a-program-when-the-bluetooth-connection-is-made"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#run-a-program-when-the-bluetooth-connection-is-made">Run a program when the Bluetooth connection is made</a></h3>

<p>Because the device goes to sleep after a few minutes of inactivity, we need a way to listen for a connection.  So, when a button is pressed for the first time, the device connects and a program is run.</p>

<p>I've half-inched the <a href="http://www.instructables.com/id/Raspberry-Pi-Bluetooth-InOut-Board-or-Whos-Hom/?ALLSTEPS">instructions from this InOut Board tutorial</a>.</p>

<p>First of all, make sure Python has the ability to work with Bluetooth:
<code>sudo apt-get install python-bluez</code></p>

<pre lang="python">#!/usr/bin/python

import bluetooth
import time

while True:
    print "Checking " + time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime())

    result = bluetooth.lookup_name('80:00:00:00:EE:E0', timeout=5)
    if (result != None):
        print "Device detected"
        # Do Something
    else:
        print "Device NOT detected"

    time.sleep(6)
</pre>

<p>With that running constantly in the background, you can perform an action whenever the device connects.</p>

<h3 id="run-a-program-when-a-button-is-pressed"><a href="https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/#run-a-program-when-a-button-is-pressed">Run a program when a button is pressed</a></h3>

<p>Right, this is where it gets tricky!  Ubuntu doesn't seem to differentiate between different keyboards attached to a device. This means you can't use <a href="http://superuser.com/questions/290115/how-to-change-console-keymap-in-linux">loadkeys to swap keys</a>, nor <a href="https://web.archive.org/web/20160326090133/http://www.fascinatingcaptain.com/howto/remap-keyboard-keys-for-ubuntu/">xkb</a>.</p>

<p>You can, however, <a href="http://superuser.com/questions/760602/how-to-remap-keys-under-linux-for-a-specific-keyboard-only">use xkbcomp to remap the buttons on a specific device</a> (<a href="https://twitter.com/stephenwing/status/701058851752300544">thanks to Stephen Wing for that tip</a>).</p>

<p>This will convert the Volume Up to <code>XF86Launch1</code> and Enter to <code>XF86Launch2</code> - those are multimedia keycodes which shouldn't be assigned to anything by default.</p>

<pre lang="bash">remote_id=$(
    xinput list |
    sed -n 's/.*AB Shutter 3.*id=\([0-9]*\).*keyboard.*/\1/p'
)
[ "$remote_id" ] || exit

mkdir -p /tmp/xkb/symbols
cat &gt;/tmp/xkb/symbols/custom &lt;&lt;\EOF
xkb_symbols "remote" {
    key <vol+>  { [ XF86Launch1 ] };
    key <rtrn>  { [ XF86Launch2 ] };
};
EOF

setxkbmap -device $remote_id -print | sed 's/\(xkb_symbols.*\)"/\1+custom(remote)"/' | xkbcomp -I/tmp/xkb -i $remote_id -synch - $DISPLAY 2&gt;/dev/null
</rtrn></vol+></pre>

<p>The script needs to be re-run every time the Bluetooth connection is re-established.  Probably best to run it on reconnect as part of the Python code above.</p>

<p>So, that remaps the inputs for that Bluetooth button.  Ok, but how do we get <code>XF86Launch1</code> to launch a program?</p>

<p>It's pretty easy to <a href="https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html">set keyboard shortcuts in the GUI</a>- but how do we do it on the command line?  Well, you can't.  There's no way to tell a shell to run a program when a specific key has been pressed.</p>

<p>So, it's back to Python and listening for the key to be pressed.  Which I have <em>no idea</em> how to do!</p>

<p>If you know how to detect multimedia keys, please leave a comment or <a href="http://stackoverflow.com/questions/35526182/multimedia-keys-in-python-linux">answer this StackOverflow question</a>.</p>

<p>Or - let me know a better, more obvious way that I'm missing!</p>

<hr>

<p><a href="http://s.click.aliexpress.com/e/EYN7I6EEI">BlueTooth buttons are available on AliExpress</a> and <a href="http://www.amazon.co.uk/gp/product/B00LQHJY0I/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00LQHJY0I&amp;linkCode=as2&amp;tag=shksprblog-21">Amazon for UK customers</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22463&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/02/cheap-bluetooth-buttons-and-linux/feed/</wfw:commentRss>
			<slash:comments>44</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Help! How do I extract 3D objects from PDFs?]]></title>
		<link>https://shkspr.mobi/blog/2016/02/help-how-do-i-extract-3d-objects-from-pdfs/</link>
					<comments>https://shkspr.mobi/blog/2016/02/help-how-do-i-extract-3d-objects-from-pdfs/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 02 Feb 2016 14:52:03 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[u3d]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22382</guid>

					<description><![CDATA[You know how the Democratic People&#039;s Republic of Korea is neither democratic, nor particularly for the people, nor a republic?  Yeah, so it turns out the &#34;Universal 3D&#34; format is pretty far from Universal!  A little backstory... The Europeana Carare Project has some gorgeous 3D scans of ancient monuments and heritage sites.  The only problem is that the 3D files are trapped inside PDFs.  Yup -…]]></description>
										<content:encoded><![CDATA[<p>You know how the Democratic People's Republic of Korea is neither democratic, nor particularly for the people, nor a republic?  Yeah, so it turns out the "Universal 3D" format is pretty far from Universal!</p>

<p>A little backstory... The <a href="https://carare.eu/en/training/3d-and-virtual-reality/">Europeana Carare Project has some gorgeous 3D scans of ancient monuments and heritage sites</a>.  The only problem is that the 3D files are trapped inside PDFs.  Yup - did you know the PDF spec supported 3D models? Me neither.</p>

<p>The only way to view these is with the Official Adobe Viewer (<a href="http://ubuntuhandbook.org/index.php/2014/10/install-adobe-reader-ubuntu-14-10/">install it on Linux following these instructions</a>).</p>

<p>This is what it looks like:</p>

<p></p><div style="width: 620px;" class="wp-video"><video class="wp-video-shortcode" id="video-22382-9" width="620" height="349" preload="metadata" controls="controls"><source type="video/mp4" src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D_Objects_in_PDF.mp4?_=9"><source type="video/webm" src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D_Objects_in_PDF.webm?_=9"><source type="video/ogg" src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D-Objects-in-PDF.ogv?_=9"><a href="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D_Objects_in_PDF.mp4">https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D_Objects_in_PDF.mp4</a></video></div><p></p>

<p>Nifty, right?</p>

<p>So, <a href="http://superuser.com/questions/758379/extract-u3d-object-from-pdf/1034179">how do we extract that 3D file</a>?</p>

<ol>
    <li><a href="http://blog.didierstevens.com/programs/pdf-tools/">Download and install the Pythong PDF Parser</a></li>
    <li>Search for the 3D object:<br><code>./pdf-parser.py -t /3D input.pdf </code></li>
    <li>You'll get a response like this:<br><pre lang="bash">obj 48 0
 Type: /3D
 Referencing: 58 0 R, 59 0 R
 Contains stream

  &lt;&lt;
    /AN 58 0 R
    /Length 6066066
    /Subtype /PRC
    /Type /3D
    /VA 59 0 R
  &gt;&gt;
</pre></li>
    <li>The Object ID (in this case 48) is what we need to extract.</li>
    <li><code>./pdf-parser.py -o 48 -d output.u3d input.pdf</code></li>
</ol>

<p>You can <a href="https://shkspr.mobi/blog/wp-content/uploads/2016/02/output.u3d.zip" rel="">download the U3D file</a>.</p>

<p>Unfortunately, <em>nothing</em> opens it.  I've tried <a href="http://sourceforge.net/p/meshlab/discussion/499532/thread/da02c8bc/">Meshlab</a>, <a href="https://www.blender.org/forum/viewtopic.php?t=17757">Blender</a>, <a href="https://github.com/FreeCAD/FreeCAD">FreeCAD</a>, <a href="http://3doc.i3dconverter.com/">i3D Converter</a>, online service <a href="https://web.archive.org/web/20160203075714/https://www.babel3d.com/">Babel3D</a>, and even Unity 3D on a Windows box.</p>

<p>Nothing!  Not a single application would recognise it - let alone convert it.</p>

<p>There is a <a href="https://github.com/ningfei/u3d">U3D library on GitHub</a> - but I'm not skilled enough to integrate it into anything.</p>

<p>I've found <a href="https://web.archive.org/web/20161121095041/https://play.google.com/store/apps/details?id=com.afanche.android.U3DViewRS">an Android app which claims to convert U3D files</a> - but it has no downloads, no reviews, and costs £6!</p>

<p>So, gentle reader, if you know of a way to extract and view 3D models from PDFs, <strong>please</strong> let me know!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22382&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/02/help-how-do-i-extract-3d-objects-from-pdfs/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D_Objects_in_PDF.mp4" length="4109537" type="video/mp4" />
<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D_Objects_in_PDF.webm" length="2237750" type="video/webm" />
<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2016/02/3D-Objects-in-PDF.ogv" length="4952088" type="video/ogg" />

			</item>
		<item>
		<title><![CDATA[How to type Emoji in Ubuntu]]></title>
		<link>https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/</link>
					<comments>https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 01 Feb 2016 12:22:02 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[emoji]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22373</guid>

					<description><![CDATA[New tech site Gadgette has a great article on how to type Emoji on Mac and Windows - but they (understandably) didn&#039;t cover Ubuntu.  So here I am to show you how.  Get The Fonts  If your computer doesn&#039;t have the requite font, install the latest version of Symbola.  Simply open up the .zip file, double click on the .ttf font, then choose &#34;Install&#34;.   Find The Character  You almost certainly have…]]></description>
										<content:encoded><![CDATA[<p>New tech site Gadgette has a <a href="https://web.archive.org/web/20160324122443/http://www.gadgette.com/2016/02/01/how-to-type-emojis-on-your-computer/">great article on how to type Emoji on Mac and Windows</a> - but they (understandably) didn't cover Ubuntu.  So here I am to show you how.</p>

<h2 id="get-the-fonts"><a href="https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/#get-the-fonts">Get The Fonts</a></h2>

<p>If your computer doesn't have the requite font, <a href="http://users.teilar.gr/~g1951d/">install the latest version of Symbola</a>.</p>

<p>Simply open up the .zip file, double click on the .ttf font, then choose "Install".
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/Symbola-Install-fs8.png" alt="Symbola Install-fs8" width="745" height="446" class="aligncenter size-full wp-image-22374"></p>

<h2 id="find-the-character"><a href="https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/#find-the-character">Find The Character</a></h2>

<p>You almost certainly have the <a href="https://wiki.gnome.org/Apps(2f)Gucharmap.html">GNU CharMap app</a> installed.  If not, run
<code>apt-get install gucharmap</code>.</p>

<p>You'll find it in "Accessories" or by running <code>charmap</code> from the terminal.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Run-fs8.png" alt="CharMap Run-fs8" width="714" height="195" class="aligncenter size-full wp-image-22375"></p>

<p>On the left hand side, you'll see a list of all the Unicode Block.  Scroll down to "Emoticons":</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Emoji-fs8.png" alt="CharMap Emoji-fs8" width="1025" height="576" class="aligncenter size-full wp-image-22377">

<p>Or "Miscellaneous Symbols"
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Misc-fs8.png" alt="CharMap Misc-fs8" width="1025" height="576" class="aligncenter size-full wp-image-22376"></p>

<p>Click on the character you want, then press <code>CTRL+C</code> to copy them to your clipboard.</p>

<p>You can also search through all the character names if you're not sure where it lives.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2016/02/CharMap-Search-fs8.png" alt="CharMap Search-fs8" width="1025" height="576" class="aligncenter size-full wp-image-22378"></p>

<p>Enjoy!</p>

<p>😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22373&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2016/02/how-to-type-emoji-in-ubuntu/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Repairing the Sercomm RC8230 PTZ Camera]]></title>
		<link>https://shkspr.mobi/blog/2015/11/repairing-the-sercomm-rc8230-ptz-camera/</link>
					<comments>https://shkspr.mobi/blog/2015/11/repairing-the-sercomm-rc8230-ptz-camera/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 12 Nov 2015 08:25:02 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bodge]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=21629</guid>

					<description><![CDATA[I&#039;ve been busy writing the definitive Sercomm Camera API documentation. (No, you need a hobby!) While doing so, I noticed that I couldn&#039;t get my Pan/Tilt/Zoom camera to... well... pan!  No lateral movement whatsoever.  It&#039;d move up and down - but its left and right movement was non-existant.  I could hear the stepper motor whirring, but it wasn&#039;t producing any movement.  Weird...  TO THE…]]></description>
										<content:encoded><![CDATA[<p>I've been busy writing the <a href="https://github.com/edent/Sercomm-API">definitive Sercomm Camera API documentation</a>. (No, <em>you</em> need a hobby!) While doing so, I noticed that I couldn't get my Pan/Tilt/Zoom camera to... well... pan!  No lateral movement whatsoever.  It'd move up and down - but its left and right movement was non-existant.  I could hear the stepper motor whirring, but it wasn't producing any movement.  Weird...</p>

<p>TO THE SCREWDRIVERS, ROBIN!</p>

<p>The Sercomm RC8230 is remarkably easy to open.  Behind 4 rubber stopper are regular cross-head screws.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/1-Back-of-Sercomm-RC8230.jpg" alt="1 Back of Sercomm RC8230" width="1024" height="733" class="aligncenter size-full wp-image-21639">

<p>The shell comes off with some light pressure - no clips!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/2-Opening-RC8230.jpg" alt="2 Opening RC8230" width="1024" height="769" class="aligncenter size-full wp-image-21638"></p>

<p>The microphone at the front is connected via a basic pin connector.  A gently tug on the plastic port and it comes off.</p>

<p>Just above the camera is the horizontal movement motor (the vertical one is inside the gimbal.)</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/3-RC8230-Horizontal-Motor.jpg" alt="3 RC8230 Horizontal Motor" width="1024" height="576" class="aligncenter size-full wp-image-21637">

<p>I undid the four larger screws around the black gimbal.  It lifts off easily - that's when I saw the problem...</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/4-RC8230-Broken-Motor.jpg" alt="4 RC8230 Broken Motor" width="1014" height="576" class="aligncenter size-full wp-image-21636">

<p>The motor should probably be attached, no?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/5-RC8230-Sheared-Motor-Housing.jpg" alt="5 RC8230 Sheared Motor Housing" width="1024" height="576" class="aligncenter size-full wp-image-21635">

<p>It would appear that the constant motion of the motor had caused the plastic to shear.  As we can see from this image of the camera gimbal.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/6-RC8230-Sheared-Camera-Housing.jpg" alt="6 RC8230 Sheared Camera Housing" width="1024" height="576" class="aligncenter size-full wp-image-21634">

<p>The stepper motor was unplugged and removed - it'll find its way into a Raspbery Pi project at some point! But now the camera was swinging loose.  How to keep it still?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/7-RC8230-Fixed-with-BluTak.jpg" alt="7 RC8230 Fixed with BluTak" width="1024" height="576" class="aligncenter size-full wp-image-21633">

<p>BluTak! Second only in usefulness to Gaffer Tape :-)
The camera was reassembled - although sadly restricted just to vertical motion.</p>

<p>Before putting it back into service, I noticed something interesting on the motherboard of the camera:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/RC8230-Wifi-Module.jpg" alt="RC8230 Wifi Module" width="1024" height="576" class="aligncenter size-full wp-image-21632">

<p>That WiFi module is... USB!  It's a dual antenna system just plugged into a standard board.</p>

<p>I removed the foam padding and pulled it out carefully - without damaging the wire antennae.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/RC8230-WiFi-USB-Module.jpg" alt="RC8230 WiFi USB Module" width="1024" height="576" class="aligncenter size-full wp-image-21631"></p>

<p>Only one thing to do - plug it in to a laptop!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/RC8230-WiFi-USB-Module-Plugged-In.jpg" alt="RC8230 WiFi USB Module Plugged In" width="1024" height="576" class="aligncenter size-full wp-image-21630">

<p>It's a "Ralink Technology, Corp. RT3072 Wireless Adapter" - a fairly common component.</p>

<p>A quick <code>dmesg</code> showed:</p>

<pre>[37597.927670] usb 2-1.2: New USB device found, idVendor=148f, idProduct=3072
[37597.927679] usb 2-1.2: Product: 802.11 n WLAN
[37597.927681] usb 2-1.2: Manufacturer: Ralink
[37597.927683] usb 2-1.2: SerialNumber: 1.0
[37598.046881] usb 2-1.2: reset high-speed USB device number 4 using ehci-pci
[37598.164195] ieee80211 phy1: rt2x00_set_rt: Info - RT chipset 3071, rev 021c detected
[37598.218612] ieee80211 phy1: rt2x00_set_rf: Info - RF chipset 0008 detected
[37598.224263] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[37598.240133] ieee80211 phy1: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[37598.240397] ieee80211 phy1: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29
</pre>

<p>So, there you have it - simple enough to investigate, but not really repairable.</p>

<p>If you've enjoyed this post, <a href="http://www.amazon.co.uk/registry/wishlist/13GFCFR2B2IX4/ref=cm_sw_r_tw_ws_jJ.iwb03Y4DWP">you can buy me something from my Amazon Wishlist</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=21629&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/11/repairing-the-sercomm-rc8230-ptz-camera/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Exporting Multitrack Surround Files in Audacity]]></title>
		<link>https://shkspr.mobi/blog/2015/07/exporting-multitrack-surround-files-in-audacity/</link>
					<comments>https://shkspr.mobi/blog/2015/07/exporting-multitrack-surround-files-in-audacity/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 28 Jul 2015 12:13:24 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[audacity]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[HowTo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=21225</guid>

					<description><![CDATA[Notes to myself!  Suppose you want to create a surround sound file using Audacity.  The app is a little obtuse, so this may clear up some confusion.  When exporting, Audacity defaults to mixing down to stereo.  You must adjust these settings: Edit → Preferences → Import/Export → Use Custom Mix    Lay out your audio.  Keep each track as mono.  You can have as many tracks as you like and then downm…]]></description>
										<content:encoded><![CDATA[<p>Notes to myself!</p>

<p>Suppose you want to create a surround sound file using Audacity.  The app is a little obtuse, so this may clear up some confusion.</p>

<p>When exporting, Audacity defaults to mixing down to stereo.  You must adjust these settings:
<code>Edit → Preferences → Import/Export → Use Custom Mix</code></p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/07/Multi-Track-Audacity-fs8.png" alt="Multi Track Audacity-fs8" width="704" height="402" class="aligncenter size-full wp-image-21228">

<p>Lay out your audio.  Keep each track as mono.  You can have as many tracks as you like and then downmix them later.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/07/Multitrack-Audacity-Tracks-fs8.png" alt="Multitrack Audacity Tracks-fs8" width="1680" height="1027" class="aligncenter size-full wp-image-21227"></p>

<p><code>File → Export</code>
If you choose a surround compatible format, like .ogg, you will be able to assign each track (on the left) to an output channel on the right.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/07/Multitracks-Audacity-Export-fs8.png" alt="Multitracks Audacity Export-fs8" width="640" height="480" class="aligncenter size-full wp-image-21226"></p>

<p>The channels don't have names - which is <em>really</em> unhelpful.  Here's how they <a href="https://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-810004.3.9">map according to the OGG Specification</a>.</p>

<pre>1 Left
2 Centre
3 Right
4 Surround Left
5 Surround Right
</pre>

<p>If you want to test it for yourself, <a href="https://shkspr.mobi/blog/wp-content/uploads/2015/07/count.ogg">here's a simple multitrack ogg</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=21225&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/07/exporting-multitrack-surround-files-in-audacity/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Running Star Wars Galactic Battlegrounds on Linux]]></title>
		<link>https://shkspr.mobi/blog/2015/01/running-star-wars-galactic-battlegrounds-on-linux/</link>
					<comments>https://shkspr.mobi/blog/2015/01/running-star-wars-galactic-battlegrounds-on-linux/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 29 Jan 2015 12:02:37 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Star Wars]]></category>
		<category><![CDATA[wine]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=20497</guid>

					<description><![CDATA[OMG! Good Old Games has the amazing Star Wars Galactic Battlegrounds available for a mere £3.99.  That was the game which introduced me &#38; my wife to collaborative gameplay, so I was incredibly excited to see it available again.  This is a brief guide to getting the game working on Linux - including multiplayer and widescreen.  I&#039;m using Ubuntu 14.04 - but the steps should be broadly similar on …]]></description>
										<content:encoded><![CDATA[<p>OMG! Good Old Games has the <em>amazing</em> <a href="http://www.gog.com/game/star_wars_galactic_battlegrounds_saga">Star Wars Galactic Battlegrounds</a> available for a mere £3.99.  That was the game which introduced me &amp; my wife to <a href="https://shkspr.mobi/blog/2009/12/when-did-you-last-beat-your-wife/" title="When Did You Last Beat Your Wife?">collaborative gameplay</a>, so I was incredibly excited to see it available again.</p>

<p>This is a brief guide to getting the game working on Linux - including multiplayer and widescreen.</p>

<p>I'm using Ubuntu 14.04 - but the steps should be broadly similar on any distro.</p>

<p>Install the <a href="https://www.winehq.org/download/ubuntu">latest version of WINE</a>.</p>

<pre>sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.7
</pre>

<p>Install the game as normal, the installer will <em>probably</em> crash at the end, ignore it.  You can now run the basic version of SWGB without any fuss.</p>

<p>I found that on quitting the game, my desktop wouldn't always revert back to to the correct resolution.  To solve this, run SWGB in a <a href="http://wiki.winehq.org/FAQ#head-dba86ae589dca54a116a3fc21f6237af45e8119c">Virtual Desktop</a> :</p>

<pre>wine explorer /desktop=name,1024x768 swgbg.exe</pre>

<p>The virtual desktop will expand and shrink depending on the resolution of the game.</p>

<p>I did find that running the virtual desktop at a lower resolution <em>occasionally</em> gave graphical glitches like this :
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/01/SWGB-Graphical-Glitch.jpg" alt="SWGB Graphical Glitch" width="800" height="627" class="aligncenter size-full wp-image-20501">
A quick restart fixed it.</p>

<h3 id="multiplayer"><a href="https://shkspr.mobi/blog/2015/01/running-star-wars-galactic-battlegrounds-on-linux/#multiplayer">Multiplayer</a></h3>

<p>To get multiplayer working, I followed <a href="https://appdb.winehq.org/objectManager.php?sClass=version&amp;iId=27459&amp;iTestingId=83088">this advice</a> and installed DirectPlay from Microsoft (you can ignore the stuff about disabling your network adapter).</p>

<pre>winetricks directplay</pre>

<p>On restarting the game, you should now be able to play across a LAN.  Our two laptops communicated quite happily over WiFi.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/01/SWGB.jpg" alt="SWGB running on Linux" width="818" height="649" class="aligncenter size-full wp-image-20500"></p>

<p>Remember, Microsoft Zone doesn't exist any more - so you'll either have to play with people on a LAN, or ask for their external IP address.  I've no idea which ports need forwarding.</p>

<h3 id="widescreen-patch"><a href="https://shkspr.mobi/blog/2015/01/running-star-wars-galactic-battlegrounds-on-linux/#widescreen-patch">Widescreen Patch</a></h3>

<p>This game was originally designed for a 4:3 screen.  If you've got a laptop or modern monitor, you'll probably want to make use of all that extra space.</p>

<p>There is a <a href="http://www.wsgf.org/forums/viewtopic.php?p=154791#p154791">Wide Screen Patch available</a>.  Follow the instructions in the .zip file to apply the patch.  Tell the game options that you want to play at 1280*1024 - this will switch it to widescreen.</p>

<p>I didn't notice any graphical glitches - but this game is over a decade old, so the graphics are quite low resolution.</p>

<p>One thing to note, if you're using the Virtual Desktop, you may find the game doesn't take over the whole screen - leaving you unable to access the lower portions.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/01/Virtal-Desktop-Overlay.jpg" alt="Virtal Desktop Overlay" width="800" height="500" class="aligncenter size-full wp-image-20502">

<p>In which case, I recommend running without the Virtual Desktop.</p>

<h2 id="gameplay"><a href="https://shkspr.mobi/blog/2015/01/running-star-wars-galactic-battlegrounds-on-linux/#gameplay">Gameplay</a></h2>

<p>It's still <strong>just as good</strong> as I remembered!  The music is epic, the voice acting is adequate, and the game mechanics are perfectly tuned.</p>

<p>Everything works well on Linux - even if it does take just a little bit of fiddling to get it right.</p>

<p>Totally worth a go for four quid. Buy it on  <a href="http://www.gog.com/game/star_wars_galactic_battlegrounds_saga">GOG.com</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=20497&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/01/running-star-wars-galactic-battlegrounds-on-linux/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Why I vertically align my code (and you should too!)]]></title>
		<link>https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/</link>
					<comments>https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 29 Nov 2014 11:23:56 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[style]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=20087</guid>

					<description><![CDATA[There was an interesting discussion on HackerNews last week about the Linux Kernel coding style.  During the discussion, I kicked off a minor holy war about whether one should vertically align code.  I&#039;m all for it!  Let me explain why.  What Is Vertical Alignment?  Take this trivial example:  int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56;  I find easier to …]]></description>
										<content:encoded><![CDATA[<p>There was an <a href="https://news.ycombinator.com/item?id=8661740">interesting discussion on HackerNews</a> last week about the <a href="https://www.kernel.org/doc/Documentation/CodingStyle">Linux Kernel coding style</a>.</p>

<p>During the discussion, I kicked off a minor holy war about <a href="https://news.ycombinator.com/item?id=8662276">whether one should vertically align code</a>.  I'm all for it!  Let me explain why.</p>

<h2 id="what-is-vertical-alignment"><a href="https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/#what-is-vertical-alignment">What Is Vertical Alignment?</a></h2>

<p>Take this trivial example:</p>

<pre>int robert_age = 32;
int annalouise_age = 25;
int bob_age = 250;
int dorothy_age = 56;</pre>

<p>I find easier to read as:</p>

<pre>int robert_age     = 32;
int annalouise_age = 25;
int bob_age        = 250;
int dorothy_age    = 56;</pre>

<p>At a glance I can see that "bob_age" is unusual.  I can easily see that everything there is an integer without having to slide my eyes around.</p>

<p>This view is not <a href="http://programmers.stackexchange.com/questions/30029/vertical-alignment-yea-or-nay">universally</a> <a href="http://www.zeyalabs.ch/posts/2013/vertical-alignment-sucks/">shared</a> - so I shall attempt to explain why <a href="https://web.archive.org/web/20150601011243/http://www.andrewewhite.net/wordpress/2010/09/24/writing-beautiful-code-vertical-alignment-coding-style/">many</a> <a href="https://web.archive.org/web/20150124055741/http://francoishill.fr/aligning-patterns-in-code/">people</a> think it is a useful style guide.</p>

<h2 id="comprehension"><a href="https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/#comprehension">Comprehension</a></h2>

<p>90% of programming is problem solving.  <a href="http://en.wikipedia.org/wiki/Ninety-ninety_rule">The other 90%</a> is understanding how the problem was solved.</p>

<p>Reading code isn't much different from reading prose.  We expect authors to explain their arguments clearly, not be overly verbose in their extraneous use of their chosen language, and 2 respect da common grmmatcal style.</p>

<p>Indeed, the Kernel coding style emphasises this heavily.  How you choose a variable name is as important as what the code does.</p>

<p>Consider the following line of code:</p>

<pre>var thinG=doIt(thestuff,MORE_sTuff); /* LOL! */</pre>

<p>Even if you deeply understood the codebase, that's not a particularly readable line of code.</p>

<pre>var totalBill = apply_tax(initialBill, taxRate);</pre>

<p>With a sensible application of naming conventions, spacing, and capitalisation, we've made the code much easier to read.  That means the poor sap who inherits our code will spend less time <em>deciphering</em> it and more time <em>understanding</em> it.</p>

<h2 id="why-use-monospace-fonts"><a href="https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/#why-use-monospace-fonts">Why Use Monospace Fonts?</a></h2>

<p>As with all good old-fashioned flamewars, there are two equally passionate sides on the monospace vs proportional font debate.</p>

<p>Some heretical scum will tell you that <a href="https://web.archive.org/web/20150124145301/https://code.google.com/p/i3project/wiki/Fonts">proportional</a> <a href="https://web.archive.org/web/20140913135726/http://nickgravgaard.com/elastictabstops/news/programming-fonts/">fonts</a> are the <a href="http://www.slant.co/topics/67/~what-are-the-best-programming-fonts">best</a> - ignore these heathens.
Others will sow your mind with discord as they argue for the eugenic <a href="https://news.ycombinator.com/item?id=4623781">purity</a> of <a href="http://blog.codinghorror.com/revisiting-programming-fonts/">proportional</a> <a href="http://programmers.stackexchange.com/questions/5473/does-anyone-prefer-proportional-fonts">fonts</a> - those poor condemned souls.</p>

<p>Ultimately, it comes down to readability.  What do you find easiest to aid your comprehension of the code?  It's why IDEs have colour schemes - so you can tell at a glance whether "foo" is a function, a constant, a variable, or a comment.  Anything which makes it quicker for you to comprehend what a block of code does is <em>a good thing!</em></p>

<p>This is one of the reasons spreadsheets are so popular.  Columns aid readability.  You can quickly scan your eyes down a column and notice if a row is significantly different to its siblings.</p>

<h2 id="we-dont-have-the-tools"><a href="https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/#we-dont-have-the-tools">We Don't Have The Tools</a></h2>

<p>Interestingly, the big criticism I faced in the HN discussion was not about whether vertical alignment is useful - but around how poor our tools are.</p>

<blockquote><p>This ruins the readability and usability of your diffs. Say you need to quickly track down a major bug due to a change in a single constant. With horizontal alignment, the diff might contain any number of changed lines, obscuring the crucial change. There are workarounds that ignore whitespace and word-based diffs, but it's just not worth the trouble IMHO.
</p><p><cite><a href="https://news.ycombinator.com/item?id=8662938">Andreas van Cranenburgh</a></cite>
</p></blockquote>

<p>...And...</p>

<blockquote><p>If you have, say, 50 lines of assignment and you align all the values to the largest one, adding one forces you to update 50 lines. I've been faced with those very situations and that is when I understood how important it is not to align values like that.
</p><p><cite><a href="https://news.ycombinator.com/item?id=8665741">scrollaway</a></cite>
</p></blockquote>

<p>Those arguments are valid - in certain contexts - but point to the need for better tooling.</p>

<p>I'm reminded of the idea of <a href="http://nickgravgaard.com/elastictabstops/">Elastic Tabstops</a> - a method to auto align code blocks:
</p><div id="attachment_20089" style="width: 403px" class="wp-caption aligncenter"><a href="http://nickgravgaard.com/elastictabstops/"><img aria-describedby="caption-attachment-20089" src="https://shkspr.mobi/blog/wp-content/uploads/2014/11/columnblocks_coloured.gif" alt="By Nick Gravgaard" width="393" height="255" class="size-full wp-image-20089"></a><p id="caption-attachment-20089" class="wp-caption-text">By Nick Gravgaard</p></div><p></p>

<p>Our tools can easily accommodate this way of working.  Computers are there to do boring and repetitive jobs for us - and CPU cycles are cheap enough to "waste" on making our code more readable.</p>

<p>There are <a href="https://github.com/torvalds/linux/blob/9a3c4145af32125c5ee39c0272662b47307a8323/net/wireless/wext-proc.c#L135">plenty</a> of <a href="https://github.com/torvalds/linux/blob/cba3b00deab5a8564d61ec18e61ba6ba82203299/include/uapi/sound/asound.h">examples</a> in the <a href="https://github.com/torvalds/linux/blob/9a3c4145af32125c5ee39c0272662b47307a8323/arch/mips/include/asm/octeon/cvmx-bootmem.h">Linux</a> <a href="https://github.com/torvalds/linux/blob/c6c9161d064d30e78904f3affe5184487493e0fc/arch/x86/kernel/cpu/common.c#L103">Kernel</a> where vertical alignment is used to make code easier for humans to parse.</p>

<p>Vertical alignment doesn't work in every context - but for quickly assessing data, its readability is unparalleled.</p>

<p>Coding is a creative medium through which we express our ideas.  If our tools make understanding those ideas more difficult, it's the tools which need to change - not us.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=20087&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2014/11/why-i-vertically-align-my-code-and-you-should-too/feed/</wfw:commentRss>
			<slash:comments>34</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Setting Up Ubuntu To Be *Just* Right]]></title>
		<link>https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/</link>
					<comments>https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 27 Nov 2014 14:28:23 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=19917</guid>

					<description><![CDATA[Recently, I set up an older MacBookPro to run Ubuntu 14.04.  As ever, these are mostly notes to myself.  You don&#039;t need to do any of these things - it&#039;s just how I prefer my set up.  Turn Off Dash Amazon Search  No one wants their dash searches going off to Amazon. In the dash, search for privacy.   Use A Proper Desktop - MATE 1.8.1  As per the instructions:  sudo apt-add-repository…]]></description>
										<content:encoded><![CDATA[<p>Recently, <a href="https://shkspr.mobi/blog/2014/11/ubuntu-on-a-macbookpro-82-running-yosemite/">I set up an older MacBookPro to run Ubuntu 14.04</a>.  As ever, these are mostly notes to myself.  You don't <em>need</em> to do any of these things - it's just how I prefer my set up.</p>

<h2 id="turn-off-dash-amazon-search"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#turn-off-dash-amazon-search">Turn Off Dash Amazon Search</a></h2>

<p>No one wants their dash searches going off to Amazon.
In the dash, search for privacy.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/11/Dash-Privacy-fs8.png" alt="Dash Privacy-fs8" width="850" height="212" class="aligncenter size-full wp-image-19922"></p>

<h2 id="use-a-proper-desktop-mate-1-8-1"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#use-a-proper-desktop-mate-1-8-1">Use A Proper Desktop - MATE 1.8.1</a></h2>

<p>As per <a href="http://community.linuxmint.com/tutorial/view/1298">the instructions</a>:</p>

<pre>sudo apt-add-repository ppa:ubuntu-mate-dev/ppa
sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop
</pre>

<p>Log out, on the login screen press the Ubuntu icon and choose "Mate Desktop".</p>

<h2 id="wobbly-windows"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#wobbly-windows">Wobbly Windows</a></h2>

<p>Because they're <em>THE BEST THING EVER!</em></p>

<pre>sudo apt-get install compizconfig-settings-manager compiz-plugins compiz libdecoration0-dev</pre>

<p>Add the following to your start-up - or just run it in the terminal</p>

<pre>compiz --replace</pre>

<p>Run ccsm and turn on all the stuff you like!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/11/Screenshot-from-2014-11-11-210100-fs8.png" alt="Screenshot from 2014-11-11 21:01:00-fs8" width="990" height="622" class="aligncenter size-full wp-image-19918">
You'll probably need the "Move" and "Window Decoration" plugins enabled.</p>

<h2 id="switcher"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#switcher">Switcher</a></h2>

<p>Activate the Slide Switcher in ccsm. You'll also <a href="https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/757197">need the "Text" plugin activated</a> in order to see window titles.</p>

<h2 id="moving-the-min-max-close-buttons-to-the-right-correct-side"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#moving-the-min-max-close-buttons-to-the-right-correct-side">Moving the Min/Max/Close Buttons to the right / correct side</a></h2>

<p>In a terminal</p>

<pre>gsettings set org.gnome.desktop.wm.preferences button-layout "menu:minimize,maximize,close"</pre>

<h2 id="edit-the-gnome-panels"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#edit-the-gnome-panels">Edit The Gnome Panels</a></h2>

<p>You need to hit CTRL+CMD or CRTL+Windows to access the edit menu if you're using Gnome. On Mate it's just a simple right click.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/11/Edit-Panels-fs8.png" alt="Edit Panels-fs8" width="357" height="177" class="aligncenter size-full wp-image-19927"></p>

<h2 id="fix-skype-indicator"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#fix-skype-indicator">Fix Skype Indicator</a></h2>

<p>If you install Skype directly (rather than from the Software Centre) you <a href="http://askubuntu.com/questions/151112/how-do-i-get-the-skype-status-icon-back-on-panel-tray">need to add a missing library</a>.</p>

<pre>sudo apt-get install sni-qt:i386</pre>

<h2 id="bigger-fonts"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#bigger-fonts">Bigger Fonts</a></h2>

<p>Install the <a href="https://apps.ubuntu.com/cat/applications/unity-tweak-tool/">Unity Tweak Tool</a>.
Bits of it will work even if you're not actually running Unity.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/11/fonts-fs8.png" alt="fonts-fs8" width="708" height="465" class="aligncenter size-full wp-image-19932"></p>

<h2 id="evolutent-vertical-mouse"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#evolutent-vertical-mouse">Evolutent Vertical Mouse</a></h2>

<p>Luckily, <a href="https://shkspr.mobi/blog/2011/06/review-evoluent-vertical-mouse-4-and-how-to-make-it-work-in-ubuntu/">I've already written a guide</a>!</p>

<h2 id="ms-4000-keyboard"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#ms-4000-keyboard">MS 4000 Keyboard</a></h2>

<p>My old guide is wrong. Follow <a href="https://askubuntu.com/questions/471802/make-the-zoom-slider-of-microsoft-natural-ergonomic-keyboard-4000-and-7000-scrol/473823#473823">this guide from AskUbuntu</a>.</p>

<pre>sudo nano /etc/udev/hwdb.d/61-keyboard-local.hwdb</pre>

<p>Add these lines:</p>

<pre>keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_0c022d=pageup
 KEYBOARD_KEY_0c022e=pagedown
</pre>

<p>Recompile the hwdb that udev uses:</p>

<pre>sudo udevadm hwdb --update</pre>

<p>Reboot.  It should work anywhere that pgup/pgdn works.</p>

<h1 id="apps"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#apps">Apps</a></h1>

<h2 id="pngquant"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#pngquant">pngquant</a></h2>

<p>The best way to reduce filesize on the command line.</p>

<pre>sudo apt-get install pngquant</pre>

<h2 id="single-window-gimp"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#single-window-gimp">Single Window GiMP</a></h2>

<p>I'm not a PhotoShopSnob - GiMP is fine for me. But I prefer the Single Window mode.</p>

<pre>sudo apt-get install gimp</pre>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/11/gimp-single-window-fs8.png" alt="gimp single window-fs8" width="967" height="237" class="aligncenter size-full wp-image-19921">

<h2 id="balsamiq"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#balsamiq">Balsamiq</a></h2>

<p>As per these <a href="http://www.ipreferjim.com/2014/04/install-balsamiq-ubuntu-14-04/">Air Installation instructions</a>:
Install the dependencies:</p>

<pre>sudo apt-get install gtk2-engines:i386 libart-2.0-2:i386 libcairo2:i386 libcanberra-gtk0:i386 libdatrie1:i386 libgail-common:i386 libgconf2-4:i386 libgtk2.0-0:i386 liblua5.1-0:i386 libpango1.0-0:i386 libpixman-1-0:i386 libqt4-network:i386 libqt4-test:i386 libqtcore4:i386 libthai0:i386 libbonobo2-0:i386 libglade2-0:i386 libgnomecanvas2-0:i386 libidl0:i386 liborbit2:i386 libwmf0.2-7:i386 gtk2-engines-murrine:i386 libxml2:i386 libxslt1.1:i386 libxt6:i386 lib32nss-mdns libnspr4-0d:i386 libnss3-1d:i386 gnome-keyring gdebi gdebi-core</pre>

<p>Fix <a href="http://www.leniwiec.org/en/2014/04/25/how-to-install-adobe-air-on-64bit-ubuntu-14-04lts/">the missing keyring</a></p>

<pre>sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0 /usr/lib/libgnome-keyring.so.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libgnome-keyring.so.0.2.0 /usr/lib/libgnome-keyring.so.0</pre>

<p><a href="http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin">Download the latest (and last) Adobe Air</a>.</p>

<pre>chmod +x AdobeAIRInstaller.bin
./AdobeAIRInstaller.bin</pre>

<p>Finally, grab the <a href="https://balsamiq.com/download/#dlin">64 bit Balsamiq installer</a>.</p>

<h2 id="record-skype-calls"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#record-skype-calls">Record Skype Calls</a></h2>

<p>It's as easy as <a href="http://atdot.ch/scr/download/">installing Skype Call Record 0.1 for Ubuntu</a>.</p>

<h2 id="sublime-text-2"><a href="https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/#sublime-text-2">Sublime Text 2</a></h2>

<pre>sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text
</pre>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=19917&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2014/11/setting-up-ubuntu-to-be-just-right/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
