<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[chealion.ca]]></title><description><![CDATA[WORDS. On the internet. Oh my.]]></description><link>https://chealion.ca/</link><generator>Ghost 0.8</generator><lastBuildDate>Tue, 29 Nov 2016 06:30:38 GMT</lastBuildDate><atom:link href="https://chealion.ca/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Using CloudFlare as a v6 to v4 Bridge]]></title><description><![CDATA[<p>CloudFlare offers the ability for you to turn on CDN caching and present your service to the public without requiring a public IPv4 address (so long as you have a publicly accessible v6 address) To turn it on, add the DNS entry to your domain on CloudFlare, and then turn</p>]]></description><link>https://chealion.ca/2016/07/09/using-cloudflare-as-a-v6-to-v4-bridge/</link><guid isPermaLink="false">81597735-f4bc-46be-83d7-f4bb1cb17111</guid><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Sat, 09 Jul 2016 06:45:08 GMT</pubDate><content:encoded><![CDATA[<p>CloudFlare offers the ability for you to turn on CDN caching and present your service to the public without requiring a public IPv4 address (so long as you have a publicly accessible v6 address) To turn it on, add the DNS entry to your domain on CloudFlare, and then turn on the caching service (Coloured in logo)</p>

<p><img src="https://chealion.ca/content/images/2016/07/CloudFlare.png" alt="Alt text"></p>

<p>The caveats with the CDN are the same as if you had a v4 address; only <a href="https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-CloudFlare-work-with-">certain ports</a> (eg. 80, 8080, 443 , 8443, etc.) work. The output from your server is cached/proxied via CloudFlare's CDN servers. So it's not a full fix; eg. no port 22 to ssh in, but for running a web/http based service can be quite useful.</p>]]></content:encoded></item><item><title><![CDATA[SSH Key Types and Cryptography: The Short Notes]]></title><description><![CDATA[<p>On nearly all current (&lt; 3 years old) operating systems there are 4 different types of SSH key types available - both as a client's key and the host key:</p>

<ul>
<li>DSA (No longer allowed by default in OpenSSH 7.0+)</li>
<li>RSA</li>
<li>ECDSA (OpenSSH 5.7+)</li>
<li>ed25519 (OpenSSH 6.5+)</li>
</ul>

<p>So</p>]]></description><link>https://chealion.ca/2016/06/20/ssh-key-types-and-cryptography-the-short-notes/</link><guid isPermaLink="false">c48251bb-acfe-4140-a586-b5fd7399dba7</guid><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Mon, 20 Jun 2016 18:41:23 GMT</pubDate><content:encoded><![CDATA[<p>On nearly all current (&lt; 3 years old) operating systems there are 4 different types of SSH key types available - both as a client's key and the host key:</p>

<ul>
<li>DSA (No longer allowed by default in OpenSSH 7.0+)</li>
<li>RSA</li>
<li>ECDSA (OpenSSH 5.7+)</li>
<li>ed25519 (OpenSSH 6.5+)</li>
</ul>

<p>So which one to use?</p>

<p>In general, the best practice preference is to use ed25519 if possible, otherwise use RSA (4096 bits) due to mistrust of NIST's curve for ECDSA. Which key is chosen/created is managed by <code>HostKeyAlgorithms</code> in <code>sshd.conf</code>, and when you create a client key by running <code>ssh-keygen</code>. So what about the other parts of an SSH connection, and can I use an ed25519 key anywhere?</p>

