tag:blogger.com,1999:blog-11131489152598031612024-03-13T14:04:07.095-05:00Oscillating InterestWork, Hobbies, and TinkeringJames Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-1113148915259803161.post-33880894229481784662022-02-23T18:20:00.005-06:002022-02-23T18:20:43.384-06:00Remote Remote Work: Make coding on EC2 Instances Easier <p>In an effort to post a bit more here's the first entry in my No Frills series. This posts will be short, and mostly reference outside sources.<br /><br />So you need to access resources in a remote network like AWS or Azure, but don't want to use ssh + vim/emacs/etc or don't want to constantly be pushing commits? This solution is for you!<br /><br />You'll need a Unix-like environment such as Ubuntu on your server side, a terminal locally with SSH, and ideally VS Code.</p><p> </p><p></p><p>First install tmux, if you're not familiar check out a tutorial like <a href="https://leimao.github.io/blog/Tmux-Tutorial/">this one</a>. <a href="https://tmuxcheatsheet.com/">This cheat sheet</a> is very handy too!<br /><br />In your ~/.bashrc (or appropriate shell config file) add the following so you'll always have access to tmux easily:<br /></p><pre><code># Open Tmux Session immediately on SSH and exit SSH Session when exiting tmux
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then
tmux attach-session -t ssh_tmux || tmux new-session -s ssh_tmux;
exit;
fi</code></pre><pre><code> </code></pre><pre><code> </code></pre><p>Now every time you ssh into the machine you'll put into a tmux session automagically. And when you detach from the tmux session you'll end the SSH session too!</p><p>Then if you want to use VS Code install <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh">Microsoft's Remote - SSH Extension (currently in preview)</a>. This will allow you to use all your normal VS Code extensions but connect directly to the remote machine.</p><p>The nice thing about using the tmux config above is if VS Code slows down or you accidentally close it while running a long-lived commandline program it'll still be running when you come back!<br /></p>James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-76965981342232067922018-12-09T16:10:00.003-06:002018-12-09T16:47:53.927-06:00So You Want to Be A Dungeon Master?<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-vClXh0NlSmw/XA14j9I2eHI/AAAAAAAAtrE/PYwt67RmUaURG6cPYbJ7YAaDfxluOd1UwCLcBGAs/s1600/hero_dmgscreen_0.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Wide image. d and d heroes on the left, pointing weapons and spells at the huge red dragon and its hoard of gold on the right." border="0" data-original-height="500" data-original-width="1600" height="200" src="https://4.bp.blogspot.com/-vClXh0NlSmw/XA14j9I2eHI/AAAAAAAAtrE/PYwt67RmUaURG6cPYbJ7YAaDfxluOd1UwCLcBGAs/s640/hero_dmgscreen_0.jpg" title="Banner Image" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Dungeon Master's Screen artwork from Wizards of the Coast</td></tr>
</tbody></table>
<br />
As someone who <b>loves</b> Dungeons & Dragons (& all sorts of tabletop RPGs) and has a decent amount of experience under my belt, I'm often asked by new or prospective DMs (Dungeon Masters) for advice.<br />
<br />
I hope I can start to compile that advice into a series of blog posts but that this one will stand well on its own!<br />
<br />
This is a decently long post, and the links I have may have many hours of content, but <b>don't get intimidated</b>, thinking you need to know everything before you start, I sure didn't!<br />
<br />
Instead <b>gather some friends</b> (ideally 3-5, any more can be overwhelming)<b>, make characters together, and start playing</b>! (Check out <a href="https://www.reddit.com/r/DnD/comments/2do2an/treat_yourself_to_a_tall_cold_glass_of_current/">this character sheet</a>, I prefer it to the official one). You'll learn as you go and probably make mistakes, but that's fine, just have fun!<br />
<br />
<u> So You Want to Be A Dungeon Master series Table of Contents</u><br />
<ul>
<li><a href="https://blog.james-firth.com/2018/12/so-you-want-to-be-dungeon-master.html">Intro Post</a></li>
<ul>
<li>Links to other advice givers</li>
<li>Links to rules resources</li>
</ul>
</ul>
<br />
<hr />
<br />
<br />
So for this first post, I thought I'd share where I got DM advice from, and some general info about where you can find out how to play (for both DMs and Players).<br />
<br />
There are tons of resources online for DM advice already by people with very different experiences and backgrounds than I do. These are only a few, so search out new and diverse advice givers! I've learned a lot from these people too, so instead of just reiterating what they've said, I'll link you to them.<br />
<h2>
Fellow Advice-Givers </h2>
This first section will also have some useful links about playing the game in general, so feel free to share with you players! <br />
<h3>
Matt Colville <div class="separator" style="clear: both; display: inline-block; text-align: center;">
</div>
</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-wOaU3kliw8A/XA2SH320ACI/AAAAAAAAtrU/0_E3s0a68Yk36wJF7cxyXwHEWa4M0YwGwCEwYBhgL/s1600/pLiXAx7l_400x400.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="400" height="200" src="https://1.bp.blogspot.com/-wOaU3kliw8A/XA2SH320ACI/AAAAAAAAtrU/0_E3s0a68Yk36wJF7cxyXwHEWa4M0YwGwCEwYBhgL/s200/pLiXAx7l_400x400.jpg" width="200" /></a></div>
<h3>
<div class="separator" style="clear: both; display: inline-block; text-align: center;">
<br /></div>
</h3>
Has a fantastic YouTube series called <a href="https://www.youtube.com/playlist?list=PLlUk42GiU2guNzWBzxn7hs8MaV7ELLCP_">Running the Game</a> where he teaches you, aspiring DM, how to run D&D, he'll even make an adventure with you!<br />
<br />
He's also got a great video (<a href="https://www.youtube.com/watch?v=Eo_oR7YO-Bw"><i>Welcome to Dungeons and Dragons!</i></a>) to send to your players (and for you to watch if you want).<br />
<br />
His videos have no ads, and I helped support his channel via Kickstarter by backing his book.<br />
<br />
<h3>
Adam Koebel</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-3_K37fSysnA/XA2ToaLTglI/AAAAAAAAtrc/bkG4Nf9L1ngzRgrgzKyBqTHA-OS-F-bawCLcBGAs/s1600/stream_roll20_adam.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="Adam Koebel portrait. Pink hair, bearded, bespectacled man" border="0" data-original-height="200" data-original-width="200" height="200" src="https://1.bp.blogspot.com/-3_K37fSysnA/XA2ToaLTglI/AAAAAAAAtrc/bkG4Nf9L1ngzRgrgzKyBqTHA-OS-F-bawCLcBGAs/s200/stream_roll20_adam.png" title="" width="200" /></a></div>
<h3>
</h3>
A fellow Canadian, a queer gamer, and a player/GM of many many RPGs, Adam has a great background for advice giving.<br />
<br />
He's the co-creator of <a href="http://www.dungeon-world.com/">Dungeon World </a>(also a great game!) and plays lots of live games on Twitch (great for inspiration) such as many different series/games under for RollPlay (<a href="https://www.youtube.com/watch?v=b5yeR6vZ-aE">example of a recent one</a>). <br />
<br />
For DMs, check out his call-in advice show <a href="https://www.youtube.com/playlist?list=PLAmPx8nWedFVGdrP2JmcYzdvZC8sWV5b4">Office Hours</a>! It's not D&D-specific, but has lots of great advice about roleplaying games (and unintentionally, relationships)<br />
<h3>
Community Hiveminds </h3>
You can also get tons of great advice online from communities!<br />
I've made a <a href="https://www.reddit.com/user/Kelaos/m/dnd_dm_advice/">multi-reddit</a> for DM advice. It's got some general D&D subreddits and some very specific ones for DM advice, making your own homebrew rules, dealing with odd situations, etc.<br />
<br />
There's also tons of great Discord server where people chat about D&D and DMing!<br />
<ul>
<li>Matt Colville has <a href="https://discord.gg/YQ9WyG">a server </a>for his kickstarter/community/company (mcdm)</li>
<li><a href="http://kanka.io/">Kanka.io</a> (a great tool for managing your world, NPCs, etc.) has a <a href="https://discord.gg/f3CH9k">nice small community server</a> that talks about D&D, world building and more</li>
<li>If you plan on running the adventure/campaign Curse of Strahd, there's a <a href="https://discord.gg/bCt8p3">discord</a> and <a href="https://reddit.com/r/CurseofStrahd/">reddit</a> community around that specific book! </li>
</ul>
This list will be updated if I find more in the future<br />
<h2>
<span style="font-size: x-large;">Learning to Play</span></h2>
<h3>
Local, Organic, Home-Grown RPG books</h3>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-H8PZLdsOp9k/XA2UeJAoq4I/AAAAAAAAtrk/lDvFaQgiM0slRDwoi0C5NTorcufoxRbUACLcBGAs/s1600/7162018_iojcoqiuiewjcjd.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="421" data-original-width="400" height="200" src="https://4.bp.blogspot.com/-H8PZLdsOp9k/XA2UeJAoq4I/AAAAAAAAtrk/lDvFaQgiM0slRDwoi0C5NTorcufoxRbUACLcBGAs/s200/7162018_iojcoqiuiewjcjd.png" width="190" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Core Rules Gift Set (Hobby Cover)</td></tr>
</tbody></table>
If you're like me and prefer reading dead-tree copies of things, check out your friendly local gaming store (FLGS)! There's got to be one nearby, even if you don't know about it. Assuming they're an official Wizards Play Network store, they'll also get new books earlier than online retailers, and even have special covers! (pictured left).<br />
<br />
Local gaming stores are what started the hobby, and (hopefully) provide a safe space to play, meet new people, and learn about the game. I try and buy local whenever I can, even if it's a bit more expensive than Amazon.<br />
<br />
Amazon and non-hobby retail stores stores do often also carry D&D books, but get them slightly later (one week I believe) and have a different cover (which are also gorgeous though! Pictured right).<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-YdjUvMNtceE/XA2UeItJ1LI/AAAAAAAAtrw/8--c19Ky_sQdXxZjl-sVPwf-z3oiXvS0QCEwYBhgL/s1600/5Gr2NQBqwejk.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="300" data-original-width="300" height="200" src="https://1.bp.blogspot.com/-YdjUvMNtceE/XA2UeItJ1LI/AAAAAAAAtrw/8--c19Ky_sQdXxZjl-sVPwf-z3oiXvS0QCEwYBhgL/s200/5Gr2NQBqwejk.png" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Core Rules Gift set (Normal Cover)</td></tr>
</tbody></table>
<br />
<br />
However, not everyone has the disposable income to buy nice hardcover books, or maybe not buy a book at all. Fear not, you can legally get the basic rules for free!<br />
<br />
<h3>
</h3>
<h3>
</h3>
<h3>
Free (and Paid) Official Online Resources</h3>
Wizards of the Coast (owners of D&D) provide all the basic rules for<a href="http://dnd.wizards.com/articles/features/basicrules"> free online</a>.<br />
You can play from level 1 to 20, just like the PHB (Player's Handbook) rules! However, there are a few less options for sub-races (sub-species) and sub-classes than buying the PHB. But I'd say the classes accessible are the classic archetypal ones. WotC provides these rules as both PDFs and HTML web pages.<br />
<br />
A brief history lesson. Back in the early 2000s the 3rd edition of D&D came out. At that point the core mechanical rules of the game (the D20 System) were licensed under the Open Gaming License (OGL). Following editions are also licensed similarly.<br />
<br />
Meaning people could publish, modify, and use those rules to create supplements for D&D.<br />
<br />
The OGL is what allowed games like Pathfinder to be created! The rules are also listed under the System Resource Document (SRD), that Wizards provides.<br />
<br />
You'll find many other places where you can find the D&D 5e SRD in various searchable forms, such as <a href="https://roll20.net/compendium/dnd5e/BookIndex">Roll20.net</a> (provides digital tabletops for online play) and <a href="https://www.dndbeyond.com/compendium/rules/basic-rules">D&D Beyond</a> (also provides a free character builder and paid digital versions of the books).<br />
<br />
<h3>
But I'm More of a YouTube Tutorial Person</h3>
Well then you're in luck! The Critical Role team has made a video series (still being released at the time of writing) that helps you (as a player or DM) learn the basics by going through the Players' Handbook.<br />
They gave this series the goofy name <a href="https://www.youtube.com/watch?v=hD-LWHhiseE&list=PL1tiwbzkOjQyr6-gqJ8r29j_rJkR49uDN"><i>Handbooker Helper</i></a>.<br />
I haven't had a chance to watch much of it yet, but it seems useful!<br />
<br />
<h2>
Continued After a Long Rest </h2>
I'll try and continue to give updates to this series in the future s I gather more info! I'll also try and come back and give this a good edit later on too.<br />
<br />
Questions? Comments? Resources of your own? Leave them in the comments below!<br />
<br />
<span style="font-size: x-small;">Image sources:<br />Banner image - dnd.wizards.com artist apparently Craig J. Spears</span><br />
<span style="font-size: x-small;">Gift set images - dnd.wizards.com product pages</span><br />
<span style="font-size: x-small;">Matt Colville portrait sketch - twitter profile</span><br />
<span style="font-size: x-small;">Adam Koebel portrait - Roll20 present article on dnd.wizards.com</span>James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-28558855413217388232017-12-28T22:57:00.000-06:002017-12-28T22:58:46.768-06:00Alohomora: Simple Security for Muggles and Wizards alike<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-0_nSjjNZlEw/WkXJlobE5cI/AAAAAAAAjOc/A1XQvl-UVYkfuwV5TMW0Zq7FFjZGEyd-gCLcBGAs/s1600/c1838554c663dc7a0ffe5b9744a6f8a5379b8a93_hq.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="245" src="https://4.bp.blogspot.com/-0_nSjjNZlEw/WkXJlobE5cI/AAAAAAAAjOc/A1XQvl-UVYkfuwV5TMW0Zq7FFjZGEyd-gCLcBGAs/s1600/c1838554c663dc7a0ffe5b9744a6f8a5379b8a93_hq.gif" /></a></div>
<br />
Two years ago, I wrote <a href="http://blog.james-firth.com/2015/01/words-on-password-security.html">a post</a> specifically about passwords.<br />
However, these days there are a few more things that one should be doing to protect themselves so I will be going over a few digital security topics in this post.<br />
<br />
Wait! Don't be scared, I know security can sound hard but it doesn't have to be. I'd like this guide to be easy to follow so even someone without an interest in security can quickly start being secure online.<br />
<br />
<h2>
Passwords</h2>
I've covered this before but I'll summarize the post here.<br />
<br />
Password Setup Steps:<br />
<ol>
<li>Create two very strong, but easy to remember passwords for you password manager and email.<br />You can do this by:</li>
<ol>
<li>Rolling some dice to create a Diceware Passphrase<br /><a href="https://www.rempe.us/diceware/#eff">Easy creation site</a> (use 6 words minimum!) and <a href="https://www.eff.org/dice">EFF's explanation on how/why</a> </li>
<li>Use the <a href="https://www.schneier.com/essays/archives/2008/11/passwords_are_not_br.html">Schneier Scheme</a></li>
</ol>
<li>Write down these passwords and put them in a safe place.<br />This may sound odd, but even Bruce Shneier has said:<br /><blockquote class="tr_bq">
<i>If you can't remember your passwords, write them down and put the paper
in your wallet. But just write the sentence - or better yet - a hint
that will help you remember your sentence. Or use a </i>[password manager]<i>. Don't feel this is a failure; most of us have far too many
passwords to be able to remember them all.</i> <br />
- Bruce Schneier, Nov, 2008. <a href="https://www.schneier.com/essays/archives/2008/11/passwords_are_not_br.html">Blog post link</a></blockquote>
</li>
<li> Choose a Password Manager<br />There's a few choices out there but likely you'll look at the following</li>
<ol>
<li> 1Password (nicer on MacOS/iOS than Windows/Android)</li>
<li>LastPass</li>
<li>Keepass</li>
</ol>
</ol>
<br />
<h2>
Update Old, Insecure Passwords</h2>
This can be time consuming, but it's important to get clean up all your old passwords. You probably used the same password in multiple places, right? Use your password manager's password generator to come up with secure passwords, preferably as long as the service will allow.<br />
<br />
This process can be daunting however, so unless you're ready to spend a lot of time doing it, let's make this easier. If you're using LastPass, I believe it will give you a password strength report to help you clean up.<br />
<br />
I'd go about this slowly to make it easy. Whenever you log into a service, check the password. If it's weak, change it before you go about your tasks. Otherwise, grab a different password to update.<br />
<br />
One day you'll have all your passwords updated!<br />
<br />
<h2>
Enable Two-Factor Authentication Everywhere </h2>
Everywhere you can enable 2FA, and all other forms are better to chose over SMS. Here's <a href="https://twofactorauth.org/">a site</a> that will help you find out what services you use that support 2FA.<br />
<br />
There's a variety of Two-Factor Authentication (2FA) or multi-factor authentication (<a href="https://www.eff.org/deeplinks/2017/09/guide-common-types-two-factor-authentication-web">a guide by the EFF here</a>) but the main two you'll encounter are:<br />
<ol><a href="http://www.blogger.com/blogger.g?blogID=1113148915259803161" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>
<li>SMS. <br />Which works, but isn't very secure. Without going into too much detail, it's possible for a hacker to pretend they're another phone number and intercept SMS. So if there's another option choose that. If this is your only option, it's still better than no 2FA.</li>
<li>Authenticator/TOTP<br />This form of 2FA gets you to punch in a 6 digit code when you log in. <a href="https://authy.com/">Authy</a> is a popular app to use to manage these codes for many services, as-is the <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en">Google Authenticator</a>. It's nice to keep all of your codes in one place.</li>
</ol>
Using any 2FA method means you may be offered the option to print out backup codes. If a service offers this, definitely do it and store those codes in a safe place!<br />
<br />
<h2>
</h2>
<h2>
Use a Secure Messaging App</h2>
I'd recommend using <a href="https://signal.org/">Signal</a>, or (<a href="https://www.bloomberg.com/news/articles/2014-10-28/facebook-s-22-billion-whatsapp-deal-buys-10-million-in-sales">if you trust Facebook</a>) <a href="https://www.whatsapp.com/">WhatsApp </a>for private messaging (as they implement the <a href="https://signal.org/blog/whatsapp-complete/">same protocol</a> to secure your messages)<br />
I would highly discourage use of <span id="goog_763931290"></span>Telegram<span id="goog_763931291"> (<a href="https://moxie.org/blog/telegram-crypto-challenge/">here's one reason why</a>).</span><br />
<br />
<span id="goog_763931291">I'd go into more details, but the EFF is also <a href="https://www.eff.org/secure-messaging-scorecard">re-thinking what secure messengers need</a> these days, so I'll hold off on giving detailed recommendations myself.</span><br />
<br />
<h2>
Best Practices</h2>
Overall best practices are hard to write. I'll try and give some useful advice though:<br />
<ul>
<li> Always think critically before taking action.<br />Who told you to click or install something? Think about why you might want to do it.</li>
<li>Not sure? Ask.<br />Hopefully you have a tech-savvy friend you can ask to confirm something. If not, getting better at Googling things is a useful skill!<br /> </li>
<li>Use an ad-blocker (such as uBlock Origin <a href="https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm?hl=en">chrome</a> <a href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/">firefox</a>) </li>
</ul>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-54638198748445301772017-04-08T12:39:00.001-05:002017-04-08T12:48:00.735-05:00The Keymaker: Simplifying Your Personal SSH Key Management <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://1.bp.blogspot.com/-DAXYa_Zp1ZQ/WOkfNUUTLnI/AAAAAAAAd9o/q8_xpxpvEMg6COE4VtBWtkGEL5wXIrQVACLcB/s1600/keymaker.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="170" src="https://1.bp.blogspot.com/-DAXYa_Zp1ZQ/WOkfNUUTLnI/AAAAAAAAd9o/q8_xpxpvEMg6COE4VtBWtkGEL5wXIrQVACLcB/s400/keymaker.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image <a href="http://www.whythematrixsucks.com/img/keymaker.png">from here</a>. Screen shot from film <i>The Matrix Reloaded</i></td></tr>
</tbody></table>
<br />
<br />
If you are like myself, and ssh into multiple remote machines, or even simply use Github over ssh this is for you.<br />
<br />
<h4>
The Problem</h4>
<br />
SSH has a lot of settings you can use, but when you're a relatively new developer you're not going to go mucking around in a config file you don't need to when there's work to be done! There are also security concerns with some settings, and issues if you have a lot of ssh keys. Also typing long username@domain strings can be annoying.<br />
<br />
<h4>
The Solution</h4>
<br />
<a href="https://github.com/James-Firth/useful-commandline-snippets/blob/master/the_keymaker.sh">The Keymaker</a> <span style="background-color: white; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace; font-size: 12px; line-height: 16.8px; white-space: pre;">o——m</span>, a small script (fewer than 250 lines) to help create ssh keys for remote machines.<br />
<br />
<br />
<h3>
What does it do?</h3>
<br />
First it helps you create a config file. If one exists already it will rename it with the suffix ".BACKUP".<br />
<br />
By default all ssh connections will show a randomart image (<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">VisualHostKey yes</span>) based on the public key provided by the host. This randomart image can be used to visually identify the host's key. This is much easier than trying to identify something like <span style="background-color: #eff0f1; color: #242729; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 13px; white-space: inherit;">16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.</span><br />
<span style="background-color: #eff0f1; color: #242729; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 13px; white-space: inherit;"><br />
</span> <span style="color: #242729; font-family: inherit;"><span style="background-color: #eff0f1;"><span style="background-color: white;"><span style="font-family: inherit;">Instead you get to look at a picture, which is easier to compare, and easier to remember. For instance, I've come to associate github.com's key with this randomart that looks like a flame<span style="font-family: inherit;"> (not<span style="font-family: inherit;">e: <span style="font-family: inherit;">this may and likely will change as github changes their public key)</span></span></span></span></span><br />
</span></span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"></span><br />
<pre style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">+--[ RSA 2048]----+
| . |
| + . |
| . B . |
| o * + |
| X * S |
| + O o . . |
| . E . o |
| . . o |
| . . |
+-----------------+</span></pre>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"></span><br />
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span></span></div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">
</span><span style="font-family: inherit; font-size: small;">The Keymaker's connections are also kept alive for an hour, in the event that you leave a terminal open it but need it open.</span><br />
<span style="font-family: inherit; font-size: small;"><br /></span>
<span style="font-family: inherit; font-size: small;">It also disables forwardingx11 (you may want to turn this back on for some keys) and only sends the keys it needs to (instead of sending all of your ssh keys to each host)</span><br />
<span style="font-family: inherit; font-size: small;"><br /></span>
<span style="font-family: inherit; font-size: small;">When you actually run the keymaker, it asks a variety of questions used to generate your ssh key, generates it, adds the information to the config file (for that specific host) and then finally attempts to copy the key to the server you are setting it up for. If you<span style="font-family: inherit;"> are connecting to a server such as github that won't let that command <span style="font-family: inherit;">go through it will fail (and that's fine<span style="font-family: inherit;">)<span style="font-family: inherit;">. You'll need to manually add your new public key via the web interface on <span style="font-family: inherit;">Github (or whatever method the site/server use<span style="font-family: inherit;">s).</span></span></span></span></span></span></span><br />
<br />
<span style="font-family: inherit; font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;">One nice benefit is it works with non-standard ports and allows you to set a "shortname" </span></span></span></span></span></span>(ie ali<span style="font-family: inherit;">as for <span style="font-family: inherit;">that key/username/<span style="font-family: inherit;">hostname/port combination)</span></span></span></span><br />
<span style="font-family: inherit; font-size: small;"><br /></span>
<span style="font-family: inherit; font-size: small;">This will allow for passwordless logins to that server with your newly created key<span style="font-family: inherit;">!</span></span><br />
<br />
<h4>
<span style="font-family: inherit; font-size: small;"><span style="font-family: inherit;">Setup </span></span></h4>
<span style="font-family: inherit; font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;">Grab my script <a href="https://github.com/James-Firth/useful-commandline-snippets/blob/master/the_keymaker.sh">from github</a>, <span style="font-family: inherit;">place it in a folder <span style="font-family: inherit;">that's in your <span style="font-family: "courier new" , "courier" , monospace;">$PATH <span style="font-family: inherit;">(optionally rename it)</span></span></span></span></span></span></span><span style="font-size: small;"><span style="font-family: inherit;"> and you're good to go!<br /><br /><span style="font-family: inherit;">When you run the script it will <span style="font-family: inherit;">prompt you for information as you go.</span></span></span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;"><i><span style="font-family: inherit;">Note: If you are creating an ssh key for </span>Github yo</i><span style="font-family: inherit;"><i>u must use git@github.com with no shortname.</i></span></span></span></span><br />
<span style="font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><i><span style="font-family: inherit;"></span><br /></i></span></span></span></span>
<span style="font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;"><i> </i></span></span></span></span><br />
<span style="font-size: small;"><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-family: inherit;">Comments, feedback and PRs are welcome!<i> </i></span></span></span></span>James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-74133263910662127142016-03-28T00:02:00.000-05:002017-04-08T12:49:22.230-05:00Variety Show: Small Updates #1<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://orig07.deviantart.net/c48e/f/2012/317/e/8/back_home_by_caring201-d5kymmn.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://orig07.deviantart.net/c48e/f/2012/317/e/8/back_home_by_caring201-d5kymmn.jpg" height="245" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="http://caringwong.deviantart.com/art/Back-Home-337538831">Back Home by CaringWong</a></td></tr>
</tbody></table>
<br />
<br />
Greetings Readers!<br />
<br />
It has been a while since I posted anything so I feel I should do a quick write-up with a few small things.<br />
<br />
<h2>
Virtual Reality</h2>
<div>
I have been very excited about Virtual Reality (VR) since I worked with the Oculus Dev Kit 1 and consumer VR is just around the bend! The consumer Oculus Rift ships March 28th, with pre-orders backed up until the summer. (June/July last I checked). The Vive, created by an HTC/Valve partnership, ships starting in May. And finally, Playstation VR (PSVR) ships in October.</div>
<div>
<br /></div>
<div>
I had pre-orders for both the Rift and the Vive for a while, while I waited for more news, and to decide which one I would buy at launch (as I can't afford both, nor would I gain much from owning both). PSVR also looks promising and I will decide if I want to purchase a bundle closer to launch, as right now it's too far off to make an informed decision.</div>
<div>
<br /></div>
<div>
I have finally decided to purchase the Vive. It was a very difficult decision, but I think it was the smart choice for a pre-order. </div>
<div>
<br /></div>
<div>
Both the Vive and Rift seem like fantastic experiences, but without more knowledge on Oculus' Touch controllers, I couldn't justify purchasing a Rift until later in the year.</div>
<div>
<br /></div>
<div>
I'll be sure to post a VR update either in May (when my Vive arrives) or sometime in the summer.</div>
<div>
<br /></div>
<h2>
Managing Linux SSH Keys</h2>
<div>
As a software developer, I use Github and SSH on a daily basis. When dealing with remote machines there are some niceties and security benefits you can get by setting up SSH properly.</div>
<div>
<br /></div>
<div>
To aid others (and myself) with this problem I have written a small script to help manage ssh keys and configs.<br />
<br />
I'll be posting a full blog post about ssh and my tool soon.<br /><br /><b>UPDATE April 8, 2017: </b>My new post about my <a href="http://blog.james-firth.com/2017/04/the-keymaker-simplifying-your-personal.html">ssh tool, the keymaker</a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Expect more updates in the future as I build a new PC for VR in the next month!</div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-85934668302894353712015-10-04T14:09:00.000-05:002015-10-04T14:13:42.029-05:00It's Time - Pebble Time Review<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-Ze2AheHqqp4/VhF6JddkduI/AAAAAAAAW6A/N8eDDA1r43c/s1600/htilzxzmped9t0s0kdllyeswjzculrxdllw523_otzu.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="180" src="http://2.bp.blogspot.com/-Ze2AheHqqp4/VhF6JddkduI/AAAAAAAAW6A/N8eDDA1r43c/s320/htilzxzmped9t0s0kdllyeswjzculrxdllw523_otzu.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Photo from <a href="http://images.releasd.com/0fdh9/htilzxzmped9t0s0kdllyeswjzculrxdllw523_otzu.png">released.com</a></td></tr>
</tbody></table>
<h2 style="text-align: justify;">
</h2>
<h2>
Background Info</h2>
I backed the Pebble Time Kickstarter and got the black watch. I waited a few months to write this review as wearable tech (and phones) often requires more than a week to understand how you actually use it once it loses it's "shiny new toy" status.<br />
<br />
Before owning a smartwatch (smartch?) I would wear an analogue watch (A Timex Weekender Central Park specifically) with off and on regularity.<br />
<br />
The Pebble Time is however, my first smart watch. I had debated the original Pebble, but the clunky form factor turned me off and the Moto 360 had mixed reviews at the start. I also didn't watch to spend that much money on a Moto 360 for the first generation and will see what v2 will have to offer.<br />
<br />
Several of my friends do have Moto 360s so I have seen them a bit for reference. I have seen an Apple Watch in-person once and heard a lot about them on the podcast I listen to weekly.<br />
<br />
As you may know from my other posts I use an Android phone, so this review is based on using the Pebble Time with an HTC One (m7) and I'm not sure how it works with an iPhone.<br />
<br />
<h2>
Use Cases/Wants</h2>
<br />
There are basically three criteria I require from my smart watch:<br />
1) It should tell me the time (that's a given though). However since it has a screen I'd like to see the time in a more novel way than a typical analogue watch or at least augment the analogue watchface with more information.<br />
<br />
2) I want to see notifications from my phone and be able to dismiss them. I like leaving my phone on silent so this still gives me the notifications in a timely fashion without having to pull my phone out constantly. I also want to be able to manage those notifications and not get notified by certain apps.<br />
<br />
3) I want to be able to get up at 7am to get ready for work with my watch and still be able to see what time it is at 2am that night.<br />
<br />
<h2>
Hardware</h2>
<h3>
Screen</h3>
The Pebble Time has an e-paper screen which helps keep its power consumption very low.<br />
The screen could be a bit larger as there is a large bezel (the black border that can't actually display anything) but the screen fits most short blips of information and it's easy to scroll down if a message is particularly long.<br />
<br />
The screen also has a backlight that can be activated with a flick of the wrist, with customizable brightness. The screen looks okay indoors, good enough really. Where it really shines is outside, where other smartwatch screens tend to fail. Its colours are much more vibrant in daylight due to the nature of the e-paper display.<br />
<br />
The other benefit of the screen is that it is always on (even if the backlight isn't) which is something I don't care for about other smart watches.<br />
<br />
<h3>
Casing</h3>
I purchased the black Pebble Time so the colour descriptions are based on that model.<br />
The back is a matte black plastic and curves ever so slightly around your wrist. The back is also where the charger connects. I haven't noticed any issues with the contacts corroding yet. I do take off my watch and wipe the back on my pants/shirt if I'm feeling sweaty however.<br />
<br />
The front of the watch has a black plastic as well with a finish that makes it look like a gun metal gray/black. The screen itself is scratch resistent, but unfortunately the front case seems to scratch fairly easily. After wiping the casing however, the scratches are less apparent. The scratches are off/on noticeable and no longer really bother me unless I take a very close look.<br />
<br />
<h3>
Buttons</h3>
The buttons feel much better than the limited experience I had with the original Pebble.<br />
There is one on the left side (back) and three on the right (up/select/down). This simple system makes navigation quite straightforward, but does take longer than a touch screen would when selecting from a long list. Due to the size of the screen I feel it would be very difficult to use touch on it anyways and the UI can have smaller elements since you don't need to be able to poke at them.<br />
<br />
With a recent software update a press-and-hold on the left button also quick toggles the "Quiet Mode". This mode simply turns off the vibrate but stills shows the messages.<br />
<br />
You can also set hotkeys for the up/down buttons on the right side for when you hold the button. I have set them open a timer/stopwatch app and a calendar (that shows a whole month).<br />
<br />
<h3>
Band</h3>
The band is some sort of rubber, but is surprisingly supple. It also has the<br />
Charger<br />
<br />
<h3>
Battery</h3>
<br />
The battery life on the Pebble Time is fantastic! With a basic watch face (no seconds or weather data) and no background apps I lose about 10% battery per day. With a fancier watch face or background it can go down a bit faster (I don't have the exact number).<br />
<br />
Luckily the Pebble notifies you at 20%, which translates to "charge me tonight... or tomorrow if you forget about this notification" and then again at 10% which I interpret as "charge me tonight".<br />
<br />
This amount of warning has been sufficient to me. It means I don't have yet another device to charge every night and means my nightstand is a bit less cluttered. <br />
<br />
<br />
<h2>
Software</h2>
<h3>
Watchfaces</h3>
<br />
There are quite a variety of watch faces from simple digital and analogue faces, to information-dense displays, to cool animations, to weather-based skylines.<br />
<br />
The battery life is definitely decreased if the watch face gives you the weather or has an animation for seconds.<br />
<br />
I typically use the "Bars" face as it looks interesting and when my battery gets low I switch to "Enigma" as it does not have an animation every second. I've also enjoyed the "70's Tech Style" and just started trying out the "Tetris Time" watch faces.<br />
<br />
<h3>
UI</h3>
<br />
The UI uses neat animations and is easy to undestand. The only issue I have is when I am responding to a message with an emoji that scrolling can take a while. However I understand why this is the case.<br />
<br />
<h3>
Timeline</h3>
<br />
I am not heavily reliant on my calenda so I find the timeline concept not terribly useful. However I feel the idea could be useful so I am still off/on attempting to add all events to my calendar.<br />
<br />
<h3>
Apps</h3>
<br />
I have sparingly used apps on the watch, the stopwatch and calendar apps are very useful. I will look for more apps and update this post if I find them notable. <br />
<br />
<h3>
Notifications</h3>
<br />
Notifications work quite well. The icons for generic apps look good and a default bell icon is used for other apps.<br />
<br />
The vibration level is configurable and is easily noticeable. The notifications are easily dismissable with the left button and many apps allow you to reply to messages and set an email to "done" in Inbox.<br />
<br />
If an app is annoying you with notifications its easy to have the Pebble no longer receive the notifications. On the other hand, having a smart watch somewhat forces you to prune your phone notifications as over-excited watch notifications are more annoying than their phone counterparts.<br />
<br />
<h2>
Overall</h2>
<br />
After a number of months of regular use I quite enjoy my Pebble Time. The contacts are holding up, though the band is showing a bit of wear.<br />
<br />
The battery is still holding up and the functionality has gotten even better than the first version of the software.<br />
<br />
I still enjoy my Pebble enough that I would purchase it over an Android Wear watch.<br />
<br />
Feel free to post comments and questions below! James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-9859919251809875002015-01-20T15:35:00.000-06:002019-10-29T17:19:49.337-05:00Words on Password Security<div class="separator" style="clear: both; text-align: center;">
<span id="goog_726450762"></span><span id="goog_726450763"></span><br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-VvliAiiu3p0/VL6Qu-XX-RI/AAAAAAAATs8/y3FSHokkZ_U/s1600/castle-538722_1280.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Picture of a locked blue lock on a background of what appears to be a blue circuit" border="0" height="226" src="https://3.bp.blogspot.com/-VvliAiiu3p0/VL6Qu-XX-RI/AAAAAAAATs8/y3FSHokkZ_U/s1600/castle-538722_1280.jpg" title="http://pixabay.com/en/castle-privacy-policy-security-538722/" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image by: <a href="http://pixabay.com/en/castle-privacy-policy-security-538722/">geralt </a>License: CC0</td></tr>
</tbody></table>
<b>Update October 29, 2019 - </b>I tweeted a link to this and realized it was time for an update. <br />I have switched over to iOS from Android and continue to use 1Password, it works even better on iOS. Fixed tenses/removed irrelevant/old paragraphs, and added notes about lack of sponsorship.<br />
<b><br />
Update January 18, 2019 - </b>1Password uses a monthly pricing model primarily now. I've started using 1Password instead of Keepass due to family sharing, their <a href="https://watchtower.1password.com/">Watchtower service</a> (powered by haveibeenpwned.com), and the amazing ease of use on all platforms.<br />
<b><br />
Update March 18, 2017</b> - LastPass has changed their business model and the mobile app does not require a subscription. I have also become aware of the Diceware passphrase generation technique. This post has been updated to reflect that.<br />
<br />
<br />
<span style="font-size: x-large;">Preamble</span><br />
<br />
You can skip this section if you just want to get to the advice.<br />
<br />
<b>NOTE:</b> I realized I should point out to anyone reading this that I do not run ads on my site, nor are any of the links in this post affiliate or sponsored in any way. <br />
<b><br />
Disclosure: </b>I personally use 1Password, and received one (1) full year of the Family Plan for free from a friend during their Thanksgiving promotion in 2018.<br />
<br />
Seven years ago, I wrote an article about an <a href="http://blog.james-firth.com/2012/06/offline-password-creator.html">Offline Password Creator</a> inspired the xkcd comic "<a href="http://xkcd.com/936/">Password Strength"</a>. Many things have changed in those years. For instance: hacker tools now take into account that xkcd comic.<br />
<br />
In early 2014, Bruce Schneier wrote <a href="https://www.schneier.com/blog/archives/2014/03/choosing_secure_1.html">an article</a> on choosing secure passwords and specifically stated the xkcd "correcthorsebatterystaple" method of generating passwords in no longer good advice.<br />
<br />
Skip forward to 2015 (original time of posting). A friend of mine on Facebook discovered the aforementioned xkcd comic and other friends thought this advice useful. As someone with a bit of security knowledge through a university course and an enjoyment of reading security blogs (and now many years of work in the field), I felt I should help inform them. After typing a couple of hundred words in a Facebook comment, I realized I should write a new blog post to update you, my readers.<br />
<br />
Below I will give my recommendations on maintaining a reasonable amount of security with your passwords.<br />
<br />
<span style="font-size: x-large;">Use a Password Manager</span><br />
<a href="http://blog.james-firth.com/2014/04/what-is-heartbleed-as-simple-explanation.html">As I've mentioned before</a>, I recommend everyone using a password manager.<br />
<br />
A password manager typically requires you to create a "master password" that will be used to encrypt the password vault where all your passwords are stored. The manager often integrates with your web browser, making it very convenient to have a secure (long, random, unique, and a mix of character types) password for every website/application you use.<br />
<br />
<br />
<span style="font-size: large;">Choosing a Password Manager</span><br />
So you want to use a password manager, great! Now you may find the task of choosing one to use a bit daunting so I will outline the options I recommend briefly below:<br />
<br />
<i>Update: Cost information updated during the October 2019 update</i><br />
<a href="https://agilebits.com/onepassword">1Password</a> - Cost: Paid (Free Trial) $3/mo ($5/mo for families) or for a one-time version purchase ~$50 (Last I checked you could only purchase it from inside the desktop application). They also have <a href="https://www.studentappcentre.com/discounts/1password">a 6-month free trial for students</a> (<a href="https://www.reddit.com/r/1Password/comments/8zhik5/any_student_discount_for_1password/">found in a reply on reddit by their support team)</a> - Platforms: Mac, Win, iOS, Android<br />
<br />
1Password was the first password manager I used, and I recently switched back to its family plan. I made this change from Keepass because it made it easier to share passwords within my family and got them to use a password manager.<br />
<br />
It has a great user interface and experience. The browser extension works very well, and across all the platforms I need (Windows 10 and Linux). The mobile app also looks gorgeous and works great, allowing for auto-fill even in applications, not just the web. (Sometimes you have to manually switch apps and copy/paste, however I've seen less of that on iOS).<br />
<br />
I believe there's an option to sync the password vault across platforms with Dropbox, but I have opted to use 1Password's own server for this.<br />
<br />
1Password also has a .ca domain which allowed me to host my data in Canada, my home country, which was very nice to know. NOTE: As a Canadian you should sign up on initially on the .ca address, it's much more annoying to switch from a .com to .ca account in the future.<br />
<br />
1Password's family plan has also been very useful for shared accounts, such as Netflix to be shared between family members.<br />
<br />
<i>Below is my original evaluation of 1Password:</i> <br />
1Password was the first password manager I used. It has a good user interface, is fairly straightforward to use, and has a browser extension. The browser extension is important to most people because it (most of the time) allows for a single click to fill in your username and password.<br />
The password vault can be synced across platforms with Dropbox. The password vault is encrypted so this is fairly secure (always be mindful this is a relative term) but if you don't trust Dropbox I would not use this option.<br />
<br />
Depending on how many platforms you use it can get a bit pricey, I paid for a student license for my Windows desktop and found it well worthwhile! However, I also use Linux (which is unavailable currently) and the Android client (at the time) was unable to add new entries.<br />
<br />
If your use case is only on one or two platforms it's definitely worthwhile and is a friendly way to begin using a password manager.<br />
<br />
<a href="http://keepass.info/">Keepass 2 Professional Edition</a> - Cost: Free (despite its name) - Platforms: Windows, Mono (Linux, Mac, BSD, etc). Unofficially on: iOS, Windows Phone, Android, Blackberry<br />
<i><br />The following review is originally from 2015 when I was currently using Keepass:</i><br />
Keepass is was current password manager. I wanted a free alternative to 1Password that I could use to create new passwords on my phone (Android) and on Linux. I use Dropbox to sync my password vault. The user interface looks okay, and functions well. There is a browser extension which is quite useful.<br />
<br />
On Android Keepass (via <a href="https://play.google.com/store/apps/details?id=keepass2android.keepass2android">Keepass2Android Password Safe</a>) I highly recommend using the Keepass2Android keyboard to enter passwords. The keyboard simply has a "user" and "Password" button. This is safer than using the copy/paste method because any application can read from the clipboard (where the copied word gets saved) without asking for permissions.<br />
<br />
Keepass is also open source, which is something I value.<br />
<br />
This combination of cross-platform use, open source, and free helped make this my current password manager. If you don't mind taking the time to set it up (plugins required for the browser extension for instance) then it's well worth it!<br />
<br />
<i>The following info on LastPass has been modified as of March 18, 2017</i><br />
<a href="https://lastpass.com/">LastPass</a> - Cost: Free or Subscription ($12 USD/year) - Platforms: Windows, Mac, Linux, iOS, Android, Windows Phone, BlackBerry, Firefox OS, Surface RT<br />
<br />
I haven't actually used LastPass, but I've heard very good things about it from my peers and would recommend it based on their recommendations and from my readings on it. During the <a href="http://blog.james-firth.com/2014/04/what-is-heartbleed-as-simple-explanation.html">Heartbleed incident</a> LastPass was able to inform you of what passwords to reset. It also will rank your passwords and tell you which ones are weak.<i> </i>The subscription adds a few features (noted on the website) including a shared family folder.<br />
<br />
<span style="font-size: x-large;">Know Two Passwords</span><br />
My recommendation is to know two passwords.<br />
<br />
<span style="font-size: large;">Why?</span><br />
<br />
1) You need to know the password for you password manager, otherwise you can't access. So this one is very important. In the event someone steals your computer or hacks your Dropbox (or wherever the password vault lives) you want it to be very very difficult for an attacker to crack your master password.<br />
<br />
2) In the rare event of your password manager breaking, the loss of your password vault (<a href="https://gist.githubusercontent.com/ghuntley/42803b4cabb181098063/raw/2e06230c31018cefbc706dca5e7b12ef9692d87e/gistfile1.txt">Dropbox has lost files after all</a>), or other catastrophic event that results in the loss access to your password you need someway to recover them.<br />
<br />
First of all: You should <a href="http://blog.trendmicro.com/trendlabs-security-intelligence/world-backup-day-the-3-2-1-rule/">always </a><a href="http://www.howtogeek.com/189452/8-backup-tools-explained-for-windows-7-and-8/">make </a><a href="http://www.howtogeek.com/192533/how-to-back-up-your-mac-and-restore-files-with-time-machine/">backups </a>of files. Preferably following the <a href="http://blog.trendmicro.com/trendlabs-security-intelligence/world-backup-day-the-3-2-1-rule/">3-2-1 rule</a>, but most of the time a simple external hard drive will suffice. But that's a topic for another post.<br />
<br />
Second: In the case you still can't access your passwords even with a backup you want to be able to reset them. That's why the second password you should know is your email password. Almost all services let you reset your password via email, so this is crucial.<br />
<br />
<span style="font-size: large;">How?</span><br />
Now that you know why you need to know these two passwords, how will you remember them and how will you keep them secure?<br />
<br />
You could:<br />
<ol>
<li>Create a Diceware password with a simple six-sided die (aka D6)</li>
<li>Use a password manager to generate these two passwords</li>
<li>Use something like the "<a href="https://www.schneier.com/essays/archives/2008/11/passwords_are_not_br.html">Schneier scheme</a>"</li>
</ol>
<br />
For a <a href="http://world.std.com/~reinhold/diceware.html">Dicware </a>passphrase, roll a die 6 times and enter the number on <a href="https://www.rempe.us/diceware/#eff">this site</a> which will create a word from a list. Do this for 6 or more words to create a strong password. Alternatively click the "6 Words" button.<br />
<br />
<b>Make them long, make them secure. Keep them secret, keep them safe. </b><a href="https://www.schneier.com/blog/archives/2005/06/write_down_your.html">Bruce Schneier has suggested writing down your passwords</a> and keeping them in your wallet, with your other small valuable pieces of paper (bills).<br />
<br />
<span style="font-size: x-large;">Wrap-up</span><br />
With these precautions, you now have two secure passwords in case anything goes wrong, and the password managers make sure you have a strong, unique password for every website and app you make an account for.<br />
<br />
<br />
Image Sources:<br />
<span style="font-size: x-small;">Header photo: <a href="http://pixabay.com/en/castle-privacy-policy-security-538722/">geralt on pixabay</a> - License: <a href="http://creativecommons.org/publicdomain/zero/1.0/deed.en">CC0</a></span>James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-4203295914310640622015-01-05T14:53:00.003-06:002015-01-05T15:04:27.378-06:00Nexus 9 - A Review of My First Tablet<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-J0wzCvGMSyM/VKr3BKY9eGI/AAAAAAAASwU/M-TJE1Juk0w/s1600/nexus9_review.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-J0wzCvGMSyM/VKr3BKY9eGI/AAAAAAAASwU/M-TJE1Juk0w/s1600/nexus9_review.png" height="183" width="320" /></a></div>
<br />
<h2 style="clear: both; text-align: left;">
<span style="font-family: Trebuchet MS, sans-serif;">Background Information</span></h2>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">Ever since tablets had become popular I wanted one. The iPad looked great, but I wanted something running Android. The Nexus 10 was out of my price range at the time, and the Nexus 7 was too small of a screen, I wanted something closer to 10" for watching videos.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">Having set aside money for a tablet, the Nexus 9's release was perfectly timed for me. After using it for a few months I felt it was time to post a full review.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">I own an Android phone (HTC One m7), a desktop computer (using Chrome), and a Chromecast already and I am a regular user of Google's services, which may affect my views on the Nexus 9.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span> <span style="font-family: Trebuchet MS, sans-serif;">The Nexus 9 I purchased was pre-ordered from the Google Play Store and is a Black, Wi-Fi only, 32GB model, shipped to Canada.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span> <br />
<h2>
<span style="font-family: Trebuchet MS, sans-serif;">Use Cases</span></h2>
</div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">I knew I wanted something I could easily watch videos on, I also wanted something to browse the web, read PDFs without awkwardly zoom/panning and play video games on. I wasn't entirely sure how my use would evolve, but I felt the Nexus 9 would become useful and I would figure out my exact use for it over time.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="font-family: Trebuchet MS, sans-serif;"><b><u>School Life</u></b></span><br />
<div>
<span style="font-family: Trebuchet MS, sans-serif;">As a student I have been studying a lot this year and many of my professors post lecture notes online. Looking up reference materials and reading PDFs has been great on the Nexus 9. If you want to read documents without zooming (or without much zooming) it's a great device for that. I have also found Wikipedia scale nicely, as do many news sites.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">A site's decision as to whether it's a "desktop" or "mobile" browser seems to vary, but generally is "mobile" in portrait and "desktop" in landscape.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">The battery life has been more than adequate for going to class for a day, is great for showing things to friends, and feels more portable than even my 10" netbook.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="font-family: Trebuchet MS, sans-serif;"><b><u>Desktop Companion</u></b></span><br />
<div>
<span style="font-family: Trebuchet MS, sans-serif;">The <a href="https://play.google.com/store/devices/details/Nexus_9_Cover_Mint_Indigo?id=nexus_9_cover_mint_indigo">"origami cover"</a> was out of stock for almost the entire time I've had my tablet, so I ended up using my Wii U gamepad stand (the non-charging one) as it holds the Nexus 9 at a decent angle in landscape orientation.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">This has been great for scrolling through papers when working on a research document on my desktop (and my second monitor was in use).</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;">The Wii U gamepad stand is also great for watching videos at a desk and generally propping it up.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="font-family: Trebuchet MS, sans-serif;"><u><b>Couch Potato</b></u></span><br />
<div>
<span style="font-family: Trebuchet MS, sans-serif;">I'll often spend a good chunk of time on weekends or after school or work on my couch so I can put my feet up and spend time with family (both human and canine). The Nexus 9 has been a very nice size to hold while reclining and using to control my Chromecast.</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span></div>
<h2>
Oh Lolli Lolli Lolli, Lollipop!<br />
<i>Software</i></h2>
<div>
My phone isn't due for an update in a while so the Nexus 9 has been my first experience with Lollipop (Android 5.0).</div>
<div>
<br /></div>
<div>
The new Material Design look and feel of Android 5.0 is appealing to me, and I like how everything looks with it.</div>
<div>
<br />
<br /></div>
<b><u>Recent Apps</u></b><br />
<div>
The new recent apps/Overview appearance is visually appealing, but can get quite cumbersome. Lollipop rarely (if ever) clears the recent apps so I have had dozens of apps open at once, which makes scrolling through them rather difficult. The new look is great for looking at the last few apps, but overall I prefer the HTC Sense version of the Recent Apps.</div>
<div>
<br /></div>
<div>
Another new addition to the Recent Apps/Overview area is the ability to "pin" apps. This is disabled by default but can be turned on in the Settings. When it's enabled you can "pin" the app you are currently on so the Home button (The circle in Lollipop) doesn't close your app. Instead you must press a key combo (with an optional PIN code afterwards). This is great for handing a device to friends, for children (who are apparently notorious for clicking the Home button and ads), or for simply preventing yourself from closing a game by accident.</div>
<div>
<br /></div>
<div>
The key combo they chose brings me to the next section.</div>
<div>
<br />
<br /></div>
<u><b>OS Software Keys</b></u><br />
<div>
This version of Android revamped the look of the UI in a number of ways, including the on-screen buttons. In previous versions you would see an arrow pointing to the left (Back), a house or physical button on Samsung phones (Home), and a stack windows/ stack of lines(Menu).</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Lollipop switched these to simple geometric shapes: A triangle, a circle, and a square.</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="http://upload.wikimedia.org/wikipedia/commons/c/c7/Android_4.4.2.png" height="320" style="margin-left: auto; margin-right: auto;" width="180" /></td> <td style="text-align: center;"><a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Android_L_Develpment_Preview.png/337px-Android_L_Develpment_Preview.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Android_L_Develpment_Preview.png/337px-Android_L_Develpment_Preview.png" height="320" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">KitKat home screen and buttons</td> <td class="tr-caption" style="text-align: center;">Lollipop home screen and buttons</td></tr>
</tbody></table>
There's been a lot of debate over whether this was good or not in the Android community, the best argument (in my opinion) being it standardizes the buttons across devices and makes it easy to reference the buttons.</div>
<div>
<br /></div>
<div>
This would be great but Google completely ignores the shapes when referring to the buttons in my experience.</div>
<div>
<br />
When I first tried pinning an app it told me to un-pin it to press and hold the "Back and Overview buttons", to which I said "The Back and what buttons?". A moment later I realized it was referring to the square "recent apps" or "menu" button. Speaking with another Android enthusiast, it seems I wasn't alone in that split second pause.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.androidheadlines.com/wp-content/uploads/2014/10/nexus2cee_2014-10-17-23.23.21.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://www.androidheadlines.com/wp-content/uploads/2014/10/nexus2cee_2014-10-17-23.23.21.png" height="188" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">It appears on the phones it uses the term "Recents button".<br />
Source: fossbytes.com</td></tr>
</tbody></table>
<br /></div>
<div>
<br /></div>
<div>
I expected this new design language to translate into simple directions for people such as "press and hold the triangle and square buttons". In my opinion the combination of switching the icons and using new terminology ("Overview button") is more likely to confuse people, especially those new to Android or those who have difficulty with technology to begin with.<br />
<br />
Hopefully Google (and other developers) will adapt to the new buttons and use the shape names in their descriptions, making it easier for everyone to understand.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<b><u>Launcher</u></b><br />
<div>
Normally on my phone I use Nova Launcher for my homescreen. With the Nexus 9 I felt it was worth trying out the default, GEL (Google Experience Launcher), for a bit to see how it works these days.</div>
<div>
<br /></div>
<div>
I've been thoroughly enjoying the Google Now integration and have been making use of folders. The App Drawer simply looks like another folder now, which is interesting. There are two issues I have found with GEL though:</div>
<div>
<br /></div>
<div>
1) The app drawer (which looks more like a regular folder now) is white. During daylight hours this isn't an issue for me and I don't keep my tablet at my bedside. However, some have pointed out how blinding this can be late at night or in the morning.</div>
<div>
<br /></div>
<div>
2) I use folders for quick access to games and Chromecast apps. It seems that the new aspect ratio of the Nexus 9 has thrown off the stock launcher's landscape mode, as the folders cut off some icons (with no way to scroll) when I have too many in a folder.</div>
<div>
<br />
<br /></div>
<u><b>Notifications</b></u><br />
<div>
The new notifications are useful for being noticed, but can be awfully distracting when playing a game or watching a video. I noticed that some games will also display the heads up notifications but capture all the click inputs (or something), meaning I can't actually go directly to the app, but have to exit the game first.</div>
<div>
<br />
<br />
<h2>
Let's Get Physical<br /><i>Hardware</i></h2>
</div>
<div>
I planned on playing lots of games so I purchased the 32GB model, and figured Wi-Fi will be available most places I use my tablet, so I went with the Wi-Fi only model. Finally I chose black as it wouldn't yellow or get dirty as fast as the white model.</div>
<div>
<br /></div>
<div>
The Front-facing speakers were a huge selling point to me but were initially disappointing. The HTC One (m7)'s front-facing speakers were fantastic for a phone, but it felt like they were just re-used in the tablet. Over time I don't notice it as much of an issue, though sometimes I will have to turn up the volume a bit more if the clarity isn't very high.</div>
<div>
<br /></div>
<div>
The "flex" on the back is noticeable as early reviewers pointed out. I don't play with it and it doesn't bother me.<br />
<br />
The aspect ratio (4:3) is new to Android tablets, and in my opinion works great. The iPad has used this ratio for a while and has functioned well so I am glad HTC/Google took note of that and used a similar size. It feel comfortable in my hands, is easy to use in both portrait and landscape, and makes reading more comfortable. On the downside videos are framed with black or cut off, as they are designed for wide-screen primarily, but this doesn't bother me much. I've also noticed the default launcher doesn't handle the new ratio well, as folders with many items will cut off in landscape mode (a bug I will be reporting and should not be an issue in the future).</div>
<div>
<br /></div>
<div>
Playing games does cause the camera corner to heat up a fair bit, which bothers me a bit as I expected it to run a bit cooler, but no damage has been noticed yet so I assume it's just the games taxing the processor.</div>
<div>
<br /></div>
<div>
The size and weight are great and overall I love the feel.</div>
<div>
<br /></div>
<h2>
Game On</h2>
<div>
<b><u><br /></u></b>
<b><u>
Apps and Scaling</u></b></div>
<div>
Overall apps have been scaling well on the device, the new Google Calendar looks fantastic. <a href="https://play.google.com/store/apps/details?id=free.reddit.news&hl=en">Reddit News</a> (my reddit app of choice) works fantastically on my tablet, as does YouTube and Plex.</div>
<div>
<br />
I'm disappointed with Twitter's tablet UI, so I mostly stick with Talon (which I compiled myself from the <a href="https://github.com/klinker24/Talon-for-Twitter">source code posted on Github</a>).</div>
<div>
<br />
Chrome makes use of visible tabs on tablets and foregoes the tabs-as-cards UI it uses on phones. This generally works well, but with many tabs it can get annoying. I haven't experimented with using tabs as their on activity in the Overview list, but have heard mixed reviews.<br />
<br />
Games run very well on the Nexus 9, which was one reason I wanted a tablet. Hitman GO, Hearthstone, Scrolls, and Frozen Synapse are all great. However, I have run into some heat issues, nothing has overheated but it can get quite warm.<br />
<br />
It should be noted that these games can take up a lot of space, so if you want to play a lot of games I highly recommend the 32GB model.<br />
<h2>
Results</h2>
<div>
Overall I enjoy my Nexus 9 very much as my first tablet.</div>
<div>
<br /></div>
<div>
The performance and availability of apps is great, the front facing speakers work well (though not as well as expected, still quite usable). The new aspect ratio is a delight after seeing Apple products use it for so long.</div>
<div>
<br /></div>
<div>
My complaints are minimal, the heat may only be an issue with the early production runs, but for the price of the tablet I would have expected better. </div>
<div>
<br /></div>
<div>
The price being the other issue due to some build quality issues such as the heat, some texture on the plastic when I first received it, and the flexing back. Had the price been lower or these issues not existed I would have been perfectly happy.</div>
</div>
<div>
<br /></div>
<div>
If you have the money to spend, and want a higher performance tablet I would recommend the Nexus 9 as a tablet. For a cheaper, lower-end tablet I would recommend the Nexus 7 (2013) instead.</div>
<div>
<br /></div>
<div>
<i><br />
</i></div>
<div>
<i><br />
</i></div>
<div>
<i>Typos? Disagree with me? Have questions or find this review useful? Let me know in the comments!</i></div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com4tag:blogger.com,1999:blog-1113148915259803161.post-68107337944710631282014-10-30T22:39:00.000-05:002014-10-30T22:39:04.661-05:00A Quick NoteJust a quick note to any readers who are used to the old layout:<br /><br />
I switched it so it better matches my full website and no longer uses widgets that would break certain layouts.<br />
<br />
Hope to post something interesting in the near future.James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-62505601191504156972014-10-09T21:38:00.000-05:002014-10-09T21:38:38.086-05:00No Pressure - A Guide to Steam Family Sharing<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/g5aCu6q.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/g5aCu6q.png" height="205" width="400" /></a></div>
<br />
Many people have asked me about how exactly Steam Family Sharing works so I'll try and cover some of the tricks and special cases not covered in <a href="http://store.steampowered.com/promotion/familysharing">Steam's FAQ</a><br />
<br />
Sharing games with a child, parent, sibling, room mate or other person you live with is often quite simple when you use a shared computer. However, I'd like to cover the other scenario: sharing with friends.<br />
<br />
I like explaining concepts through examples so to go through all of these examples we will use two friends, Alice and Bob, who live in separate homes, use separate computers, and want to share games.<br />
<br />
For the purposes of example I will give them each a small library of games:<br />
<br />
Alice's Games:<br />
<br />
<ol>
<li>Hotline Miami (only Alice owns)</li>
<li>FTL (both Alice and Bob own)</li>
<li>Dota 2 (Free to Play so both Alice and Bob 'own' it)</li>
</ol>
<div>
<br /></div>
<div>
Bob's Games:</div>
<div>
<ol>
<li>Crypt of the NecroDancer (only Bob owns)</li>
<li>FTL (both Alice and Bob own)</li>
<li>Dota 2 (Free to Play so both Alice and Bob 'own' it)</li>
</ol>
<div>
<br /></div>
</div>
<div>
Alright great now we've got that all sorted out.<br />
<br /></div>
<div>
<br /></div>
<div>
So Steam's FAQ says "Libraries are shared and borrowed in their entirety" meaning if Alice is playing any of her games her library is considered "in use" so Bob cannot play any of her games.</div>
<div>
<br /></div>
<div>
Bob wants to play Hotline Miami, luckily Alice isn't online so he can play just like that!<br />
<br />
Odd situation: What if Bob wants to play Hotline Miami (Alice's #1 game) and Alice wants to play Crypt of the NecroDancer (Bob's #1 game)? Well they can both do that!<br />
<br />
In this scenario Alice is using Bob's library, and Bob is using Alice's so both libraries are being used (in their entirety) by only one person.</div>
<div>
<br /></div>
<div>
Caveat: When both people own a game (like FTL) Steam always considers one to be playing their own copy, this includes free to play games (like Dota 2). Meaning if Bob is playing Dota 2, Alice, sadly, cannot play Crypt of the NecroDancer. If she tries to play Steam will let her ask Bob to let her play or purchase the game for herself (which makes sense, Steam wants sales).</div>
<div>
<br /></div>
<div>
<br />Anything not make sense? Find this useful? Let me know in the comments!</div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com1tag:blogger.com,1999:blog-1113148915259803161.post-1781497818589994222014-10-05T20:13:00.000-05:002014-10-05T20:13:53.351-05:00The Bag of Rumours - A quick guide to presenting your D&D players with optionsI've been a running and playing Dungeons & Dragons off and on for the last decade. Recently I feel I've upped my game and found some useful tricks, props, and techniques that have helped enhance the game I'm currently running for my players and feel this would be useful for other DMs new and old.<br />
<br />
Today's post is about Rumours, that little blurb of plothook filled text at the beginning of a module that you're supposed to give to your players somehow. My problem with plot hooks and rumours is I was never sure how to present them to my players without feeling artificial.<br />
<br />
I was browsing the DnD subreddit one day and I either found this idea or I realized it was a good one: <i>The bag of rumours. </i><br />
<br />
<br />
<h4>
Overview</h4>
I'm currently using <a href="http://slyflourish.com/lazydm/">Sly Flourish's Lazy DM </a>ideas for adventure design but to make things more sandbox/open world I have thrown in a combination of <a href="http://www.critical-hits.com/blog/2009/06/02/the-5x5-method/">Critical Hits</a>' 5x5 method. This means I have several adventures 'on the go' that have a couple of branching ideas so if the players go off the beaten path I'll be fine.<br />
<br />
The end result of this technique is having a physical bag with many pieces of paper filled with rumours (some true and some not). Upon entering a town/spending any day looking around town each player gets to draw 1 rumour. If they make an appropriate check (Streetwise, Investigate, etc) and get above a certain DC I allow them to draw a 2nd one.<br />
<br />
The players have now picked up between 4 and 8 ideas and can choose to investigate however many they please. Sometimes it's a dead-end and sometimes it flourishes into a full adventure for them.<br />
<br />
<h4>
Setup/Preparation</h4>
Note: I'm going to use the term 'rumour' to keep the flow nicer, but I really mean a rumour, a piece of news, part of a story, a fact (sometimes a false fact). Anything the characters would hear while walking around town that could be of interest.<br />
<br />
First of all grab sheet of paper, or a text document if you want to print them out, to write your rumours on and then go find a bag you want to use. I personally use a Seagrams or Crown Royal bag, but anything will do, even a tophat!<br />
<br />
After picking my 'primary' adventure (sketched out with the Lazy DM technique) I think up related pieces of information that the players might hear around town and write them up. Try and come up with a couple of rumours that will get players intrigued and that they can put the pieces together that something is amiss. These can range from blunt/obvious connections to needing a clever player to put the pieces together. e.g. "Vincent Gallagher has been seen skulking around the graveyard recently" and "Dr Frankenstein's laboratory has had its candles burning late into the night recently". I try and keep them short (one line) but feel free to experiment with length!<br />
<br />
Great, now you've got a good plot hook for your adventure. However, if all the rumours are about this it feels a little too obvious. Since I use the 5x5 method I'll try and have a couple of other adventures set up around the area, follow the same technique and come up with a few rumours that would match those adventures. Depending on your game world current location keep in mind what other settlements are nearby and how news travels. If there's a rival rural community you might get some nasty words about them, and in a big city you might hear things from far and wide.<br />
<br />
Awesome, now we've got a ton of plot hooks for several adventures giving the players plenty of options (try to have at least 3 adventures to give them good branching options without making it too difficult on yourself). Here's the problem though, if all the rumours are both true and plot hooks, it becomes are too obvious to the players that you're shoving a plot hook/adventure in their face. This brings us to the fun part:<br />
<br />
False leads, mundane rumours, and tales about your own party. Everyone likes hearing about themselves. My party has a bard that would put on performances each night so the whole town knew about their adventure of ridding the haunted house of ghosts (actually smugglers). News travelled with a caravan and when they got to the capital of the region I made sure to include a story about adventurers doing just that. Feel free to make it sound more impressive or change what they did, as word of mouth tends to change stories as they're passed along. I also made sure to put in some other news about the last town, some good, some bad, some true, some false.<br />
<br />
The key is variety and enough quantity to keep things interesting. Remember, your players probably won't see most of your rumours on the first day, if you write a couple of extra for fun they can get them next time they look around town.<br />
<br />
Finally the false leads and mundane rumours are great. The party might grab onto one and want to investigate, this will be a nice detour and your players will realize that not every tale of dragons or gremlins is true. For instance things could keep breaking and people think it's gremlins. The worksmanship could be shoddy or maybe it's kids running around. Perhaps there's rumours of a dragon nearby killing sheep but there's just a pack of wolves. Could involve some combat, talking to NPCs and resolves quickly.<br />
<br />
Once you're done making rumours, cut them into little strips, fold them up and shake them up in the bag. If you've got a lot your players will get a nice variety and may hear a lot about one thing or nothing of another giving the town a bit more of an organic feel without feeling forced.<br />
<br />
<h4>
Wrap up</h4>
<div>
My players and I quite like our Bag of Rumours, it gives them some choices, can give them an ego boost sometimes and can take them off the beaten path to check out more about the local town/area if they want to learn more.</div>
<div>
<br /></div>
<div>
A versatile tool that is fun for my players since they get to physically draw the mysteries, useful for me to plant seeds for adventure without doing anything too in-your-face, and can help make a region feel more alive.</div>
<div>
<br /></div>
<div>
I hope you found this interesting/useful, please comment and let me know if you end up using it!</div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-90473344276806258392014-07-04T19:02:00.001-05:002014-12-22T02:53:08.232-06:00Chromecast: A Week in Review<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://commons.wikimedia.org/wiki/File%3AChromecast_dongle.jpg" style="margin-left: auto; margin-right: auto;" title="By EricaJoy (Flickr: Chromecast) [CC BY-SA 2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons"><img alt="Chromecast dongle" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Chromecast_dongle.jpg/512px-Chromecast_dongle.jpg" width="512" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<h2>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Background</span></h2>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I decided to buy a Chromecast to replace my Raspberry Pi as a Plex client and general streaming device. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I use a few services quite regularly for watching shows and these are a requirement for me to consider a new set-top box for the TV. </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
My "Streaming Trinity" is: </span><br />
<ul>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://crunchyroll.ca/">Crunchyroll</a> - for legal anime subs. (Ad-based and subscription options)</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://netflix.ca/">Netflix</a> - for movies, TV, and legal anime dubs (subscription)<br />
and </span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://plex.tv/">Plex </a> - for local media on my computer and I'm trying out some 'channels' as well to watch videos from official websites such as CBC and Discovery <br />
(Paid mobile apps,Free web/desktop clients, optional subscription or one-time lifetime unlock, requires a computer for a server)</span></li>
</ul>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The Chromecast had my trinity and more so for about $50 CAD (after shipping and tax) I figured it was worth a shot! I also purchased it in the timeframe to receive $20 on Google Play (this offer is over now, sorry). I heard you can also purchase them in-stores in Canada which would reduce your costs notably.<br />
<br />
The Chromecast itself is a one-time fee to buy the device (no "Chromecast subscription"). <br />
The only additional costs are for (some of) the apps and their associated subscriptions.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> </div>
<br />
<h2>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Chromecast Setup</span></h2>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The initial setup was a breeze, the box showed 3 simple steps which worked exactly as described. <br />
<br />
<u>Steps:</u> Plug HDMI and USB in, turn on TV to the right input, config it for your wifi.<br />
<br />
However, they fail to mention that you can also use the <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.chromecast.app">Chromecast app</a> to perform this configuration. The Chromecast gets you to setup the password for your wireless network, performs an update, reboots, and is ready to go!</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I went to my friend's house to show it off and it took a couple of tries to get it to work, so the setup isn't always flawless, but still relatively easy. I used my phone again to set up again.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span></div>
<div>
<h3>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Device Context - </span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: small;">"What phone/tv do you use?"</span></h3>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I have my Chromecast plugged into my living room TV (which is connected to the kitchen with no divider). My router is right beside the TV and Chromecast, and when I tested at a friend's we tried it both in the basement and main floor with similar stream quality. (Of course your home may behave differently with wireless).</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">My TV is a cheap RCA TV, meaning the HDMI CEC control is somewhere between limited and non-existent. While at a friend's I tested the HDMI CEC on a Dynex (didn't work) and a Philips (did work). Best to look up your TV in particular if this is a deciding factor for you.<br />
<br />
I have tested the Chromecast with an Android phone, iPhone, Android tablet, and a laptop to cover all the bases on how well things work.</span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<h2>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Usage</span></h2>
</div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">At the moment, the Chromecast simply displays its name, the time (12/24hr configurable) and a photo on your tv if you're not using it. The first day I tried out a variety of apps to see what I would like to use and what features different apps have. I use the Chromecast fairly regularly to watch TV shows on Crunchyroll and from my local Plex server.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Each app has some sort of 'cast' icon to click and then select the Chromecast you wish to play it on.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Performance overall is great! However it is often on a per-app basis so I'll go into details with each app I use. I mostly use an Android phone to control it so my information primarily comes from that experience. The iPhone compatibility has only been tested by a friend.</span><br />
<br />
<br />
<h3>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Websites vs Apps</span></h3>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Google has put out a <a href="https://chrome.google.com/webstore/detail/google-cast/boadgeojelhgndaghljhdicfkmllpafd">Chrome Extension</a> called "Google Cast" (which appears to be the name for the protocol) which is required to send content to your Chromecast from the browser.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Now for the most part you'll likely want to use the tab casting to watch videos. However, if you want to you can cast a regular tab like Facebook or Reddit, but be prepared to squint. On my TV the Chromecast did not fill the TV with the web page, but cut off the sides.<br />
However, when watching a video that supports fullscreen it would expand to the full size, I tested this with Facebook.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
Many of the sites that support Chromecast will also give you direct casting capabilities through their website (eg: Netflix, YouTube, Plex). <br />
<br />
Tab-casting can apparently be much worse than the native tab cast support, so when possible use the native casting support rather than casting the tab in any event. (I'll denote this for apps below). I tried Crunchyroll with fullscreen and tab casting and it seemed fine, a fraction of a second behind the computer but the audio was synced with the Chromecast and the picture was smooth.</span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<h3>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Apps</span></h3>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>Plex - </b>Paid (~$5.50 CAD. )<br />
<a href="https://plex.tv/">Official Site</a> - Native tab cast </span><i class="fa fa-thumbs-up"></i><br />
<a href="https://play.google.com/store/apps/details?id=com.plexapp.android" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Play Store</a><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"> </span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
I was using Rasplex on my raspberry pi before so this was a requirement for me to switch to Chromecast. The UI elements look great on the TV, it shows a slideshow of fan art in the background at first and also shows the synopsis on-screen.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The only issues I ran into was it was very slow to load one episode of a show, but when I stopped and tried again it worked fine. It also didn't want to play some episodes from the Food Network Channel I have installed on my Plex Media Server, but those files may have been taken down. In the end not a big issue.</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Once the streams have started the picture quality is great and I haven't noticed any stuttering.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
Note: A friend had issues if she started casting after hitting play.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
<br />
<b>Crunchyroll </b>- Free app (subscription optional for ad-free and full access)</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://crunchyroll.ca/">Official Site</a> - Native tab cast </span><i class="fa fa-thumbs-down"></i><br />
<a href="https://play.google.com/store/apps/details?id=com.crunchyroll.crunchyroid" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Play Store</a><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"> </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Note: I only use the Anime subscription, I'm not sure how the manga portion works.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
Crunchyroll has been working great for me. The support through Plex/XBMC wasn't cutting it for me as it wouldn't sync my progress so I really wanted that feature. The video looks great and the subtitles are crisp.<br />
<br />
<b>EDIT</b> (updated July 10, 2014): I have been having some issues with crunchyroll lately where it starts buffering and then just stops. I am unsure if this is the app, the service, or my wifi so I cannot make any judgements on it. However I figured it was worth pointing out.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<br style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;" />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <b>Netflix</b> - Free app (subscription required)</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://netflix.ca/">Official Site</a> - Native tab cast </span><i class="fa fa-thumbs-up"></i><br />
<a href="https://play.google.com/store/apps/details?id=com.netflix.mediaclient" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Play Store</a><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"> </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Same quality I have come to expect from Netflix, their Android app recently updated with their new branding and looks great. Luckily with Chromecast all the browsing is done on your device so the UI is still great (unlike on certain platforms).<br />
</span><br />
<br style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;" />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <b>YouTube </b>- Free</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://www.youtube.com/">Official Site</a> - Native tab cast </span><i class="fa fa-thumbs-up"></i><br />
<a href="https://play.google.com/store/apps/details?id=com.google.android.youtube" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Play Store</a><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"> </span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">My favourite thing about YouTube and the Chromecast is the 'TV Queue'. Which lets you add videos and anyone else who can connect to your Chromecast. This is great for YouTube parties.</span><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<br />
<h3>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Apps I've briefly used (and may not have as much to say about)</span></h3>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><b>Crackle </b>- Free (ad supported)<br />
<a href="http://www.crackle.com/">Official Site</a> - Native tab cast <i class="fa fa-thumbs-up"></i></span></div>
</div>
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.gotv.crackle.handset">Play Store</a></span></div>
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">It seemed like a good experience, it was on-demand TV/movies with ads (otherwise free) so I couldn't complain. The company is owned by Sony so that's how they get the streaming rights.</span><br />
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<br style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;" />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <b> Pocket Casts - </b>Paid </span><span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">(~$4 CAD)</span><br />
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="http://www.shiftyjelly.com/pocketcasts">Official Site</a> - Native tab cast (n/a)</span></div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=au.com.shiftyjelly.pocketcasts">Play Store</a></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This is my go-to podcast app and the streaming seemed good, I just haven't had a chance to listen to podcasts at home recently. It shows the podcast art and the progress bar on the TV.<br />
</span><br />
<br style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;" />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <b> Lakitu - </b>Free</span><br />
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.kwd.lakitu">Play Store</a></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Lets you watch Twitch.tv videos on your tv (as the official app doesn't yet). My favourite part was if I wanted to save my phone's battery there was an option to continue the stream after disconnecting (most apps don't do this).<br />
</span><br />
<br style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;" />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> <b>AllCast</b> - Free or Paid (~$5.50 CAD)</span><br />
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.koushikdutta.cast">Play Store</a></span></div>
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><br />
</span></div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The limiting factor is a 5 minute window and ads for the free version. This app lets you stream local content, Dropbox/Drive content, and from some select sources to your Chromecast and to other devices as well (full list in app description but it includes consoles, Apple TV and set top boxes). I used this to show a video from Facebook I downloaded.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I haven't found a need to pay for it yet and the cost scares me away for the moment, for some people it may be worth it though!<br />
<br />
Some supported services include Muzei (wallpapers), Twitch (no searching it seems), and Google+ Photos. Note: The Photos app supports streaming.</span></div>
<div>
<br />
<br style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;" /></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>Rdio - </b>Free or Paid (optional Subscription)</span><br />
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="http://www.rdio.com/">Official Site</a> - Native tab cast <i class="fa fa-thumbs-up"></i></span></div>
</div>
</div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.rdio.android.ui">Play Store</a></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I could not get to work. However it may work for you so give it a shot! The web app was great in my opinion and I tried the mobile app via a free trial. I'll try it again later and hopefully it will work.<br />
<br />
For me it crashed every time in the Android app and the Web site just errored on me. <br />
This lead me to find...</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>Songza - </b>Free</span><br />
<div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="http://songza.com/">Official Site</a> - Native tab cast <i class="fa fa-thumbs-up"></i></span></div>
<span style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.ad60.songza">Play Store</a></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This is a great music app everywhere that I only just discovered (and I'm using right now!)</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"> It has curated (by music professionals apparently) playlists based on moods, activities, and decades. It goes one step deeper and allows you to pick from several playlists that would fit that mood/decade/activity.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">The Chromecast support is great, it takes half the screen for album art, and half the screen for info such as play position/duration, artist, album, and playlist.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Note: The company just recently got bought by Google.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>Pluto.TV - </b>Free</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="http://pluto.tv/#!&channel=gadgetreviews">Official Site</a> - Native tab cast <i class="fa fa-thumbs-up"></i></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><a href="https://play.google.com/store/apps/details?id=tv.pluto.android">Play Store</a></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">This is a cordcutter's dream, for someone who wants a TV-like experience. It has curated channels (based on topics) so channel-surfing is possible. I've always wanted this experience in a non-tv environment just for the option. As I like having something I can watch half-way through without worrying about bad shows or commercials getting in the way.<br />
<br />
Note: Animal video lovers rejoice there are channels such as Cats 24/7, Dogs 24/7, and Polar Bears 24/7.<br />
<br />
If it takes off I hope they can partner with a streaming service such as Netflix to integrate shows into their channels.</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <br />
<h2>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Conclusion</span></h2>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I love my Chromecast so far and use it every day. I've started watching more YouTube channels because of it and have even learned a lot from leaving <a href="https://www.youtube.com/user/CGPGrey/videos">CGP Grey's</a> <a href="https://www.youtube.com/watch?v=PM79Epw_cp8&list=PLqs5ohhass_TF9mg-mqLie7Fqq1-FzOQc&index=41">"Grey Explains" playlist</a>. (The audio quality is much better later on so I linked to a recent video).</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span></div>
<div>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">I feel my purchase was worthwhile and would definitely recommend it as a buy for anyone looking for an all-in-one streaming device that uses the services I've listed!</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br />
</span> <span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><b>Updates: </b>Added some clarification on costs, other background info, and fixed some typos.<br />
<b>July 10, 2014</b> - Added some more info about Crunchyroll and talked about Pluto.TV<br />
<br />
<i><b><br />
Agree? Disagree? Any other apps I should know about? Typos? Let me know in the comments down below!</b></i></span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><i><b><br /></b></i></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;">Image Sources:<br />Chromecast Dongle - <a href="http://commons.wikimedia.org/wiki/File:Chromecast_dongle.jpg">Wikimedia Commons</a> - License:<a href="http://creativecommons.org/licenses/by-sa/2.0/deed.en"> CC BY-SA 2.0</a></span></div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-58133329115961444372014-05-03T11:28:00.000-05:002014-12-22T02:56:48.302-06:00The "I just got an Android - What apps should I get?" Guide<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-OQZ0sVw0sTQ/VJfciPdNUbI/AAAAAAAASmI/w7VQHuzUxWo/s1600/2951483568_ae79f24966_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-OQZ0sVw0sTQ/VJfciPdNUbI/AAAAAAAASmI/w7VQHuzUxWo/s1600/2951483568_ae79f24966_o.jpg" height="240" width="320" /></a></div>
<span style="font-family: Arial;"><span style="font-size: 15px; line-height: 17.25px; white-space: pre-wrap;"><b><br /></b></span></span>
<span style="font-family: Arial;"><span style="font-size: 15px; line-height: 17.25px; white-space: pre-wrap;"><b><br /></b></span></span>
<span style="font-family: Arial;"><span style="font-size: 15px; line-height: 17.25px; white-space: pre-wrap;"><b>Update:</b> I've added some more apps and updated the prices on Swiftkey since it is free now. I've also added explanations to the differences between the free and paid versions of apps. Any extra details in the description/new apps are prefaced with <i><b>Update</b> </i>or <b><i>New</i></b>
</span></span><br />
<span style="font-family: Arial;"><span style="font-size: 15px; line-height: 17.25px; white-space: pre-wrap;">This is my primer to Android apps. There are some apps I install on any Android device I have, either because I feel it's necessary, enhances the experience, or is just plain cool.
To help remind myself which apps these are and to cut down on the number of times I have to copy and paste links for people I've compiled this list. (All prices are from the Canadian Google Play Store at the time of writing)
</span></span><br />
<span style="font-family: Arial;"><span style="font-size: 15px; line-height: 17.25px; white-space: pre-wrap;"><br /></span></span></div>
<h2>
<span style="font-weight: normal;">Keyboard</span></h2>
<span style="font-family: Arial; font-size: 15px; line-height: 17.25px; white-space: pre-wrap;"><b>Swiftkey - Play Store <a href="https://play.google.com/store/apps/details?id=com.touchtype.swiftkey">Free</a>! - <a href="http://www.swiftkey.net/en/">Official Site</a></b></span><br />
This is my favourite keyboard app. I like it because of its themes, the Flow mode, and its word prediction (which is great!). To be fair, I haven't tried the new Android Kitkat keyboard, so it may have improved significantly. However, the advantage of Swiftkey is the fantastic word prediction that it learns from you, and you can continue to use the same keyboard when changing devices.<br />
<b><i>Update</i>:</b> This app is now free and offers themes as an in-app purchase instead (while still coming with a variety of base/free themes)<br />
<br />
<h2>
<span style="font-weight: normal;">
Music Player</span></h2>
<b>Shuttle Music Player (Shuttle+) - Play Store (<a href="https://play.google.com/store/apps/details?id=another.music.player">Free</a>) (<a href="https://play.google.com/store/apps/details?id=com.simplecity.amp_pro">Paid</a> $0.99 - Donate + Themes)</b><br />
This music player was made by a Redditor which is how I first heard about it. I've found it has a bunch of nice features that make it better than the default player. It features a Cards-like Holo theme. A variety of sort modes and the full version adds additional themes and helps support the dev, which is why I feel it's worth the purchase.<br />
<br />
<h2>
<span style="font-weight: normal;">Podcasts</span></h2>
<div>
<b>Pocket Casts - Play Store (<a href="https://play.google.com/store/apps/details?id=au.com.shiftyjelly.pocketcasts">Paid $3.99</a>)</b></div>
<div>
This app got me into regularly listening to podcasts. Beautiful podcast app! Lets you search/discover podcasts and add via URLs. It can auto-download podcasts on a schedule and can stream instead of downloading. A great feature is it can play just the audio from a video podcast.</div>
<div>
<br /></div>
<h2>
<span style="font-weight: normal;">
Twitter Client</span></h2>
<b>Falcon Pro - [Taken off the Play Store] - <a href="http://getfalcon.pro/">Official Site</a></b><br />
This is a great Twitter Client with a dark theme, very customizable settings. It both looks and functions great!<br />
NOTE: Recently I've been having issues with crashes and I am currently researching other Twitter clients.<br />
<br />
<h2>
<span style="font-weight: normal;">
Messaging</span></h2>
<b>TextSecure - Play Store (<a href="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms">Free</a>) - <a href="https://whispersystems.org/">Official Site</a> - <a href="https://github.com/WhisperSystems/TextSecure/">Source Code</a> (Github)</b><br />
I love this messaging client because it combines SMS, IM, Security, and Privacy. For a good breakdown on the benefits, check out their <a href="https://whispersystems.org/blog/the-new-textsecure/">blog post</a> on the subject. Your text messages are encrypted to other users of the app, and send just fine to non-users. It also looks nice and is written by one of my favourite white-hat hacker-types, Moxie Marlinspike.<br />
<br />
<h2>
<span style="font-weight: normal;">Camera</span></h2>
<b>Google Camera - Play Store (<a href="https://play.google.com/store/apps/details?id=com.google.android.GoogleCamera">Free</a>)</b><br />
Lets you do Photo Spheres and has a neat Lens Blur mode to give a fake depth of field!<br />
<br />
<h2>
<i>New: </i><span style="font-weight: normal;">Calendar</span></h2>
<b><i>New: </i>Sunrise Calendar - Play Store (<a href="https://play.google.com/store/apps/details?id=am.sunrise.android.calendar">Free</a>)</b><br />
This app is exactly what I wanted from the default and Google calendars but wasn't getting. It shows both a calendar and agenda view at the same time, syncs with a variety of providers (Facebook, Google, iCal, etc), has a web (and iOS) app, shows you the weather and finally allows you to make calendars visible but not notify you of events. <br />
<br />
This last one was the biggest feature for me, as I have family calendars synced to my phone but was getting bombarded with notifications if I kept them visible. What I have now is my family members calendars visible, but turned notifications off for those specific calendars. This lets me view their events in the agenda/calendar view but doesn't disturb my day with excess notifications.<br />
<div>
<br /></div>
<br />
<h2>
<span style="font-weight: normal;">
Reddit</span></h2>
<b>Flow for Reddit - Play Store (<a href="https://play.google.com/store/apps/details?id=com.deeptrouble.yaarreddit">Free</a>)</b><br />
This is my favourite Reddit app due to its design and support for multi-reddits which I use frequently.<br />
<br />
<b>Reddit Now - Play Store (<a href="https://play.google.com/store/apps/details?id=com.phyora.apps.reddit_now">Free</a>)</b><br />
This is a close runner-up for my favourite Reddit app but I haven't used it in a while as they didn't update to multi-reddit support as quickly as Flow did.<br />
<br />
<h2>
<span style="font-weight: normal;">
PC/Phone Connectivity</span></h2>
<b>AirDroid - Play Store (<a href="https://play.google.com/store/apps/details?id=com.sand.airdroid">Free</a>)</b><br />
This is the best app I never knew I wanted. It lets me send texts using my pc keyboard, play music from my phone on my computer, and transfer files! It does this using a password and connecting over wi-fi.<br />
<br />
<b>Plex for Android - Play Store (</b><a href="https://play.google.com/store/apps/details?id=com.plexapp.android" style="font-weight: bold;">Paid</a><u style="font-weight: bold;"> </u><b>$5.48)</b><br />
I've replaced XBMC at my apartment with Plex and this app has been well worth the money to me!<br />
<br />
<b>Unified Remote - Play Store (</b><a href="https://play.google.com/store/apps/details?id=com.Relmtech.Remote" style="font-weight: bold;">Free</a><b>) (</b><a href="https://play.google.com/store/apps/details?id=com.Relmtech.RemotePaid" style="font-weight: bold;">Paid</a> <b>$3.75 unlocks more features)</b><br />
My Plex server is my primary desktop and I don't like leaving it on overnight, I use this app to put my desktop to sleep when I go to bed and don't want to get up. Note: I have not purchased the paid version yet, but it's tempting!<br />
<br />
<b>Pushbullet - Play Store (<a href="https://play.google.com/store/apps/details?id=com.pushbullet.android">Free</a>)</b><br />
Lets you send links, files, and more both to and from your phone and computer! Built by Redditors, looks great, and is super useful!<br />
<b><i>Update</i>: </b>Pushbullet will now allow you to mirror notifications between your devices and Chrome (and disable it on a per-app basis). Meaning you can see incoming calls and app updates on your computer and dismiss the notifications from all your devices at once!<br />
<h2>
<span style="font-weight: normal;">Utilities</span></h2>
<div>
<b>ES File Explorer File Manager - Play Store (<a href="https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=en">Free</a>)</b></div>
Let's you manage files on your phone, looks decent and works well. Not much else to say.<br />
<br />
<b>Any.do To-do List & Task List - Play Store (<a href="https://play.google.com/store/apps/details?id=com.anydo">Free</a>)</b><br />
I find this is a very good To-Do list, has nice looking reminders and both a light and dark theme.<br />
<br />
<b>Splitwise - Play Store (<a href="https://play.google.com/store/apps/details?id=com.Splitwise.SplitwiseMobile">Free</a>)</b><br />
Ever try and split the cost of something between a group of friends and then figure out who owes what? Maybe pass around money 4 times? Splitwise has Android, iOS, and a<a href="https://secure.splitwise.com/"> web app.</a> It can simplify debts within groups and makes it really easy to see who owes whom how much!<br />
<br />
<b>Pocket - Play Store(<a href="https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro">Free</a>)</b><br />
Instead of leaving tabs open, emailing links, bookmarking, etc. Just save a web page, tweet, etc. to Pocket and read it later.<br />
<br />
<b>Timely Alarm Clock - Play Store (<a href="https://play.google.com/store/apps/details?id=ch.bitspin.timely">Free</a>)</b><br />
A beautiful alarm clock/stopwatch/timer. Google bought the company so now all the premium features are free.<br />
<br />
<b><i>New: </i>Gravity Screen - On/Off - Play Store (<a href="https://play.google.com/store/apps/details?id=com.plexnor.gravityscreenofffree">Free</a> with in-app purchases)</b><br />
I use the free version of this app. My phone's screen automatically turns on when I take it out of my pocket, when I wave my hand over it, and when I flip it right side up. I find this handy as I have a large phone and the power button is hard to hit. The hand wave is also a fun party trick! <br />
Note: You will have to train yourself to not hit the power button right away or you'll end up with a screen turned off all the time, I did this for a while.<br />
<h2>
<span style="font-weight: normal;">Automation</span></h2>
<b>IFTTT - Play Store (<a href="https://play.google.com/store/apps/details?id=com.ifttt.ifttt">Free</a>)</b><br />
If This, Then That. A mobile client for the IFTTT. A <i>very </i>simple way to automate your phone/internet life. It revolves around "recipes" that use your typical services.<br />
For example, when you post something to Instagram you can have it automatically set your phone's wallpaper.<br />
I have it use Pushbullet to send me a message when I miss a call (As Pushbullet has a Chrome extension so I see it on my PC).<br />
<b><br /></b>
<b>Tasker - Play Store (</b><a href="https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm" style="font-weight: bold;">Paid</a> <b>$3.99)</b><br />
Want to get fancy and automate things on your phone? Tasker gives you a lot more control over the hardware than IFTTT. For instance if I have my headphones plugged in, it will read my text messages aloud, which is great during those cold winters when I don't want to take my hands out of my pocket.<br />
Note: Often goes on sale.<br />
<br />
<h2>
<span style="font-weight: normal;">Games</span></h2>
<div>
<b>QuizUp - Play Store (<a href="https://play.google.com/store/apps/details?id=com.quizup.core">Free</a>)</b></div>
<div>
Very fun quiz game with TONS of categories! From "General Knowledge" to "Game of Thrones"!</div>
<div>
<br /></div>
<div>
<b>Spaceteam - Play Store (<a href="https://play.google.com/store/apps/details?id=com.sleepingbeastgames.spaceteam">Free</a>)</b></div>
<div>
Want to yell techno-babble and click things? This is a co-op game for iOS and Android that you play over Bluetooth or Wifi. Commands appear on your screen but the control panel is likely on another player's screen so you have to announce it to the group. Quite fun and silly!</div>
<div>
<br /></div>
<div>
<b>Ingress - Play Store (<a href="https://play.google.com/store/apps/details?id=com.nianticproject.ingress">Free</a>)</b></div>
<div>
An Augmented Reality game where you literally walk around the city to capture portals, hack other peoples' portals and gain experience.<br />
<br />
<i style="font-weight: bold;">New: </i><b>Pixel Dungeon - Play Store (</b><a href="https://play.google.com/store/apps/details?id=com.watabou.pixeldungeon" style="font-weight: bold;">Free</a> in-app donate does nothing but support the dev<b>)</b><br />
I'm a fan of rougelikes and I find the controls on this surprisingly good. Of course the game is quite fun!</div>
<div>
<br /></div>
<h2>
<span style="font-weight: normal;">And more...</span></h2>
<div>
There's a bunch of other "standard apps" that depend on the services you use. Netflix, Soundcloud, Dropbox, Crunchyroll, etc. All of the apps you would expect to be on all platforms are on Android as well.<br />
<br />
<span style="font-size: x-small;">Image Sources:<br />Android Wallpaper - <a href="https://www.flickr.com/photos/ericajoy/2951483568/">Flickr: EricaJoy</a> - License: <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC BY SA 2.0</a></span></div>
<span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span>James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com2tag:blogger.com,1999:blog-1113148915259803161.post-34109357633442025862014-04-11T13:32:00.002-05:002014-12-22T03:00:56.589-06:00What is Heartbleed? A Simple Explanation.<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-QvAC0Q46908/VJfdK0F_xcI/AAAAAAAASmQ/GabCljFRpi0/s1600/heartbleed-378010_1280.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-QvAC0Q46908/VJfdK0F_xcI/AAAAAAAASmQ/GabCljFRpi0/s1600/heartbleed-378010_1280.png" height="200" width="165" /></a></div>
<br />
The Heartbleed bug is the trending topic online this week and I hope to consolidate some resources and explain what the issue is. The end of this post contains many links that will also help explain the situation.<br />
<u style="font-size: xx-large;"><br /></u>
<u style="font-size: xx-large;">What is it? </u><br />
<span style="font-size: x-large;"><br /></span>
<br />
<div>
It is a security vulnerability that has existed in the OpenSSL software library for two years. Heartbleed allows an attacker to read data that would otherwise be considered protected. This includes things like passwords, emails, and private keys. Unfortunately this act of reading data is undetectable, so we must assume that all passwords have been stolen and an attacker has copied all the private keys.</div>
<div>
<br /></div>
<div>
For those unfamiliar with public-key cryptography, a private key is what identifies someone online, allowing them to read encrypted messages sent to them. This can also allows someone to pretend they are Facebook and perform other such attacks. </div>
<div>
<br /></div>
<div>
OpenSSL is used by the most popular web server on the internet, <a href="https://httpd.apache.org/">Apache</a> (approximately 66% of web sites use it). There is a patch that has been released but all the website admins must apply the patch and create a new set of keys, to prevent the attackers from just using the old keys they might have.</div>
<div>
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://imgs.xkcd.com/comics/heartbleed_explanation.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="http://imgs.xkcd.com/comics/heartbleed_explanation.png" height="640" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Source: <a href="https://xkcd.com/1354/">xkcd.com/1354/</a></td></tr>
</tbody></table>
<br />
<span style="font-size: x-large;"><u>What do I need to do?</u></span><br />
<br />
<h3>
<span style="font-size: large;">Reset Passwords</span></h3>
<div>
Consult this list of <a href="http://mashable.com/2014/04/09/heartbleed-bug-websites-affected/">Passwords to Change</a> and change every your password on every website with a checkmark. Reset the password on <b>each website </b>to a <b>unique</b> password (See <a href="http://blog.james-firth.com/2012/06/offline-password-creator.html">my previous post</a> and <a href="https://www.schneier.com/blog/archives/2014/03/choosing_secure_1.html">Bruce Schneier's post</a> for more information on how to do it). I also advice my friends to change <b>ALL </b>their passwords just in case. However, if a website has not patched yet, you will need to reset your password after the patch as well.</div>
<div>
<br /></div>
<div>
<b>NOTE:</b> Be careful of phishing emails claiming to be password resets. When in doubt, type in the url in the address bar manually.</div>
<div>
<br /></div>
<span style="font-size: large;">Use a Password Manager</span><br />
<div>
Use a Password Manager to manage all your passwords for you, so every site can be unique. Personally the only 2 password I personally know for:</div>
<div>
<ol>
<li>My password manager - So I can log into everything else</li>
<li>My email - in the worst case scenario that my password manager no longer works, I can still reset all my passwords through my email.</li>
</ol>
<div>
Both of these passwords are secure! Meaning 20 characters with a mix of letters and numbers. For someone who has trouble remembering a long password, Bruce Schneier recommends having a secure generated password, and simply writing it down and putting it in your wallet.</div>
</div>
<div>
<br /></div>
<div>
Recommended Password Managers: <a href="https://lastpass.com/">LastPass</a> for those want something easy and free. <a href="https://agilebits.com/onepassword">1Password</a> for those who don't mind paying. Finally, <a href="http://keepass.info/">KeePass2</a> for those who don't mind a little extra setup.</div>
<div>
<br /></div>
<div>
I have personally used 1Password and KeePass2 and heard very good things about LastPass.</div>
<h3>
<span style="font-size: large;">Donate to the OpenSSL Software Foundation</span></h3>
<div>
You can also donate to the OpenSSL Software Foundation so they can continue to improve the security of the software here: <a href="https://www.openssl.org/support/donations.html">https://www.openssl.org/support/donations.html</a></div>
<h2>
</h2>
<span style="font-size: x-large;"><u>More Information</u></span><br />
<div>
Here are links that may be useful</div>
<div>
<br /></div>
<div>
<b>Information</b></div>
<div>
<a href="http://heartbleed.com/">heartbleed.com</a> - explains the issue and has a Q&A section.</div>
<div>
<a href="http://www.cbc.ca/news/technology/heartbleed-web-security-bug-what-you-need-to-know-1.2603988">CBC article</a> - Explains a lot in a news format and contains useful links itself.</div>
<div>
<a href="http://mashable.com/2014/04/09/heartbleed-bug-websites-affected/">Passwords to Change</a> - List of to change.</div>
<div>
<br />
<b>Checking if Sites are Safe</b></div>
<div>
<a href="http://filippo.io/Heartbleed/">Heartbleed test</a></div>
<div>
<a href="https://github.com/musalbas/heartbleed-masstest/blob/master/top10000.txt">Top 10,000</a> - Someone used the above test to generate a list of vulnerable sites (may not be up to date however)</div>
<div>
<a href="https://lastpass.com/heartbleed/">LastPass Heartbleed Checker</a><br />
<br />
Image Sources:<br />
xkcd comic - <a href="http://xkcd.com/1354">xkcd.com/1354</a><br />
Heartbleed image - <a href="http://pixabay.com/en/heartbleed-heart-bleeding-378010/">pixabay</a> - License: <a href="http://creativecommons.org/publicdomain/zero/1.0/deed.en">CC0</a></div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-61930585461611278842014-04-11T12:53:00.000-05:002014-04-11T12:53:31.619-05:00Films and Ads<h2>
Ads</h2>
I've noticed a lot of activity on my blog recently and I've decided to include a small Google Ads widget on the side of the page to help maintain the cost of running my main website.<br /><br />If you find the ads too intrusive please let me know in the comments.<br />
<br />
<h2>
Films</h2>
<div>
I have just taken a course from the Department of Film Studies at my university and to help review for the exam I may be posting some movie reviews/analysis.<br /><br />This strays from the general theme of technology on the blog so far, but is one of my interests so I hope that you, Reader, find it interesting too.</div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-19620112841647681752013-12-19T02:34:00.000-06:002014-02-23T20:49:34.016-06:00A Minor UpdateI made a few changes to my website today, including completely changing this blog's layout. I added Flattr integration which wasn't working with the Dynamic layout I had before. Let me know what you think about the change!<br />
<br />
Speaking of Flattr, I've added a Flattr button to my main website in addition to other donation options like Paypal and Bitcoins in case people want to support my work (and/or hosting costs).<br />
<br />
I've also added a neat little web app over at <a href="http://james-firth.com/projects/palettefy">http://james-firth.com/projects/palettefy</a> that finds the proportion of colours in an image. May need some more tweaks but that's the initial version.<br />
<br />
I'll publish another blog post soon about how to setup and run automated tests with Selenium!James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-62193295309612394852013-09-28T13:22:00.003-05:002014-12-22T03:12:09.381-06:00How to install RHQ on CentOS<div class="separator" style="clear: both; text-align: center;">
<a href="http://rhq-project.github.io/rhq/img/logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://rhq-project.github.io/rhq/img/logo.png" width="50%" /></a></div>
<a href="http://commons.wikimedia.org/wiki/File%3ACentos_full.svg" title="By by Nicu B. 2007 nicubunu.ro / CentOS (http://fedora.nicubunu.ro/centos/) [GPL (http://www.gnu.org/licenses/gpl.html) or CC0], via Wikimedia Commons"><img alt="Centos full" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Centos_full.svg/256px-Centos_full.svg.png" width="50%" /></a><br />
<div>
<span style="font-family: inherit;"><span style="font-size: small;"><span style="font-weight: normal;"><br />
</span></span></span></div>
<h2>
<span style="font-family: inherit;"><span style="font-size: small;"><span style="font-weight: normal;">This guide was originally written for a work project, but I was given permission to blog about it.</span></span><br />
<br />
My Virtual Machine Setup</span></h2>
<div>
<span style="font-family: inherit;">You can of course use whatever you would like but this is my setup.</span></div>
<div>
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><strong><span style="font-family: "Calibri","sans-serif"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;">OS:</span></strong> CentOS 6.3 64-bit Desktop</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><strong><span style="font-family: "Calibri","sans-serif"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;">Virtual Machine Software</span></strong>: VMWare Player </span></div>
<span style="font-family: inherit;"><strong><span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-CA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Virtual Machine Specs</span></strong><span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ansi-language: EN-CA; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">: about 2-3GB of memory and 2 Processors</span></span><br />
<span style="font-family: inherit;"><span style="font-size: 15px; line-height: 17px;"><br />
</span> <span style="font-size: 15px; line-height: 17px;">Install the OS with VMWare Player, its handy Easy Install will do most of that work for you, so you can walk away until it's finished.</span></span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<h4>
<span style="font-family: inherit; font-size: 15px; line-height: 17px;">Linux/CentOS Usage Notes</span></h4>
<div>
<span style="font-family: inherit; font-size: 15px; line-height: 17px;"><i>For those unfamiliar with Linux here are some quick notes</i></span></div>
<div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;">If you are not comfortable with using vi, simply replace any instance of ‘vi’ with ‘nano’.</span><br />
<span style="font-family: inherit;">Nano is a much more user-friendly command line text editor.</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;">Nano overview of nano<span style="text-indent: -18pt;"><span style="font-size: 7pt;"> </span></span></span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<ul>
<li><span style="font-family: inherit;"><span style="text-indent: -18pt;"><span style="font-size: 7pt;"> </span></span><span style="text-indent: -18pt;">Keys work as you would expect, you can type instantly and arrows move the cursor around. Move the cursor down past the bottom to scroll.</span><span style="text-indent: -18pt;"><span style="font-size: 7pt;"> </span></span></span></li>
<li><span style="text-indent: -18pt;"><span style="font-size: 7pt;"><span style="font-family: inherit; font-size: small;">Press <b>Ctrl-O</b> (shown as ^O) to save (shown as WriteOut)</span></span></span></li>
<li><span style="text-indent: -18pt;"><span style="font-size: 7pt;"><span style="font-family: inherit; font-size: small;"><span style="text-indent: -18pt;"><span style="font-size: 7pt;"> </span></span><span style="text-indent: -18pt;">Press <b>Ctrl-X</b> to exit (Shown as ^X)</span></span></span></span></li>
<li><span style="text-indent: -18pt;"><span style="font-size: 7pt;"><span style="font-size: small;"><span style="font-family: inherit; text-indent: -18pt;">Since you now know what the ^ means (ctrl key) you can read the menu at the bottom of the screen easily!</span></span></span></span></li>
</ul>
</div>
</div>
<div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;">Vi quick commands:</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<ul>
<li><span style="font-family: inherit;">Press <b>i</b> (or the insert key) to go into Insert mode. Press Esc to exit Insert mode.</span></li>
<li><span style="font-family: inherit;">Type <b>:wq</b> (then press enter) to save and quit</span></li>
<li><span style="font-family: inherit;">Type <b>:q</b> (then hit enter) to quit without saving.</span></li>
</ul>
<h2>
<span style="font-family: inherit;"> Download and Install Requirements</span></h2>
<div>
<span style="font-family: inherit;">NOTE: The install commands are assuming you are using CentOS. If you are using another package manager you may have to replace the "<b>yum</b>" commands with something else such as "<b>apt-get</b>"</span></div>
<div>
<span style="font-family: inherit;"><br />
</span></div>
<div>
<div class="MsoNormal">
<span style="font-family: inherit;">Go to <a href="https://docs.jboss.org/author/display/RHQ/Download+RHQ">https://docs.jboss.org/author/display/RHQ/Download+RHQ</a> and download the newest version of RHQ (rhq-server.4.6.0.zip at the time of writing). Continue with the following steps while it downloads.</span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoNormal">
</div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
</div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">1.<span style="font-size: 7pt;"> </span><!--[endif]-->Open a Terminal Window</span><br />
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">2.<span style="font-size: 7pt;"> </span><!--[endif]-->Login as Super User</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">2.1.<span style="font-size: 7pt;"> </span><!--[endif]-->Type <b>su</b></span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">2.2.<span style="font-size: 7pt;"> </span><!--[endif]-->Enter password</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">3.<span style="font-size: 7pt;"> </span><!--[endif]-->Install PosgreSQL</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 61.2pt; text-indent: -25.2pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">3.1.1.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>yum install postgresql*</b>’ making sure to include the asterisk (*)</span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0.0001pt 61.2pt; text-indent: -25.2pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">3.1.2.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>y</b>’ when prompted (happens twice)</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">4.<span style="font-size: 7pt;"> </span><!--[endif]-->Confirm java version</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">4.1.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>java –version</b>’</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">4.2.<span style="font-size: 7pt;"> </span><!--[endif]-->Confirm it’s running at least 1.6 and using OpenJDK (or Oracle/Sun Java or JRockit, but NOT GNU Libgcj)</span><br />
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">5.<span style="font-size: 7pt;"> </span><!--[endif]-->(If not installed) Install Java</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">5.1.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>yum install java</b>’</span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">5.2.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>y</b>’ when prompted</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0.0001pt 18pt; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.<span style="font-size: 7pt;"> </span><!--[endif]-->Add RHQ_SERVER_JAVA_HOME environmental variable</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.1.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>vi /etc/environment</b>’</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.2.<span style="font-size: 7pt;"> </span><!--[endif]-->Add ‘<b>RHQ_SERVER_JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64</b>’ (or whichever version of Java is running of course)</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.3.<span style="font-size: 7pt;"> </span><!--[endif]-->Save</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.4.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>source /etc/environment</b>’ to load the variables</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.5.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘e<b>cho $RHQ_SERVER_JAVA_HOME</b>’ and the output should be '<b>/usr/lib/jvm/jre-1.6.0-openjdk.x86_64’</b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.6.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64</b>’</span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0.0001pt 39.6pt; text-indent: -21.6pt;">
<!--[if !supportLists]--><span style="font-family: inherit;">6.7.<span style="font-size: 7pt;"> </span><!--[endif]-->Type ‘<b>export PATH=$PATH:/usr/lib/jvm/jre-1.6.0-openjdk.x86_64</b>’</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<h2 style="text-align: left;">
<span lang="EN-CA" style="font-family: inherit;">Configure the PostgreSQL Database</span></h2>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Initialize the database</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">1.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>/etc/init.d/postgresql initdb</b>’<br />
This will add all the config files we need to edit</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">2.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Edit pg_hba.conf</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">2.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>vi /var/lib/pgsql/data/pg_hba.conf</b>’</span></span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA">2.2.<span style="font-size: 7pt;"> </span></span></span><!--[endif]--><span lang="EN-CA">Change the last few lines from</span></span><br />
<blockquote class="tr_bq">
<span lang="EN-CA" style="font-family: inherit;"></span><br />
<div class="MsoListParagraph" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<span lang="EN-CA"><span class="MsoIntenseEmphasis"><span lang="EN-CA" style="font-family: inherit;"># "local" is for Unix domain socket connections only<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span> <br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 0.5in;">
<span lang="EN-CA" style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA">local all all ident<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span> <br />
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.2in; text-indent: 0.3in;">
<span lang="EN-CA" style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA"># IPv4 local connections:<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span> <br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 0.5in;">
<span lang="EN-CA" style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA">host all all 127.0.0.1/32 ident<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span></blockquote>
</div>
<span style="font-family: inherit;"><br />
</span> <br />
<div class="MsoListParagraph" style="margin: 0in 0in 0.0001pt 0.85in;">
<span lang="EN-CA" style="font-family: inherit;"><br />
to</span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span> </span><br />
<blockquote class="tr_bq">
<span lang="EN-CA" style="font-family: inherit;"></span><br />
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.35in; text-indent: 0.5in;">
<span lang="EN-CA"><span class="MsoIntenseEmphasis"><span lang="EN-CA" style="font-family: inherit;"># "local" is for Unix domain socket connections only<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span> <br />
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.35in; text-indent: 0.5in;">
<span lang="EN-CA" style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA">local all all trust<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span> <br />
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.35in; text-indent: 0.5in;">
<span lang="EN-CA" style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA"># IPv4 local connections:<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span> <br />
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.35in; text-indent: 0.5in;">
<span lang="EN-CA" style="font-family: inherit;"><span class="MsoIntenseEmphasis"><span lang="EN-CA">host all all 127.0.0.1/32 trust<o:p></o:p></span></span></span></div>
<span lang="EN-CA" style="font-family: inherit;"> </span></blockquote>
</div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0.0001pt 0.85in;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">3.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Start Postgres service</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">3.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>service postgresql start</b>’</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">4.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Add a user</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">4.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>psql postgres postgres</b>’. You should be given a new prompt <i><b>postgres=#</b></i></span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><b><i><br />
</i></b></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">5.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type <i><b>CREATE USER rhqadmin with password ‘rhqadmin’; </b></i><br />
with quotes NOTE: Don’t forget the semicolon, otherwise it will give you a new line to enter more text. If this happens simply enter a semicolon (;). Also be sure to use different names than these dummy ones.</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">6.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Create database</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">6.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type <b>CREATE DATABASE rhq owner=rhqadmin;</b></span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><b><br />
</b></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">7.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Test Database connection</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">7.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>\c rhq rhqadmin</b>’ to test connection</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">7.2.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>\q</b>’ to exit psql</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">8.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Config postgresql to start on boot</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">8.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>chkconfig --list postgresql</b>”<br />
Should display <br />
<span class="MsoIntenseEmphasis"><b>postgresql 0:off 1:off 2:off 3:off 4:off 5:off 6:off</b></span></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">8.2.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>chkconfig --level 0123456 postgresql on</b>’</span></span></div>
<div class="MsoListParagraphCxSpLast" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">8.3.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>chkconfig --list postgresql</b>’ (or hit the up arrow twice) to confirm config</span></span></div>
<div class="MsoNormal" style="margin: 0in 0in 0.0001pt 0.75in;">
<span lang="EN-CA" style="font-family: inherit;">Should display <br />
<span class="MsoIntenseEmphasis"><b>postgresql 0:on 1:on 2:on 3:on 4:on 5:on 6:on</b><br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></span></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span> <br />
<h2>
<span class="Heading1Char"><span lang="EN-CA" style="font-family: inherit; font-size: 14.0pt;">Install RHQ</span></span></h2>
<span lang="EN-CA" style="font-family: inherit;"> Once it’s downloaded unzip it</span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Unzip using either the Archive Manager GUI or the command unzip rhq-server-4.6.0 </span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">1.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Commandline Option type: ‘<b>unzip rhq-server-4.6.0.zip –d ../Desktop</b>’ (if you’re in the Download directory)</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">2.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Change directory to the rhq server’s bin folder</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">2.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>cd /home/user/Desktop/rhq-server-4.6.0/bin/</b>’</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">3.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Start the server</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">3.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">In the server bin directory type ‘<b>./rhq-server.sh start</b>’</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">4.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Add password</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">4.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>./rhq-installer.sh --dbpassword=rhqadmin</b>’ (that’s 2 dashes) <br />
So the installer has the correct password</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">5.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Edit the rhq-server.properties files </span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">5.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Change <b>rhq.autoinstall.enabled=false</b> to true in the Installer Settings section</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">6.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Run the installer</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.55in; text-indent: -0.3in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">6.1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Type ‘<b>./rhq-installer.sh</b>’</span></span><br />
<span lang="EN-CA" style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt;">
<span lang="EN-CA" style="font-family: inherit;">You can now access the following applications through firefox using ‘rhqadmin’ as both the username and password.<br />
<br />
<u> JBoss Application server</u> <a href="http://localhost:6990/">http://localhost:6990</a><br />
<u> RHQ</u> <a href="http://localhost:7080/">http://localhost:7080</a></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0.0001pt 0.25in;">
<span lang="EN-CA" style="font-family: inherit;">Notes: </span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-bottom: 0.0001pt; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">1.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">I had an error logging into RHQ, may have been a typo on the password. To resolve I opened JBoss then RHQ then my password worked again. Opening and closing the webpages and retrying also seemed to fix it. Not entirely sure why this happens, but it was solvable within a few minutes each time.</span></span><br />
<span style="font-family: inherit;"><span lang="EN-CA"><br />
</span></span></div>
<div class="MsoListParagraphCxSpLast" style="margin-bottom: 0.0001pt; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: inherit;"><span lang="EN-CA">2.<span style="font-size: 7pt;"> </span></span><!--[endif]--><span lang="EN-CA">Do not forget the http:// if you are manually typing it out. Firefox does not recognize localhost:6990 as a webpage</span></span></div>
<h2>
<span lang="EN-CA" style="font-family: inherit;">To start all the services when logging in again:</span></h2>
<div class="MsoNormal">
<span lang="EN-CA" style="font-family: inherit;">Login as root (type ‘<b>su</b>’)</span></div>
<div class="MsoNormal">
<span lang="EN-CA" style="font-family: inherit;">Type ‘<b>/home/user/Desktop/rhq-server-4.6.0/bin/rhq-server.sh start</b>’ to startup RHQ again</span></div>
<span style="font-family: inherit;"><br />
</span> <br />
<div class="MsoNormal">
<span lang="EN-CA" style="font-family: inherit;">PostgreSQL should already be started.</span></div>
</div>
<span style="font-family: inherit;"><br />
</span> <br />
<h2>
<span style="font-family: inherit;"><span style="font-size: small;">Comments, Questions, and Criticism for this guide are appreciated to help keep it relevant!</span></span></h2>
</div>
<div>
<span style="font-family: inherit;"><span style="font-size: small;"><br />
</span></span></div>
<div>
<span style="font-family: inherit; font-size: x-small;">Image Sources:</span></div>
<div>
<span style="font-family: inherit; font-size: x-small;">RHQ Logo - </span><span style="font-size: x-small;"><a href="http://rhq-project.github.io/rhq/">RHQ Homepage</a></span></div>
<div>
<span style="font-size: x-small;">CentOS logo - <a href="http://commons.wikimedia.org/wiki/File:Centos_full.svg">Wikimedia</a> - License: Public Domain</span></div>
</div>
</div>
James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-86448785394950841282013-06-29T19:27:00.002-05:002014-12-22T03:13:20.170-06:00What should I buy?: A Smartphone Guide<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-OcnoNS9O6Ao/VJfgnu2FnUI/AAAAAAAASmc/7xYNUPRbrgk/s1600/phones.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-OcnoNS9O6Ao/VJfgnu2FnUI/AAAAAAAASmc/7xYNUPRbrgk/s1600/phones.png" height="213" width="320" /></a></div>
<i><br /></i>
<i><br /></i>
<i>My friend asked for information on what phone to get on Facebook and I ended up writing way too much in the comments and decided to put it here.</i><br />
<h2>
Unlocking</h2>
Rogers (and I believe others) won't unlock a phone right away (90 days for Rogers). You could also buy a phone unlocked, or get it unlocked by someone besides the carrier (may void the warranty). The Nexus 4 can be bought from Google unlocked, unsubsidised.<br />
<br />
<b>NOTE</b>: Starting in December carriers will be required to allow you to unlock the phone immediately if you pay full price and after 90 days if it's subsidised. <a href="http://www.crtc.gc.ca/eng/info_sht/t15.htm">CRTC Phone rights</a><br />
<br />
<h2>
iOS vs. Android</h2>
I would recommend looking at both of these a bit to figure out what features you like most.<br />
<br />
Personally I like Android, but iOS works perfectly well for many people. iOS 7 (latest) has many features from Android which I also like.<br />
<br />
I won't go into the details on iOS as I'm no expert and not sure of everything included in iOS 7.<br />
<br />
Android however I could go on about for a while.<br />
<br />
<ul>
<li>Things I like (Software) Customization, if I don't like something I can replace it (music player, texting app, even the dialer. Oh and keyboard! Lots of cool keyboards).</li>
<li>More than one button! (Back button for instance)</li>
<li>Integrates with Gmail and other Google products very well which I use a lot.</li>
<li>Widgets (are still Android-only I believe) let you control lots of nice things from your home screens. For instance wifi, or give you news feeds (for instance you could have your twitter feed on the home screen without opening the app)<br /><br />
<br />
</li>
<li>Android Beam. If you have a phone with NFC (the big phones this year all do) then you can simply touch phones with another Android (with NFC) and send them stuff. I've sent contact info, web pages and even songs through it. (Song just to test it out).</li>
<br />
</ul>
<br />
<br />
<h2>
Hardware</h2>
You could read plenty of reviews on the 3 big names in phones right now: HTC One, Samsung Galaxy S4, and iPhone 5. (Sometimes the Nexus 4 gets thrown in, but it's a bit older so I wouldn't recommend it as it could get outdated quicker).<br />
<br />
I won't give a full run-down as I'd recommend just Googling and comparing some phones but taking reviews with a grain of salt as everyone has preferences. Here's one such quick <a href="http://www.theverge.com/products/compare/6927/6116/6863/6274">side-by-side comparison</a>.<br />
<br />
Here's a quick break down though:<br />
<br />
<b>Screens</b>: iPhone 5 is 4 inches, One & S4 are around 5".<br />
<br />
<b>Processor:</b> iPhone is a duo-core, One & S4 are both quad-core<br />
<br />
<b>RAM: </b>iPhone is 1GB, One & S4 are 2GB<br />
<br />
<b>Storage:</b> iPhone comes in 16, 32, & 64 GB (non expandable), the S4 is the same, but you can add a microSD card (up to 64GB) to make it quite large. HTC One only has 32 & 64 (non-expandable). Personally I found the 32 was great. NOTE: Look up what the usable space is as part of those quotes is used up by the OS.<br />
<br />
<b>Fancy stuff:</b> S4 & HTC One both have NFC (Near Field Communication) chips & IR Blasters, I have an app that let me turn off the projectors at school :P<br />
<br />
<b>Battery:</b> My HTC One is doing fine and I haven't heard any complaints from my girlfriend or friend about their iPhone 5 & S4 respectively.<br />
<br />
<b>Cameras:</b> Stats are all different, but they all take decent photos. Again look up camera reviews if you care that much.<br />
<br />
<br />
<h2>
Software UI</h2>
iPhone has iOS so you've probably seen that before. Personally I don't like that everything is on the homescreens or the single button design. But that's up to you! Here's <a href="http://www.theverge.com/2013/6/10/4407630/apple-announces-ios-7">an article on iOS 7</a><br />
<br />
S4 uses Samsung's TouchWiz UI. Personally I don't like it that much and feel it looks dated. However some people really like it (it's very grey/green with gradients). They also have some very cool gimmick features, such as scrolling through the web browser as you look down the page, pausing videos when you look away from the screen, and some neat gesture stuff.<br />
<br />
HTC One uses a brand new UI, called Sense 5 (which is much better than the old one IMO). It's very flat and minimalistic, using black, white, and blue a lot. Some things have been changed from standard Android, but seeing as you haven't used it it wouldn't require any re-learning. It also has the Beats Audio stuff, ie a very nice speaker (as I showed you). You may want to see what it's like with headphones, I enjoy it though. One thing that you may or may not like is "BuzzFeed", by default it's your homescreen (I moved mine to the far left). It's a news feed that you can customize with Facebook, Twitter and news sources, it also gives you time/date/temperature info. You however cannot remove this screen if you keep using the default launcher. Here's <a href="http://www.theverge.com/2013/3/11/4086390/htc-one-review">a review of the HTC One and Sense UI</a><br />
<br />
I would recommend Googling the terms in Google Image Search to see what the UIs look like in more detail.<br />
<br />
<b>NOTE</b>: With the S4 & the One you can always customize the UI however you'd like. For example if you don't like BuzzFeed, install Nova Launcher and you have a completely different home screen experience. And if you don't want the gimmicky features like the scrolling, turn them off in the settings.<br />
<br />
<h2>
Games</h2>
iOS (for some reason) will often get more exclusives than Android, but you can side-load apps onto Android without going through the Play Store (such as Humble Bundle games) which is great!<br />
<br />
<h2>
Testing/Feel</h2>
I think the most important thing to do is try out the phones! You can go to the stores and try them out, but you won't get a good idea of how they feel in your hands.<br />
<br />
Try and find friends or friends-of-friends who have the phones and will let you hold/try them, as it's much different than when they're locked down at a store.<br />
<br />
Definitely try them out though even if it's attached to a thing at a store!<br />
<br />
<br />
<h2>
Summary</h2>
<br />
Personally I'm a huge fan of Android and I'm loving my HTC One so that's my current recommendation. However it may not be for you and you may want other opinions than mine.<br />
<br />
I read up a lot on Android so at least in that department I'm well-informed (in my opinion).<br />
<br />James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com1tag:blogger.com,1999:blog-1113148915259803161.post-63074275186847124632013-05-30T17:04:00.000-05:002013-09-30T09:50:49.848-05:00Script to create full CVS Changelogs<h4>
Background</h4>
CVS Commit histories are saved file-by-file. In my coursework we were required to use a CVS repository to create a group project.<br />
<br />
<h4>
Why did I do this?</h4>
I didn't like having to check individual files to find out what's been changed so I did some looking and found cvs2cl that would create a changelog. <br />
<br />
<h4>
How I solved the problem</h4>
Luckily I have a Raspberry Pi sitting around so I created this script to automatically create full changelogs each time a new commit was found. (Mine checks every 15 minutes for new commits).<br />
<br />
Several things one would need to do to replicate this setup.<br />
<br />
1) Checkout the project from the CVS repo manually<br />
2) Update the regex on line 15 to match the username naming scheme<br />
3) Install cvs2cl<br />
4) Install/setup exim4 (which allows me to send email through my secondary Gmail account)<br />
5) Change YOU@DOMAIN.COM to the email you wish the log to be sent to.<br />
6) Edit crontab to have the script run automatically (or set it up some other way)<br />
<br />
<br />
NOTE: The regex on line 15 would need to be changed. This looks for the first UofM username, which starts with "um" all the time.<br />
<pre class="brush:bash" id="code">#!/bin/sh
cd /path/to/local/cvs/repo/
output="$(cvs -qn update)"
echo $output
if [ -x "$output"]
then
echo "No Updates."
else
echo "New commit available!"
echo "Updating..."
cvs update -C -d
echo "Creating ChangeLog..."
cvs2cl;
sleep 2
person="$(grep -o -m 1 'um*\w*' ChangeLog)"
echo $person
echo "Sending email..."
mail -s "New Commit by $person. Full ChangeLog Below" YOU@DOMAIN.COM < ChangeLog
sleep 2
echo "Removing ChangeLog..."
rm -f ChangeLog
echo "Mission Complete."
fi
</pre>
<br />
<script type="text/javascript">
var element = document.getElementById('code');
SyntaxHighlighter.highlight(undefined, element);
</script>(Script also available on <a href="https://gist.github.com/James-Firth/5681517">github</a>)<br />
<br />
Questions, Comments, Criticism are welcome below!James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com0tag:blogger.com,1999:blog-1113148915259803161.post-67711463542523280462012-06-08T01:59:00.000-05:002015-01-20T15:35:33.468-06:00Offline Password Creator<span style="font-size: large;"><b>UPDATE</b>: </span>Please read my <a href="http://blog.james-firth.com/2015/01/words-on-password-security.htm">update on password security</a>, as this post is no longer good advice but will be left up for archival purposes.<br />
<br />
<br />
Inspired by the xkcd comic <a href="http://xkcd.com/936/">Password Strength</a>, I decided to write a python script that will create a password encryption scheme.<br />
<div>
<br /></div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://imgs.xkcd.com/comics/password_strength.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="http://imgs.xkcd.com/comics/password_strength.png" height="324" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">from xkcd.com</td></tr>
</tbody></table>
<div>
The problem I have with idea of choosing four random words is the fact that you still want a different set for each website (in case of attacks).</div>
</div>
<div>
<br /></div>
<div>
My solution was to create a list with a word associated with each letter from A to Z. The python script takes input from the given word list (aka dictionary) and randomly selects words for each letter and then spits out into a text file. It's quite easy to change the dictionary file just edit the line </div>
<div>
<blockquote class="tr_bq">
<span style="font-family: 'Courier New', Courier, monospace;">filename = "crossword_wordlist.txt"</span></blockquote>
to the file name you want. However the file must contains words that start with each letter (they do not have to be in order though).<br />
<br />
The seed for the random number generator is based on the current time, and should be quite different for everyone to ensure it's difficult to duplicate.<br />
<br />
<u style="font-weight: bold;">Where to Download</u><br />
You can grab a copy of the python script (with a random dictionary) from the <a href="https://gist.github.com/2893979/b9c88414c95093d6ae983199c0ef7625b6e59efb">gist/github page</a></div>
<div>
For the lazy: <a href="https://gist.github.com/gists/2893979/download">Direct Download</a><br />
<span style="font-size: x-small;">(Code is pasted at the bottom as well)</span><br />
<br />
<u style="font-weight: bold;">How to Use</u><br />
Here's my quick method for creating unique passwords for each site.<br />
First save and/or print the file once you generate a list.<br />
example list:<br />
<blockquote class="tr_bq">
<i>antileak<br />
butles<br />
collaged<br />
duvet<br />
egyptian<br />
fenurons<br />
gruyeres<br />
hahas<br />
ionogens<br />
jovialty<br />
kbars<br />
logania<br />
malteds<br />
naturism<br />
overdubs<br />
prefire<br />
quashers<br />
releve<br />
shickers<br />
tavernas<br />
undocile<br />
varoomed<br />
wonk<br />
xanthans<br />
yuppies<br />
zlote</i></blockquote>
Then pick a website you want to create an account on. Let's say Blogger.com:<br />
Take the first 4 letters of the site name (B, L, O, G in this case) and find the words for those letters and <i>voila! </i>You have your password! (<i>butlesloganiaoverdubsgruyeres </i>in this case).</div>
<div>
Now some sites require upper-case and/or numbers so I'd use something easy like the first word in all caps, or every other letter in caps and then pick a number to use at a pre-determined spot. Then keep that little part consistent across sites (unless you want to come up with a system for caps and numbers. I may write a script to do it soon myself).</div>
<div>
<br /></div>
<div>
So this gives you a unique formula to create simple, secure passwords for any website without memorizing anything too crazy.<br />
<br />
Comments and criticism are appreciated!<br />
<br /></div>
<br />
<pre class="brush:python" id="code">import os
import time
import random
## Variables ##
filename = "crossword_wordlist.txt" #file to load
path = os.path.abspath(os.curdir) #path to said file
output_filepath = path+"/offline_password_encryption_key.txt"
## Makes a list of lists. Each inner list (henceforth 'wordlist') will contain all the
## words starting with the appropriate letter (alphabet[0]=a, alphabet[1]=b, etc)
alphabet = [ list() for x in range(ord('a'),ord('z')+1)]
WORDFILE = open(path+"/"+filename, "r+") #gives us the file of words to use
code = "" #creates an empty string
random.seed(time.time()) #creates a random num generator with a unique seed based on the time you run the program
''' Intro '''
print "============================="
print "Offline Password Creator v1.0"
print "by James Firth"
print "============================="
''' Code that actually excutes stuff '''
#add all the words in the file to the appropriate wordlist
print "Adding words to dictionary..."
for line in WORDFILE:
wordlist = alphabet[ord(line[0])-97] #find the index and grabs that wordlist
wordlist.append(line) #append the new word to the wordlist
WORDFILE.close() #closing the file like a good little boy
print "Selecting our list of encryption words..."
#for all the letter in the alphabet
#picks a random number in the appropriate range
#grabs the right word. And appends to the encryption list
for wordlist in alphabet:
if len(wordlist) > 0:
ranIndex = random.randint(0,len(wordlist)-1)
chosen_word = wordlist[ranIndex]
code += (chosen_word)
OUTPUTFILE = open(output_filepath,"w+") #open the outpute file
print "Saving to file..."
OUTPUTFILE.write(code)
OUTPUTFILE.close()
print "~~ DONE!~~ \nYour Encryption Keys can be found at: "+output_filepath
</pre>
<br />
<script type="text/javascript">
var element = document.getElementById('code');
SyntaxHighlighter.highlight(undefined, element);
</script>James Firthhttp://www.blogger.com/profile/02547959806941744682noreply@blogger.com2