<p>The key types are just one portion of an SSH connection; authentication. SSH connections have three major cryptographic phases, the key exchange, the authentication, followed by the negotiated symmetric encryption used by the rest of the connection. (If you want more detail, check out <a href="https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process">Digital Ocean</a> or <a href="http://www.cisco.com/c/en/us/about/press/internet-protocol-journal/back-issues/table-contents-46/124-ssh.html">Cisco's</a> explanations.)</p>

<p>Unlike the SSH key type, the ciphers and key exchange are decided on between <code>sshd</code> and <code>ssh</code> depending on their feature set and what is defined in their config files.</p>

<p>If you're running OpenSSH 6.3 or newer you can see what algorithms are supported by running one of the three commands: <code>ssh -Q [cipher|mac|kex]</code>, or read <code>man ssh_config</code>. </p>

<h4 id="keyexchange">Key Exchange</h4>

<p>A glossed over version of the key exchange, has the client and the server share some information (eg. public keys) and use the Diffie-Hellman algorithm with a decided curve to set up the cipher (symmetric key) and the MAC (message authentication code to confirm validity) to be used for the rest of the connection.</p>

<p>Mozilla's recomended list of kex choices to use (specify in sshd_config) per their <a href="https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29">wiki</a> is a great starting point. The summary being anything at least with a sha256 confirmation helps.</p>

<h4 id="encryption">Encryption</h4>

<p>The symmetric key created during the key exchange step is now used to encrypt and decrypt the rest of the connection.</p>

<p><a href="https://wiki.mozilla.org/Security/Guidelines/OpenSSH#Modern_.28OpenSSH_6.7.2B.29">Mozilla's wiki</a> again lists the most recommended ciphers and MACs with the new chacha20-poly1305 being the first on the list.</p>

<h4 id="keytypereference">Key Type Reference</h4>

<table>  
<tr>  
<th>OS</th>  
<th>OpenSSH</th>  
<th>Type</th>  
</tr>  
<tr>  
<td>Ubuntu 12.04</td>  
<td>5.9</td>  
<td>dsa,rsa,ecdsa</td>  
</tr>  
<tr>  
<td>Ubuntu 14.04</td>  
<td>6.6</td>  
<td>dsa,rsa,ecdsa,ed25519</td>  
</tr>  
<tr>  
<td>Ubuntu 16.04</td>  
<td>7.2</td>  
<td>dsa*,rsa,ecdsa,ed25519</td>  
</tr>  
<tr>  
<td>Fedora 23</td>  
<td>7.1</td>  
<td>dsa*,rsa,ecdsa,ed25519</td>  
</tr>  
<tr>  
<td>CentOS 7</td>  
<td>6.4</td>  
<td>dsa,rsa,ecdsa</td>  
</tr>  
<tr>  
<td>Mac OS X 10.11 (El Capitan)</td>  
<td>6.9</td>  
<td>dsa,rsa,ecdsa,ed25519</td>  
</tr>  
<tr>  
<td>macOS 10.12 (Sierra DP)</td>  
<td>7.2</td>  
<td>dsa*,rsa,ecdsa,ed25519</td>  
</tr>  
<tr>  
<td>Cmder</td>  
<td>7.1</td>  
<td>dsa*,rca,edsa,ed25519</td>  
</tr>  
<tr>  
<td>Window 10 (14342)</td>  
<td>6.6.1</td>  
<td>dsa,rsa,ecdsa,ed25519</td>  
</tr>  
<tr>  
<td>PuTTY</td>  
<td>N/A</td>  
<td>dsa,rsa,ecdsa[1],ed25519[1]</td>  
</tr>  
</table>

<p><code>*</code> - disabled by default for <code>sshd</code> <br>
1 - PuTTY stable only supports dsa and rsa but the latest development snapshots support <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/ecdsa.html">ecdsa</a> and <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/ed25519.html">ed25519</a>.</p>

<h4 id="tldr">TL;DR</h4>

<p>Unless you're using CentOS 6 or Ubuntu 12.04, use ed25519 keys and Mozilla's config files to limit the preferred connection ciphers.</p>

<h4 id="otherresourcelinks">Other Resource Links</h4>

<p><a href="http://www.openssh.com/legacy.html">http://www.openssh.com/legacy.html</a></p>]]></content:encoded></item><item><title><![CDATA[What's calgary.bike?]]></title><description><![CDATA[<p>On <a href="https://twitter.com/yycbike_count/status/585944812303417344">April 8th</a> I stopped redirecting <a href="https://calgary.bike">calgary.bike</a> to <a href="http://bikecalgary.org">Bike Calgary</a>[1] to start showing off the aggregated data that I was pulling together from the 3 <a href="http://www.eco-counter.com/">Eco-Counter</a> installations. With the <a href="https://github.com/chealion/yycbike">source on GitHub</a>, I thought it'd be worth explaining a little of the why and how.</p>

<p>At the start</p>]]></description><link>https://chealion.ca/2015/04/18/whats-calgary-bike/</link><guid isPermaLink="false">4647cd30-0a21-4c65-8f95-a9980a40547d</guid><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Sat, 18 Apr 2015 21:10:48 GMT</pubDate><content:encoded><![CDATA[<p>On <a href="https://twitter.com/yycbike_count/status/585944812303417344">April 8th</a> I stopped redirecting <a href="https://calgary.bike">calgary.bike</a> to <a href="http://bikecalgary.org">Bike Calgary</a>[1] to start showing off the aggregated data that I was pulling together from the 3 <a href="http://www.eco-counter.com/">Eco-Counter</a> installations. With the <a href="https://github.com/chealion/yycbike">source on GitHub</a>, I thought it'd be worth explaining a little of the why and how.</p>

<p>At the start of January, the City of Calgary made public the web page for bike counter on the <a href="http://www.eco-public.com/public2/?id=100018487">Peace Bridge</a> with promises of making more available including at least 10 more during the upcoming cycle track pilot. The Peace Bridge counter had data stretching back to April 24th, 2014 and by default was always showing the entire daily data set.</p>

<p>My first curiousity was whether I can could have a bookmark to just show the last week or so worth of numbers which led me to figuring out <a href="http://pastebin.com/kKa5cAQV">how the webapp worked</a>. (Good ol' WebKit developer tools)</p>

<p>After that in tandem with some projects I was looking into for work I decided to start seeing about scrapping the data and storing it somewhere to compare numbers (different installations, averages, weather) more easily. So a big thank you for the people at the City and Eco-Counter for not telling me to "get lost and don't use things inappropriately".</p>

<p>As for how - the Python scripts just ask Environment Canada and the counters once a day for their last day's worth of new data (if possible) and store it in Graphite. Interacting with the data is Grafana 2 behind nginx. All hosted on a tiny instance on some <a href="http://www.cybera.ca/projects/cloud-resources/rapid-access-cloud/">publicly available free compute resources</a> that I just happen to also manage as part of my day job. Funnily, most of the script writing was done during an all nighter at a Denny's in Kamloops waiting for 4 AM to roll around so I could swap some power cables in a maintenance window.</p>

<p>It's nothing fancy but it's fun to see what might come of it when data is made available.</p>

<p>1 - I had registered the domain last year and figured that was a good place to point until I had a better idea of how to use it.</p>]]></content:encoded></item><item><title><![CDATA[Trying to make sense of when to use Docker vs. LXC]]></title><description><![CDATA[<p>While working on some side projects the past couple weeks I kept confusing myself on how things worked behind the scenes between <a href="https://chealion.ca/2014/06/10/making-sense-of-when-to-use-docker-vs-lxc/link">Linux Containers</a> and <a href="http://docker.io">Docker</a>. They both leverage the Linux kernel's <a href="http://en.wikipedia.org/wiki/Cgroups">cgroups</a> to function on Linux (and in Docker's case - similiar technologies in other OSes), but differ completely</p>]]></description><link>https://chealion.ca/2014/06/10/making-sense-of-when-to-use-docker-vs-lxc/</link><guid isPermaLink="false">5058fd1a-ef74-49c8-844d-339b8fbfec5c</guid><category><![CDATA[work]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Tue, 10 Jun 2014 19:36:58 GMT</pubDate><content:encoded><![CDATA[<p>While working on some side projects the past couple weeks I kept confusing myself on how things worked behind the scenes between <a href="https://chealion.ca/2014/06/10/making-sense-of-when-to-use-docker-vs-lxc/link">Linux Containers</a> and <a href="http://docker.io">Docker</a>. They both leverage the Linux kernel's <a href="http://en.wikipedia.org/wiki/Cgroups">cgroups</a> to function on Linux (and in Docker's case - similiar technologies in other OSes), but differ completely in terms of how you interact with them.</p>

<p>While Linux Containers can best be thought of a super lightweight VM to run a whole VM, Docker contains a slew of other features that blur the lines between it acting like a super lightweight VM and being a full platform to build off of. Docker plays closer to the idea of a process/group of processes (application) under a chroot versus LXC's idea of a whole OS/machine in a chroot jail.</p>

<p>So it's misleading to think of a Docker container the same way as a LXC container. Same technology behind the scenes but completely different approaches. For Docker it's all in how you set up your container to run - you can have all the other services you normally get in a VM if you so wish.</p>

<p>For example with LXC setting up MySQL would consist of making the container, running the command to install MySQL and setting the service to go. You can then log in or attach and run other commands as well if necessary.</p>

<p>Docker on the other hand involves similar steps with the flexibility of having Docker do the install and run the service when the container starts (defined in the Dockerfile). However if you want to attach to that container and run more commands you have to have set access to do that up ahead of time (eg. supervisord, runit), create a new container with that command, or try and force your way into the container. (you can try lxc-attach but if you want a new TTY and you're attaching to a <code>mysqld</code> instance? Not going to work)</p>

<p>After figuring that out - the use of Puppet in Docker started to make more sense. Have Puppet configure your image and then save/commit that state or kick off the supervisord process to keep the container "alive". Docker lends itself more to recreating/iterating whenever a new update is needed over updating settings.</p>

<p>In summary - LXC container is analagous to a VM, while Docker a very supercharged sandbox for running a process or group of processes. Use LXC when you're wanting a separate "server" without the extra overhead, Docker when you're wanting to run a "service".</p>

<p>I also recommend reading the <a href="https://docs.docker.com/faq/">FAQ</a> - primarily the what Docker "adds to LXC". In the end it's left me more leery of using Docker - it's a bit of a paradigm shift I'm not ready to do just yet.</p>

<p>On one last sidenote, IPv6 support also looks like a lot of pain - but not any worse than LXC.</p>]]></content:encoded></item><item><title><![CDATA[IPv6 and Systems]]></title><description><![CDATA[<p>Last Monday I was part of a team presenting a workshop at BCNET's 2014 conference about <a href="https://wiki.bc.net/atl-conf/display/BCNETCONF2014/Configuring+IPv6+for+Networks+and+Systems">Configuring IPv6 for Networks and Systems</a>. The network walkthrough and slides put together by BCNET are available on their wiki while the Systems portion I worked has the slides and workshop examples on <a href="http://github.com/cybera/ipv6-workshop">Github</a></p>]]></description><link>https://chealion.ca/2014/05/04/ipv6-and-systems/</link><guid isPermaLink="false">3acec636-a8b4-4078-a4c6-0bb1180bff40</guid><category><![CDATA[presentation]]></category><category><![CDATA[work]]></category><category><![CDATA[ipv6]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Sun, 04 May 2014 23:23:51 GMT</pubDate><content:encoded><![CDATA[<p>Last Monday I was part of a team presenting a workshop at BCNET's 2014 conference about <a href="https://wiki.bc.net/atl-conf/display/BCNETCONF2014/Configuring+IPv6+for+Networks+and+Systems">Configuring IPv6 for Networks and Systems</a>. The network walkthrough and slides put together by BCNET are available on their wiki while the Systems portion I worked has the slides and workshop examples on <a href="http://github.com/cybera/ipv6-workshop">Github</a>.</p>

<p>Thanks to everyone who came out.</p>]]></content:encoded></item><item><title><![CDATA[Moving to Ghost]]></title><description><![CDATA[<p>Alongside changing hosts (moving from TextDrive to my own VPS), adding IPv6 support for my websites and taking far too long to do it I've also swapped WordPress for Ghost. Slightly involved installation but much nicer. Most importantly no comment spam.</p>]]></description><link>https://chealion.ca/2014/02/18/moving-to-ghost/</link><guid isPermaLink="false">5baf07a1-3b82-4f4c-81c4-55fa4cb1b7f1</guid><category><![CDATA[webhosting]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Tue, 18 Feb 2014 05:21:02 GMT</pubDate><content:encoded><![CDATA[<p>Alongside changing hosts (moving from TextDrive to my own VPS), adding IPv6 support for my websites and taking far too long to do it I've also swapped WordPress for Ghost. Slightly involved installation but much nicer. Most importantly no comment spam.</p>]]></content:encoded></item><item><title><![CDATA[Quick and Dirty: Disabling Firefox's Updates with a CCK]]></title><description><![CDATA[<p>With Firefox's new 6 week major release cycle combined with the fact Firefox won't silently update to major versions like Chrome I got a lot of complaints about Firefox always asking for an update.</p>

<p>NOTE: THE BELOW DOES NOT WORK WHEN UPDATING TO FIREFOX 8+.</p>

<p>Unfortunately Firefox doesn't deal with</p>]]></description><link>https://chealion.ca/2011/09/21/quick-and-dirty-disabling-firefoxs-updates-with-a-cck/</link><guid isPermaLink="false">c293b4a0-ea35-4166-9d65-052827689c17</guid><category><![CDATA[firefox]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Wed, 21 Sep 2011 16:12:45 GMT</pubDate><content:encoded><![CDATA[<p>With Firefox's new 6 week major release cycle combined with the fact Firefox won't silently update to major versions like Chrome I got a lot of complaints about Firefox always asking for an update.</p>

<p>NOTE: THE BELOW DOES NOT WORK WHEN UPDATING TO FIREFOX 8+.</p>

<p>Unfortunately Firefox doesn't deal with plist files like most other Mac apps (part of it's cross platform nature) so MCX isn't an option. However you can manage Firefox by either editing the Application file itself (annoying) or by installing a global browser customization extension (easy).</p>

<p>If you want to low down on this and to also stand on the shoulders of giants; read Greg Neagle's posts about customizing Firefox:</p>

<ul>
<li><a href="http://managingosx.wordpress.com/2008/08/18/firefox-default-settings/">Firefox Default Settings</a></li>
<li><a href="http://managingosx.wordpress.com/2010/01/11/firefox-default-settings-revisited/">Firefox Default Settings Revisited</a></li>
<li><a href="http://managingosx.wordpress.com/2010/01/13/firefox-global-extensions/">Firefox Global Extensions</a></li>
<li><a href="http://managingosx.wordpress.com/2010/07/02/more-firefox-customization/">More Firefox Customization</a></li>
<li><a href="http://managingosx.wordpress.com/2010/10/06/firefox-global-extensions-again/">Firefox global extensions, again</a></li>
</ul>

<p>The quick and dirty steps to disable updates:</p>

<ol>
<li>Install the Firefox Client Customization Kit: <a href="https://addons.mozilla.org/en-US/firefox/addon/2553/">https://addons.mozilla.org/en-US/firefox/addon/2553/</a></li>
<li>Launch the CCK Wizard from the Tools menu</li>
<li>Create a new configuration</li>
<li>Follow the Wizard through to the Customize Preferences section (the 12th or 13th screen). Be sure to remember the Unique ID (first screen) you gave the extension.</li>
<li>Add both the app.update.enabled and app.update.autoUpdateEnabled keys and set them to false. I also lock these preferences because I update the applications using <a href="http://code.google.com/p/munki/">munki</a></li>
<li>Save your CCK .xpi. The next extra steps involved here are so the user is not prompted to install the .xpi to their local extension folder when they launch Firefox. (I figured this out on my own and then noticed it was in the <a href="http://managingosx.wordpress.com/2010/07/02/more-firefox-customization/#comment-10172">comments</a> on the More Firefox Customization post and even has it's own <a href="http://managingosx.wordpress.com/2010/10/06/firefox-global-extensions-again/">post</a>.)</li>
<li>Install the .xpi file it creates on your local profile (should just be able to double click on it or just drag it onto Firefox).</li>
<li>Go to your local Profile's extension folder (<code>~/Library/Application Support/Firefox/Profiles/SOMETHING/extensions</code>)</li>
<li>Find the folder that corresponds to the Unique ID you gave it on the first screen of the CCK. In my case it was an email address.</li>
<li>Copy that folder to <code>/Library/Application Support/Mozilla/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</code> (where global extensions are stored)</li>
<li>Open up Firefox and test to see if it is installed (check the Extensions loaded or if you used that menu item see if it exists)</li>
<li>Read Greg Neagle's post on <a href="http://managingosx.wordpress.com/2010/07/02/more-firefox-customization/">More Firefox Customization</a> for more details.</li>
</ol>

<p>That folder you copied to the Global Extensions Folder can now be distributed to all your computers that need the CCK applied; either as a package (ideal) or using Remote Desktop.</p>

<p>Of note, extra things I like to do are to disable the welcome and upgrade pages, and add an item for our home page to the Help menu (also helps verify the extension is working) but I do allow users to disable the CCK if need be (though I've yet to know one to care enough to do so)</p>]]></content:encoded></item><item><title><![CDATA[Calgary FCPUG: Outputting to Blu-ray, DVD and the Web]]></title><description><![CDATA[<p>I've now uploaded the slides from the talk I gave to the Calgary FCPUG about outputting to Blu-ray, DVD and the Web. You can grab them from the following link:</p>

<p><a href="http://chealion.ca/content/images/preghost/OutputBDDVDWeb.pdf">http://chealion.ca/content/images/preghost/OutputBDDVDWeb.pdf</a></p>

<p>I do have an audio recording of the first presentation I've given</p>]]></description><link>https://chealion.ca/2011/03/11/calgary-fcpug-outputting-to-blu-ray-dvd-and-the-web/</link><guid isPermaLink="false">012eec86-34c7-4c4c-8210-ea38e02976d2</guid><category><![CDATA[calgary]]></category><category><![CDATA[fcpug]]></category><category><![CDATA[presentation]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Sat, 12 Mar 2011 00:23:13 GMT</pubDate><content:encoded><![CDATA[<p>I've now uploaded the slides from the talk I gave to the Calgary FCPUG about outputting to Blu-ray, DVD and the Web. You can grab them from the following link:</p>

<p><a href="http://chealion.ca/content/images/preghost/OutputBDDVDWeb.pdf">http://chealion.ca/content/images/preghost/OutputBDDVDWeb.pdf</a></p>

<p>I do have an audio recording of the first presentation I've given since high school but have yet had a chance to listen and edit it as necessary.</p>

<p>I hope everyone found it useful.</p>]]></content:encoded></item><item><title><![CDATA[Using Gmail as your SMTP server When Using your ISP's Email]]></title><description><![CDATA[<p>NOTE: You're going to be using Google's service to send the email but for all intents and purposes it's completely transparent to both you and your recipient. It's also a world lot better than using some random SMTP server (having to find out the local one and always change it)</p>]]></description><link>https://chealion.ca/2011/01/22/using-gmail-as-your-smtp-server-when-using-your-isps-email/</link><guid isPermaLink="false">10a07104-5fab-470d-a003-c4ed416cee11</guid><category><![CDATA[gmail]]></category><category><![CDATA[mail]]></category><category><![CDATA[smtp]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Sat, 22 Jan 2011 15:07:22 GMT</pubDate><content:encoded><![CDATA[<p>NOTE: You're going to be using Google's service to send the email but for all intents and purposes it's completely transparent to both you and your recipient. It's also a world lot better than using some random SMTP server (having to find out the local one and always change it) or finding all your email you sent doesn't even arrive in your recipient's inbox because it's been marked as spam because of the server used. I'd recommend looking for an IMAP host instead for the long run.</p>

<p>For brevity I'm leaving out the exact steps to hook this up with your favourite mail client but you can find that out fairly easily as it's only changing the SMTP server (or check my <a href="http://chealion.ca/2011/01/hooking-up-with-shaws-new-remote-smtp-service/">post about setting up Shaw's SMTP service</a>) and change <code>mail.shaw.ca</code> to <code>smtp.gmail.com</code> and using your Google login instead of say Shaw's in the section about changing your SMTP server).</p>

<ol>
<li>Set up a Google Account. If you have one you're good to go.</li>
<li>Log into Gmail</li>
<li>Go to Settings (link is in the top right)</li>
<li>Go to Accounts and Import</li>
<li>Under "Send mail as:" section click "Send mail from another address"</li>
<li>Enter your email address you want to use (eg. <a href="mailto:username@shaw.ca">username@shaw.ca</a>) and press Next</li>
<li>Choose to use Gmail's servers, press Next and choose Send Verification</li>
<li>Click on the link in the verification email. This will verify the email address so you can move onto step 9. You may need to check your Junk Mail folder.</li>
<li>Back at the "Send mail as" section (you may need to refresh the browser) click the "make default" link for the email address you set up and be sure that below it "Always reply from default address" is selected.</li>
<li>Now be sure to change your SMTP settings on your computer/mobile device accordingly. This varies from device to device as to the steps but is the most important step. If not set correctly (eg. not turning off other SMTP servers on an iOS device) will make everything we've done for naught.</li>
<li>Send an email to yourself to test and reply to it and make sure it gets to the right address. The only times I've ever seen an error here is if the SMTP wasn't set up correctly, step 9 wasn't followed or the carrier's SMTP server was enabled again (yes it's repeated because it accounts for 99% of errors I've seen).</li>
</ol>

<p>Not difficult, but something I can grab when writing an email on how to do it. :-)</p>]]></content:encoded></item><item><title><![CDATA[Hooking Up with Shaw's New "Remote SMTP" Service]]></title><description><![CDATA[<p>Update (February 2012 - Webmail 2.0 is completely up with all it's Exchange goodness - so check out <a href="http://shaw.ca/Support/Internet/Webmail-20/Webmail-20-Setup/Synchronize-Your-iPhone-iPad/">Shaw's new instructions</a> )</p>

<p>Please join me in welcoming Shaw's new feature of actually allowing Shaw email users to send email while travelling without resorting to webmail or trying to find the</p>]]></description><link>https://chealion.ca/2011/01/22/hooking-up-with-shaws-new-remote-smtp-service/</link><guid isPermaLink="false">d5b88a9f-db0a-4ef9-9c4e-fd6cb204fcd2</guid><category><![CDATA[mail]]></category><category><![CDATA[shaw]]></category><category><![CDATA[smtp]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Sat, 22 Jan 2011 14:46:50 GMT</pubDate><content:encoded><![CDATA[<p>Update (February 2012 - Webmail 2.0 is completely up with all it's Exchange goodness - so check out <a href="http://shaw.ca/Support/Internet/Webmail-20/Webmail-20-Setup/Synchronize-Your-iPhone-iPad/">Shaw's new instructions</a> )</p>

<p>Please join me in welcoming Shaw's new feature of actually allowing Shaw email users to send email while travelling without resorting to webmail or trying to find the local ISP's SMTP server address (or seeing that Telus' mobile SMTP server is blacklisted AGAIN marking all your email as spam). This is of course ignoring that I don't recommend anyone actually use their ISP provided email address but instead use something a bit more dedicated like your own domain or an actual email service. It's still better than an AOL address.</p>

<p>Previously I'd been setting clients up to use a Gmail account as their proxy sending address when they have a Shaw or Telus email address - this makes it easier for Shaw clients. It's also a lot simpler than the Gmail approach (which I have yet to post here).</p>

<h3 id="colesnotes">Coles Notes</h3>

<ol>
<li>Turn on Mobile Access using the new Webmail beta: <a href="https://wmbeta.shaw.ca/">https://wmbeta.shaw.ca</a></li>
<li>Change your SMTP settings to point to mail.shaw.ca using port 587, STARTTLS, and use your username and password as the authentication</li>
</ol>

<h3 id="moreelaborateinstructions">More elaborate instructions</h3>

<p>Setting Up Shaw's End:</p>

<ol>
<li>Sign into <a href="https://wmbeta.shaw.ca">https://wmbeta.shaw.ca</a></li>
<li>Click on Preferences (right side of screen - it&rsquo;s a text link beside Feedback)</li>
<li>Click on the &lsquo;tab&rsquo; that says &lsquo;Mobile Access&rsquo;</li>
<li>Set it to Enabled (click the radio button beside it)</li>
<li>You may need to change your password to meet their new security requirements.</li>
<li>Press Save. It will say &ldquo;Preferences saved&rdquo; in a small yellow box at the top of the page if it&rsquo;s successful.</li>
</ol>

<p>Thunderbird:</p>

<ol>
<li>Go to the Tools menu and choose Account Settings</li>
<li>On the left side on that window click on &ldquo;Outgoing Server (SMTP)&rdquo;. You may need to scroll as it&rsquo;s always the last item.</li>
<li>There should be an item associated with the Shaw account you just turned on. Whichever account you turned on Mobile Access for and click on it and then click the button that says &ldquo;Edit...&rdquo;</li>
<li>In the window that appears change the server name to <code>mail.shaw.ca</code> instead of <code>shawmail</code> or <code>shawmail.cg.shawcable.net</code> that it was set to. The port number should be changed from 25 to 587 and the Connection Security to STARTTLS. Authentication: Normal password and then enter your username</li>
<li>Press OK</li>
<li>If you did not change your password when setting up Shaw then press OK and you&rsquo;re done. If you did change your password when setting up Mobile Access the next time you check email it will ask you for a new password and you can enter it.</li>
</ol>

<p>Mail.app:</p>

<ol>
<li>Go to the Preferences and click on the Accounts section</li>
<li>Click on your Shaw account on the left side</li>
<li>Where it says Outgoing Mail Server (SMTP): click on the drop down menu and choose "Edit SMTP Server List".</li>
<li>Find the Shaw SMTP server in that list  and click on it.</li>
<li>Change Server Name to <code>mail.shaw.ca</code></li>
<li>Click on the Advanced tab</li>
<li>Check off Use Secure Sockets Layer</li>
<li>Change the Authentication drop down menu to Password</li>
<li>Enter your username and password and then press OK.</li>
<li>Close the accounts preferences window and say yes to saving it if necessary.</li>
</ol>

<p>Shaw's already provided instructions on setting up an account anew for iOS, Android and Blackberry devices: <a href="https://wmbeta.shaw.ca/doc/offnet-device-instructions.html">https://wmbeta.shaw.ca/doc/offnet-device-instructions.html</a></p>]]></content:encoded></item><item><title><![CDATA[Using AWStats 7.0 with S3 Logs]]></title><description><![CDATA[<p>The necessary code changes from <a href="http://aws.amazon.com/articles/2330?_encoding=UTF8&amp;jiveRedirect=1">Amazon's Tutorial on using AWStats with S3 Logs</a> take place at line 17,764 with version 7.0 and not 10,657.</p>

<p>The hint? Just do a search for <code># HTTP request. Keep only GET, POST, HEAD</code> for any version of AWStats.</p>

<p>Of note, as of</p>]]></description><link>https://chealion.ca/2010/12/21/using-awstats-7-0-with-s3-logs/</link><guid isPermaLink="false">b4f1e132-cf00-4142-b38d-5f8c8aa75007</guid><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Tue, 21 Dec 2010 16:50:07 GMT</pubDate><content:encoded><![CDATA[<p>The necessary code changes from <a href="http://aws.amazon.com/articles/2330?_encoding=UTF8&amp;jiveRedirect=1">Amazon's Tutorial on using AWStats with S3 Logs</a> take place at line 17,764 with version 7.0 and not 10,657.</p>

<p>The hint? Just do a search for <code># HTTP request. Keep only GET, POST, HEAD</code> for any version of AWStats.</p>

<p>Of note, as of the published date AWStats 7.0 does not count the files viewed correctly. I'm not sure why.</p>]]></content:encoded></item><item><title><![CDATA[Using Compressor to Make H.264 MP4s]]></title><description><![CDATA[<p>In April I pushed to GitHub my <a href="http://github.com/Chealion/chealion/tree/master/Applescripts/RewrapMP4/">RewraptoMP4 Script</a> I put together to help assist in creating proper MPEG-4 container files while being able to use the <a href="http://www003.upp.so-net.ne.jp/mycometg3/">x264 QuickTime component</a> in Compressor. Compressor only allows you to specify the codec being used when exporting to a QuickTime file, however it</p>]]></description><link>https://chealion.ca/2010/09/23/using-compressor-to-make-better-html5-video-draft/</link><guid isPermaLink="false">b97b84f5-eddd-4d8f-9876-49ac2cd87ebd</guid><category><![CDATA[apple]]></category><category><![CDATA[compressor]]></category><category><![CDATA[html5]]></category><category><![CDATA[mp4]]></category><category><![CDATA[quicktime]]></category><category><![CDATA[x264]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Thu, 23 Sep 2010 14:06:05 GMT</pubDate><content:encoded><![CDATA[<p>In April I pushed to GitHub my <a href="http://github.com/Chealion/chealion/tree/master/Applescripts/RewrapMP4/">RewraptoMP4 Script</a> I put together to help assist in creating proper MPEG-4 container files while being able to use the <a href="http://www003.upp.so-net.ne.jp/mycometg3/">x264 QuickTime component</a> in Compressor. Compressor only allows you to specify the codec being used when exporting to a QuickTime file, however it is possible to use QuickTime Player after the fact to convert a QuickTime Movie to an MPEG-4 without transcoding so long as the codecs are supported in the MPEG-4 container spec.</p>

<p>My primary reason for the extra work is that Google Chrome will not recognize a .mov file as a valid wrapper for video in HTML 5's <code>&lt;video&gt;</code> tags.</p>

<h2 id="usingcompressor">Using Compressor</h2>

<p>You need to make your Compressor preset using x264 as a normal QuickTime movie preset (use the table below to help with settings if necessary). You'll then want to grab the script from GitHub and add it as a script to your preset.</p>

<p>Scripting Compressor isn't very straight forward, while you can use AppleScript or launch a script using Compressor they fail to mention that the script <em>must</em> be saved as an application and the file is accessed by using on open.</p>

<h2 id="helpfultableoflimitations">Helpful Table of Limitations</h2>

<table width="100%">  
<tbody>  
<tr><th>Device</th><th>Max Res</th><th>Max Bit Rate</th><th width="325px">H.264 Settings</th></tr>  
<tr><td>iPhone</td><td>640x480</td><td>2.5 Mbps</td><td>Can only use Baseline profile Level 3.0 with CAVLC</td></tr>  
<tr><td>iPod touch</td><td>640x480</td><td>2.5 Mbps</td><td>Can only use Baseline profile Level 3.0 with CAVLC</td></tr>  
<tr><td>iPhone 3G</td><td>640x480</td><td>2.5 Mbps</td><td>Can only use Baseline profile Level 3.0 with CAVLC</td></tr>  
<tr><td>iPod touch 2G</td><td>640x480</td><td>2.5 Mbps</td><td>Can only use Baseline profile Level 3.0 with CAVLC</td></tr>  
<tr><td>iPhone 3G S</td><td>640x480</td><td>2.5 Mbps</td><td>Can only use Baseline profile Level 3.0 with CAVLC</td></tr>  
<tr><td>iPod touch 3G</td><td>640x480</td><td>2.5 Mbps</td><td>Can only use Baseline profile Level 3.0 with CAVLC</td></tr>  
<tr><td>iPad</td><td>1280x720</td><td>"Unlimited"</td><td>Can only use up to Main Profile Level 3.1</td></tr>  
<tr><td>iPhone 4</td><td>1280x720</td><td>"Unlimited"</td><td>Can only use up to Main Profile Level 3.1</td></tr>  
<tr><td>iPod touch 4G</td><td>1280x720</td><td>"Unlimited"</td><td>Can only use up to Main Profile Level 3.1</td></tr>  
<tr><td>G1</td><td>480x320</td><td>600</td><td>Lack of documentation for anything Android</td></tr>  
<tr><td>Droid X</td><td>1280x720</td><td>?</td><td>Lack of documentation for anything Android - can't play more than 24FPS</td></tr>  
</tbody>  
</table>

<p>Android information is rather limited. Official Android information is near non-existent.</p>

<p>Thanks to: <br>
  - <a href="http://www.proactiveinteractive.com/software/compressor/index.php">http://www.proactiveinteractive.com/software/compressor/index.php</a></p>]]></content:encoded></item><item><title><![CDATA[Using HTML 5's Video To Serve Baseline and Main Profile Content]]></title><description><![CDATA[<p>At work I was trying out to see if I could use the new <code>video</code> tag in HTML 5 to show two different versions of the same video; one optimized for devices that accept only the Baseline profile (eg. iPhone 3G S and older, many other phones) and one optimized</p>]]></description><link>https://chealion.ca/2010/08/11/using-html-5s-video-to-serve-baseline-and-main-profile-content/</link><guid isPermaLink="false">a102b8ae-0d4c-4141-a3c1-87430caf7e7c</guid><category><![CDATA[h264]]></category><category><![CDATA[html5]]></category><category><![CDATA[mp4]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Wed, 11 Aug 2010 16:49:12 GMT</pubDate><content:encoded><![CDATA[<p>At work I was trying out to see if I could use the new <code>video</code> tag in HTML 5 to show two different versions of the same video; one optimized for devices that accept only the Baseline profile (eg. iPhone 3G S and older, many other phones) and one optimized for larger devices (eg. iPad, iPhone 4 that support the Main profile). Turns out it works absolutely fabulous by using the codecs section in the type (Thanks to <a href="http://diveintohtml5.org/video.html">Dive into HTML 5</a> for the documentation).</p>

<pre lang="html">  
    <video other_attributes_here="">
        <source src="https://chealion.ca/2010/08/11/using-html-5s-video-to-serve-baseline-and-main-profile-content/PATH_TO_MAIN_PROFILE.mp4" type="video/mp4; codecs="avc1.4D401F, mp4a.40.2"">
        <source src="https://chealion.ca/2010/08/11/using-html-5s-video-to-serve-baseline-and-main-profile-content/PATH_TO_BASELINE_PROFILE.mp4" type="video/mp4; codecs="avc1.42E01E, mp4a.40.2"">
    </video>
</pre>

<p>The video codec for H.264 is: avc1.<strong>YYYY</strong>XX where YYYY represents the profile, while XX is the level (multiplied by 10 and turned into HEX):</p>

<pre><code>Profile     Value   
Baseline    42E0
Main        4D40
High        6400
Extended    58A0

Level       Hex Value   
3.0         1E
3.1         1F
4.1         29
5.1         33
</code></pre>

<p>Now when I visit with an iPhone 3G it loads the baseline version, while my iPhone 4 and iPad both load the Main Profile version. For my current project I use video for whenever Flash isn't available and it does leave a gap for Firefox and Opera users who don't have Flash but according to our web stats they don't actually exist.</p>

<p>It's also important to note that Android users are also left in a lurch because any version lower than 2.0 doesn't support <code>&lt;video&gt;</code>, and those that do can't handle a <code>&lt;source&gt;</code> element having a type value like above. To top it all off it isn't able to play or show controls on a video on it's own. You have to add some JavaScript to your page in order to play to pass the click event and tell it to play.</p>]]></content:encoded></item><item><title><![CDATA[Mail.app, Outlook, Attachments and Disappearing Text]]></title><description><![CDATA[<p>There's a particularly nasty implementation detail that doesn't seem to come up often but is just waiting to bite just about every Mac user in the ass. Mail.app allows users to attach files inline allowing them to be part of the flow of the text or in the case</p>]]></description><link>https://chealion.ca/2010/06/21/mail-app-outlook-attachments-and-disappearing-text/</link><guid isPermaLink="false">89bebcc0-2045-49b7-82f1-44322f2ee089</guid><category><![CDATA[apple]]></category><category><![CDATA[email]]></category><category><![CDATA[microsoft]]></category><category><![CDATA[outlook]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Mon, 21 Jun 2010 17:57:59 GMT</pubDate><content:encoded><![CDATA[<p>There's a particularly nasty implementation detail that doesn't seem to come up often but is just waiting to bite just about every Mac user in the ass. Mail.app allows users to attach files inline allowing them to be part of the flow of the text or in the case of one of my users be right alongside the paragraph talking about the changes in that paragraph. Or like me, right below the email you're sending and above the replied emails because of Mail.app's defaulting to top posting. The issue isn't being able to put attachments inline, but the fact that by default Mail.app will encode the attachment in the same spot in the email file causing other email clients to see the rest of the email as a set of attachments.</p>

<p>The fix: Make sure "Always Insert Attachments at End of Message" is checked off (preference key is AttachAtEnd - boolean for you MCX minded folk) and you can now attach inline as you would normally want to without having Outlook eat your message.</p>

<p><a href="http://chealion.ca/content/images/preghost/Mail.app_.jpg"><img src="http://chealion.ca/content/images/preghost/Mail.app_.jpg" alt="Mail.app.jpg" title="Mail.app.jpg" border="0" width="626" height="171"></a></p>

<p>Thunderbird will display the text correctly, but you'll lose it and it will only appear as an attachment once that email is forwarded or replied to: (Part 1.1.3 is the text "There's an attachment"). You'll also notice the horizontal rule separating between the different HTML portions of the email.</p>

<p><a href="http://chealion.ca/content/images/preghost/Thunderbird.jpg""><img src="http://chealion.ca/content/images/preghost/Thunderbird.jpg" alt="Thunderbird.jpg" title="Thunderbird.jpg" border="0" width="506" height="310"></a></p>

<p>What program completely falls flat on it's face is Outlook; it just puts all attachments off to the side and you have no idea what's in the those ATT documents and your client sure as hell isn't going to read them. So you've sent the email, the email was successfully sent, the text will be visible on their webmail systems, on their mobile device (Blackberry or iPhone), and even visible in other mail clients but because it's technically an attachment Outlook won't display it inline by default. (For the same reason they won't show images by default in emails - the cookie tracking and that it's a great attack vector)</p>

<p><a href="http://chealion.ca/content/images/preghost/Outlook.jpg"><img src="http://chealion.ca/content/images/preghost/Outlook.jpg" alt="Outlook.jpg" title="Outlook.jpg" border="0" width="454" height="175"></a></p>

<p>Of note, this only occurs when sending from Mail.app. Outlook can attach items inline and have no issue as it attaches the images at the end of the email.</p>

<p>Correct view:</p>

<p><a href="http://chealion.ca/content/images/preghost/OutlookCorrect.jpg"><img src="http://chealion.ca/content/images/preghost/OutlookCorrect.jpg" alt="OutlookCorrect.jpg" title="OutlookCorrect.jpg" border="0" width="641" height="313"></a></p>]]></content:encoded></item><item><title><![CDATA[Comments, No Comments, and When It Doesn't Matter]]></title><description><![CDATA[<p>Today I've <a href="http://twitter.com/Chealion/status/16338959775">been</a> <a href="http://twitter.com/Chealion/status/16365850653">heckling</a> <a href="http://darcynorman.net">D'arcy Norman</a> on Twitter about his plan to try out turning off <a href="http://www.darcynorman.net/2010/06/16/on-decommenting">comments on his blog.</a> The discussion of comments versus no comments is not new but has come to the forefront again because of Gruber's defence of not allowing comments.[^1] D'Arcy has done a</p>]]></description><link>https://chealion.ca/2010/06/16/comments-no-comments-and-when-it-doesnt-matter/</link><guid isPermaLink="false">4cb8bc73-611b-4b49-933b-02d4df79dd78</guid><category><![CDATA[soapbox]]></category><category><![CDATA[web]]></category><dc:creator><![CDATA[Micheal J.]]></dc:creator><pubDate>Wed, 16 Jun 2010 23:32:53 GMT</pubDate><content:encoded><![CDATA[<p>Today I've <a href="http://twitter.com/Chealion/status/16338959775">been</a> <a href="http://twitter.com/Chealion/status/16365850653">heckling</a> <a href="http://darcynorman.net">D'arcy Norman</a> on Twitter about his plan to try out turning off <a href="http://www.darcynorman.net/2010/06/16/on-decommenting">comments on his blog.</a> The discussion of comments versus no comments is not new but has come to the forefront again because of Gruber's defence of not allowing comments.[^1] D'Arcy has done a good job showcasing several opinions on the matter - so good read his post first.</p>

<p>Why would I want comments on my site? They provide a relatively frictionless (provided no registration is required) way for a reader to respond to something I have written to power Google's index.[^2] This includes developers responding to my criticisms of their applications, or some method of feedback. The feedback is part of the reason I even write comments anywhere else. It's still very possible to get a large volume of feedback relevant and helpful to the article/essay/what-have-you without detracting from it. (eg. Coding Horror as an example - not always, not perfect but on a whole a decent example) Comments at one time also help differentiate the "new media" from the "old media", it promoted the idea that the reader could be involved instead of just a a passive listener.</p>

<p>Why do I think I should remove comments from my site? Spam and focusing on the content. I don't like being required to run Akismet, or remembering the issues of using Moveable Type 2.x and the necessity of MT-Blacklist. Erasing the spam issue is definitely enticing, especially with some many other avenues of feedback.</p>

<p>Additionally once comments grow beyond a certain quantitative threshold they simply become drive by soapboxes or discussion boxes with little to no control of their direction (unless heavily moderated) and relevance to the whole point of the page's existence. If you really want people to discuss with each other about something you've put forward as a conversation piece? Consider setting up a proper forum[^3] for the thread control so it doesn't feel like a discussion has been shoehorned into something that doesn't quite fit correctly. Personally the whole point of my corner of the web is not to make conversation pieces but to showcase something I actually want to broadcast more widely to the world.</p>

<p>But wait. Why should I even care if they're on or off? Be practical - for many comments are your first way to get feedback without the roadblocks (registration, emailing, etc.) that are necessary to keep the volume manageable for higher volume sites. Comments don't scale with the purpose of a blog, website, whatever you want to call your little corner of the world wide web. If you're small enough they don't exist, if you're big enough they overshadow or fail completely miserably at being either a way to leave a note for the author or as a discussion board. So in the big picture - the choice doesn't matter. What matters is whether they are a positive or a negative impact to you, the moment it's negative kill it - there's no saving the signal when the noise gets too loud. If it's positive, keep it.</p>

<p>Don't sweat it and focus on writing (or doing your thing).</p>

<p>[^1]: RIP daringfireballwithcomments.net - it was hilarious and a perfect example as to why Gruber should keep his site just the way it is.
[^2]: My traffic consists of 3 people who follow using RSS and about 30 people a day from random search terms.
[^3]: This doesn't have to be proper forum software such as phpBB and such but they do offer the more advanced features one would want when dealing with diverging threads of discussion.</p>]]></content:encoded></item></channel></rss>