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

<channel>
	<title>Snowulf</title>
	<atom:link href="http://snowulf.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://snowulf.com</link>
	<description>You&#039;ve got question, we&#039;ve got confusion.</description>
	<lastBuildDate>Mon, 13 May 2013 17:22:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wrapping my brain around DynamoDB</title>
		<link>http://snowulf.com/2013/05/13/wrapping-my-brain-around-dynamodb/</link>
		<comments>http://snowulf.com/2013/05/13/wrapping-my-brain-around-dynamodb/#comments</comments>
		<pubDate>Mon, 13 May 2013 17:00:43 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[dynamodb]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[twilio]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=5006</guid>
		<description><![CDATA[At work I&#8217;ve been working on a big Amazon Web Services related project. For part of this project, I wanted to record some information in a database. Previously, all I&#8217;ve used has been relational databases like MySQL. One could use AWS Relational Database Service, but that&#8217;s expensive if you&#8217;re only storing a small amount of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://snowulf.com/wp-content/uploads/2013/05/dynamodb.png"><img src="http://snowulf.com/wp-content/uploads/2013/05/dynamodb-150x150.png" alt="dynamodb" width="150" height="150" class="alignright size-thumbnail wp-image-5012" /></a>At work I&#8217;ve been working on a big <a href="http://aws.amazon.com/" title="[aws] Web Services">Amazon Web Services</a> related project. For part of this project, I wanted to record some information in a database. Previously, all I&#8217;ve used has been relational databases like MySQL. One could use AWS Relational Database Service, but that&#8217;s expensive if you&#8217;re only storing a small amount of data. I decided to take the plunge and learn how to use <a href="http://aws.amazon.com/dynamodb/" title="[aws] Amazon DynamoDB">DynamoDB</a> and more importantly, how to use this &#8220;NoSQL&#8221; thing people have been talking about.</p>
<p><span id="more-5006"></span><br />
First stop. <a href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html" title="[aws] What is Amazon DynamoDB?">What is DynamoDB</a>? &#8220;DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability&#8221;. Next stop, <a href="http://en.wikipedia.org/wiki/NoSQL" title="[wiki] NoSQL">what is NoSQL</a>? &#8220;NoSQL database provides a mechanism for storage and retrieval of data that use looser consistency models&#8221;. What does all this mean? Well if you think of an RDBMS (Relational Database Management System) as a spreadsheet with a fixed number of columns, NoSQL is like a key-value array of indefinite length.</p>
<p><a href="http://snowulf.com/wp-content/uploads/2013/05/dynamo-create.png"><img src="http://snowulf.com/wp-content/uploads/2013/05/dynamo-create-150x150.png" alt="dynamo create" width="150" height="150" class="alignleft size-thumbnail wp-image-5013" /></a>In DynamoDB, the <a href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey" title="[aws] Amazon DynamoDB Data Model ">primary key</a> can be one of two types: &#8220;Hash&#8221; or &#8220;Hash and Range&#8221;. The primary key must be unique, just like a primary key in a RDBMS. If you&#8217;re using Hash and Range, the combo of the two must be unique (so you can have several records with hash of &#8220;a&#8221;, as long as the range is unique). Keep in mind that string type fields are case sensitive, so you hash &#8220;a&#8221; != hash &#8220;A&#8221;. Now, once you&#8217;ve entered values into your Dynamo primary key, you cannot modify it. In MySQL, you can modify primary key values (even if they are set to be unique). Now, one clarification, the word &#8220;range&#8221; in &#8220;Hash and Range&#8221; really doesn&#8217;t mean anything (that I can tell). Your range can be something like a date/time stamp, or it can be a string value, doesn&#8217;t matter &#8211; as long as the hash/range combo are unique.</p>
<p><a href="http://snowulf.com/wp-content/uploads/2013/05/index-cards.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/05/index-cards-150x150.jpg" alt="index cards" width="150" height="150" class="alignright size-thumbnail wp-image-5015" /></a> What about indexes? Well in a RDBMS, any field or combo of fields you&#8217;ll be querying &#8211; you want to index (though this depends on the RDBMS you use, and how exactly you want to index). In Dynamo, there are a number of limitations on &#8220;<a href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSI.html" title="[aws] Local Secondary Indexes">local secondary indexes</a>&#8221; (LSI). First and foremost is that you can only have LSIs if you have a Hash and Range primary key. The second limit is that LSIs are single attribute only (DynamoDB calls them &#8220;attributes&#8221;, RDBMS would call them a column). Third, you can only have 5 LSIs per table. Lastly, you cannot add/modify/remove LSI after you&#8217;ve created the table. Since this is NoSQL, all attributes beyond your primary key are flexible &#8211; but if you want to use LSI, plan carefully.</p>
<p><strong>So how about an example?</strong></p>
<p><a href="http://snowulf.com/wp-content/uploads/2013/05/twilio.png"><img src="http://snowulf.com/wp-content/uploads/2013/05/twilio-150x150.png" alt="twilio" width="150" height="150" class="alignleft size-thumbnail wp-image-5011" /></a>One of my applications receives text messages via <a href="https://www.twilio.com/">Twilio</a>. Every time my number receives a text message, <a href="https://www.twilio.com/docs/api/twiml/sms/twilio_request">Twilio sends a post</a> to my server. I decided to log every message received to DynamoDB. The table is named &#8220;SMSLog&#8221; with a primary key type of Hash and Range. I happen to know the &#8220;SmsSid&#8221; that Twilio sends is always unique, so I used that as my Hash key. I don&#8217;t actually need a Range key on this table, however I wanted to use local secondary indexes, so I added a &#8220;Timestamp&#8221; field (also a good backup in case I&#8217;m wrong about SmsSid being unique). The two LSI I added were on attributes named &#8220;Body&#8221; and &#8220;From&#8221; (because I will want to check the logs against a particular phone number, i.e. the &#8220;From&#8221; column), which you&#8217;ll notice are the names of the Twilio request parameters.</p>
<p><a href="https://gist.github.com/ShakataGaNai/5566077"><img src="http://snowulf.com/wp-content/uploads/2013/05/code-150x150.png" alt="code" width="150" height="150" class="alignright size-thumbnail wp-image-5018" /></a>So what do I do with this table? As soon as I receive a Twilio <a href="http://en.wikipedia.org/wiki/POST_(HTTP)" title="[wiki] POST (HTTP)">POST</a> to my script, I <a href="http://us2.php.net/manual/en/control-structures.foreach.php">foreach</a> through Twilios key/values and push those directly into DynamoDB. I&#8217;ve <a href="https://gist.github.com/ShakataGaNai/5566077">posted the code for ddbLogSMS()</a> to show how this works. This function also takes the results from SMS messages sent <a href="https://www.twilio.com/docs/api/rest/sending-sms">outbound via the Twilio REST API</a>. Why bother with two tables with completely different schemas when NoSQL means&#8230; No Schema! Not only can I get away with mashing two different sets of data into the same table, I don&#8217;t need to worry about Twilio changing their API and breaking my app. As long as &#8220;SmsSid&#8221; doesn&#8217;t change, my function will take any and all data thrown at it.</p>
<p>Unlike RDBMS, you need to specify the <a href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDTables.html#ProvisionedThroughput" title="[aws] Working with Tables">read &#038; write requirements per table</a>. Since this is a low activity application, I&#8217;ve provisioned 1 write capacity unit and 5 read capacity units (this translates to 1 write per second and 5 reads per second). In fiduciary terms, this table will <u>cost me an entire $0.97/mo</u>. If my application ever gets uber popular, I can always increase the capacity on the fly.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/05/13/wrapping-my-brain-around-dynamodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: Army of Two: The Devil&#8217;s Cartel</title>
		<link>http://snowulf.com/2013/04/26/review-army-of-two-the-devils-cartel/</link>
		<comments>http://snowulf.com/2013/04/26/review-army-of-two-the-devils-cartel/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 23:00:46 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[aot]]></category>
		<category><![CDATA[aot tdc]]></category>
		<category><![CDATA[aot3]]></category>
		<category><![CDATA[aottdc]]></category>
		<category><![CDATA[army of two]]></category>
		<category><![CDATA[army of two: the devil's cartel]]></category>
		<category><![CDATA[the devil's cartel]]></category>
		<category><![CDATA[xbox 360]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4967</guid>
		<description><![CDATA[Today, I&#8217;d like to talk to you about Army of Two: The Devil&#8217;s Cartel, the third entry in the Army of Two franchise. Jon and I both enjoyed Army of Two and Army of Two: The 40th Day. We enjoyed it so much that I composed an ode to Army of Two for AoT 2&#8242;s [...]]]></description>
				<content:encoded><![CDATA[<p>Today, I&#8217;d like to talk to you about <a href="http://www.amazon.com/Army-TWO-Devils-Cartel-Xbox-360/dp/B0050SYFM6/ref=sr_1_1?ie=UTF8&#038;qid=1367010642&#038;sr=8-1&#038;tag=snowulf-20" title="[amazon] Army of Two: The Devil's Cartel">Army of Two: The Devil&#8217;s Cartel</a>, the third entry in the Army of Two franchise. Jon and I both enjoyed <a href="http://www.amazon.com/Army-Two-Platinum-Hits-Xbox-360/dp/B000RHZ9JI/ref=pd_sim_vg_57tag=snowulf-20" title="[amazon] Army of Two">Army of Two</a> and <a href="http://www.amazon.com/Army-Two-The-40th-Xbox-360/dp/B001TOQ8J8/ref=pd_sim_vg_3&#038;tag=snowulf-20" title="[amazon] Army of Two: The 40th Day">Army of Two: The 40th Day</a>. We enjoyed it so much that I composed an <a href="http://snowulf.com/2010/01/12/an-ode-to-army-of-two/" title="[blog] An ode to Army of Two">ode to Army of Two</a> for AoT 2&#8242;s release date and Jon did a <a href="http://snowulf.com/2010/01/19/completed-army-of-two-the-40th-day/" title="[blog] Completed Army of Two: The 40th Day">review of The 40th Day</a> after we finished it. Unfortunately, the third entry does not live up to its predecessors.</p>
<p>FYI, there will be storyline spoilers for the entire series to date.<br />
<span id="more-4967"></span><br />
<strong>== Storyline == </strong><br />
At the end of AoT 2, you have 3 options: Shoot Rios, Salem, or Jonah. Shooting your partner, Rios or Salem, results in the invading forces being stopped, no giant bomb going off, and the UN retaking the city. Shooting Jonah results in the loss of the city. Also, during AoT 2 you lose Alice &#8211; her chopper goes down and she is presumed dead.<br />
In AoT 3, Salem and Rios are still alive and kicking. In fact, you (Alpha &#038; Bravo) are on a mission with them to save some girl. Uh oh! Girl is already dead, but wait! There is another girl, Fiona, who is still alive. Rios wants to save her; Salem doesn&#8217;t. As you are escorting the girl out, you are pinned down and lose Salem under a truck. Rios is very sad that his best bud is dead, but wait! In Act 2 we meet a mysterious masked stranger! Who could it be? It&#8217;s Salem! Back from the dead, and slaughtering everyone in T.W.O.<br />
Toward the end of the game we finally get some clarification on the storyline. Salem tells Rios that he took a bullet for him in Shanghai (the setting of AoT 2) to save the city and that maybe it really was all for nothing as he shoots Rios in the gut and throws him over a bannister. Later, while Salem is shooting at and taunting us, he asks how Alice is and and if Rios left her to die as well.<br />
After you beat the game, Bravo decides not to shoot Salem (reversing a position he has held since he found out he was the masked man) and instead it is off to jail with him. The last scene shows him carving &#8220;alice&#8221; into the wall of his cell.</p>
<p><strong>== Bugs ==</strong><br />
If you are playing this by yourself, I&#8217;m sorry and I know your pain. Your AI partner will kill some enemies and come revive you if you are downed, but don&#8217;t ever ask him to help you against an MMG (Mounted Machine Gun). He will go down, over and over again.<br />
After I beat the game, and saw the Mexican police take Salem away kicking and screaming, the game screen said: </p>
<blockquote><p><strong>Contract Failed<br />
Bravo was Killed<br />
Restart Checkpoint<br />
Restart Chapter<br />
Difficulty<br />
Quit</strong></p></blockquote>
<p>I was&#8230; less than thrilled to see this message. I beat the game! Where are my kudos? Where are my achievements?<br />
With a great lack of enthusiasm, I select <strong>Restart Checkpoint</strong>, and I&#8217;m back at the start of the horrible fight. Finish the fight, and now onto fight the assault vehicle again. Things seem to be going well until Bravo gets run over. Sigh&#8230; Restart Checkpoint&#8230; Beat the fight&#8230; fighting truck&#8230; Bravo gets run over again&#8230; And then another time. After 3 times of him being run over, I made sure that the truck always came after me, by running into the courtyard and I <em>finally</em> beat it. This time for real! I saw the credits and everything. </p>
<p>During the closing videos, bad guys are being handcuffed and taken away, but they all still have weapons attached to their backs. They are being led into police trucks with shotguns and assault rifles strapped to their backs! Heck, Salem still had a pistol strapped to his chest. </p>
<p><strong>== Missing Features ==</strong><br />
One of the things Jon and I enjoyed with Army of Two was the witty banter between Salem and Rios. There was repartee! They got rid of that in this one. I guess the writers just couldn&#8217;t be bothered.<br />
They also got rid of Co-Op Snipe/synchronized killing. There were several sections of the game where it seemed like it was setup to do that, but AI Bravo just decided to <a href="https://en.wikipedia.org/wiki/Spray_and_pray" title="[wiki] Spray and pray">spray and pray</a>. Also, in the previous games, using a silenced weapon would allow you to take out enemies without alerting their friends &#8211; not so AoT 3!<br />
I think there are less than a dozen step jumps throughout the game, even including the step jumps onto a chopper (which seems kind of unnecessary). Speaking of choppers, those are the only &#8220;branch&#8221; options in the game. You get to decide who provides cover from the chopper while the other slogs through on the ground.</p>
<p><strong>== New Features ==</strong><br />
Guns and parts are now unlocked through XP/leveling up; you still have to purchase the unlocked weapons/parts, but unlike AoT 2, there are no weapons to find in game based on choices you make. You now have a Primary, Secondary, and Sidearm. Assault, LMG, SMG, and Sniper are the categories for the first two, while Sidearm is strictly pistols (and there are more than just three, which eliminates a <a href="http://snowulf.com/2010/01/19/completed-army-of-two-the-40th-day/" title="[blog] Completed Army of Two: The 40th Day">complaint Jon had about AoT 2</a>).<br />
I&#8217;m disappointed that buying parts aren&#8217;t shared between guns (a feature I loved in AoT 2), but that is how it was in the first game (and just about every other shooter I&#8217;ve played).<br />
My favorite new feature, by far, is that you can now test fire guns/parts (and it takes all of 2 seconds to do). No more having to buy a part and fire up a mission just to test it out. This makes testing out potential purchases so much easier. The only downside is that you can&#8217;t add a bunch of parts to the gun and test fire it; you have to do it one part at a time. It is also a little disappointing that you have to buy the gun before being able to see what customizations are available.</p>
<p>The Mask Creator is brand new; it allows you to customize your mask with up to 10 layers (using all 10 nets you an achievement) of designs. Artistic types might have a lot of fun with this, but I created something simple. For those of you less enthused about your artistic ability, you can also purchase different masks, along with outfits and tattoos (for your left and right arms only).</p>
<p><strong>== Conclusion ==</strong><br />
I mentioned to Jon that if this game didn&#8217;t have the &#8220;Army of Two&#8221; prefix, I wouldn&#8217;t be so down on it, but at the same time I probably wouldn&#8217;t have bought it. </p>
<p>If you want a shooter that you can play with another human on your team, this is a decent game with many customization options, but I&#8217;d wait for it to drop in price quite a bit.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/04/26/review-army-of-two-the-devils-cartel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Life: Week 2 &#8211; Pixel Hardware Review</title>
		<link>http://snowulf.com/2013/04/22/cloud-life-week-2-pixel-hardware-review/</link>
		<comments>http://snowulf.com/2013/04/22/cloud-life-week-2-pixel-hardware-review/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 17:00:08 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Chromebook]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[chicklet]]></category>
		<category><![CDATA[chromebook pixel]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[macbook air]]></category>
		<category><![CDATA[MBA]]></category>
		<category><![CDATA[minidisplay port]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[retina]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4934</guid>
		<description><![CDATA[While it doesn&#8217;t take two weeks to review the hardware of a laptop, I wanted to give the Chromebook Pixel a chance to strut its stuff (plus I just didn&#8217;t get around to writing anything sooner). I&#8217;ll go right ahead and say that the Pixel is a nice computer; it&#8217;s a $1,300 machine and it [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.10.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.10-150x150.jpg" alt="2013-04-18 21.19.10" width="150" height="150" class="alignright size-thumbnail wp-image-4940" /></a>While it doesn&#8217;t take two weeks to review the hardware of a laptop, I wanted to give the Chromebook Pixel a chance to strut its stuff (plus I just didn&#8217;t get around to writing anything sooner). I&#8217;ll go right ahead and say that the Pixel is a nice computer; it&#8217;s a $1,300 machine and it feels worth the price point (more or less). From the screen to the touchpad to the overall build, it&#8217;s a solid machine.</p>
<p><span id="more-4934"></span>Before I talk about the hardware, I want to be clarify that I&#8217;m going to avoid covering any of the software side in this post. Two years ago I <a href="http://snowulf.com/2011/05/13/futzing-with-a-cr-48chromebook/" title="[blog] Futzing with a Cr-48/Chromebook">played with the Cr-48</a> and focused on the software in the review. Since ChromeOS has come a long way since then, I&#8217;m going to address that in its own post. Now, onto the things you can poke!</p>
<p><strong>== Screen ==</strong><br />
The Chromebook Pixel has a 12.85&#8243; screen running at 2560 × 1700. That means the Pixel is at 239 ppi versus the 15&#8243; MacBook Pro Retinas display at 220 ppi. When I reviewed the MacBook Pro Retina (MBPR), I called the screen &#8220;<a href="http://snowulf.com/2012/08/07/review-macbook-pro-with-retina/" title="[blog] Review: MacBook Pro with Retina">freaking shiny</a>&#8220;. The Pixel&#8217;s screen garnered the same reaction from me. The instant the machine comes on and takes you to the login screen, you know this Pixel has a LOT of pixels (sorry, had to pun it at least once). </p>
<p>At this point in time, any computer without a high-PPI display is a bit of a disappointment to go back to (like my MacBook Air). So, yes, I love the Pixel&#8217;s screen. ChromeOS renders everything nice and sharp, much like the MBPR. At the end of the day, if you can&#8217;t tell this screen is nicer than most of what you use&#8230; you&#8217;re blind.</p>
<p><strong>== Touch Screen ==</strong><br />
One of the unusual features of the Pixel is that it comes with a touch screen. You can see the merger of tablets and laptops on the tech horizon, but very few laptops have shipped with a touch screen (except for specialty devices like the <a href="http://www.lenovo.com/products/us/laptop/thinkpad/x-series/x230t/">ThinkPad X230 Convertible</a>). The gestures are fairly intuitive, though it doesn&#8217;t seem to have any multitouch capability which is a little sad. The Chromebook doesn&#8217;t have anything really special in its design for handling the touch screen input, so it acts like a mouse. This is fine, however it can be hard to hit smaller links on busy websites. The display glass is also very good at collection a multitude of finger smudges.</p>
<p>I know I don&#8217;t sound super enthusiastic about the touch screen. This is because it was the one feature that seems really cool, but pointless when I started using it. However after just a few days of use, I realized I was sold. I switch back and forth between the touchpad and touch screen based on what I&#8217;m doing, but I knew I was sold when I booted up another laptop &#8211; and tried to physically touch an on-screen button.</p>
<p><strong>== Touchpad ==</strong><br />
<a href="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.29.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.29-150x150.jpg" alt="2013-04-18 21.19.29" width="150" height="150" class="alignleft size-thumbnail wp-image-4942" /></a>The touchpad on the Pixel is worth mentioning specifically for how good it is. Ever since I started using Macs heavily, I&#8217;ve been depressed by non-Mac touchpads. The touchpad on the <a href="http://snowulf.com/2012/08/28/review-dell-xps-13-ultrabook/" title="[blog] Review: Dell XPS 13 Ultrabook">Dell Ultrabook 13</a> was the single reason I stopped using that machine. However, the touchpad on the Pixel is a shining beacon of hope in a dark world of shitpads. I love it. I think it might be good enough to displace the glass touchpad of MacBooks as the best I&#8217;ve ever used. Regardless of which one is better, the touchpad on the Pixel is fantastic and I&#8217;ve not had a single complaint about it.</p>
<p><strong>== Keyboard ==</strong><br />
The pixel has a chicklet style keyboard which seems fairly standard these days. There is a nice amount of spring in the keys and overall it feels decent. I&#8217;ve never been a huge fan of the chicklet keyboards, but since they are so popular, I&#8217;ll take what I can get. Compared to the 13&#8243; MacBook Air, I think the keys are slightly larger with slightly less of a gap. Other than that, I honestly cannot tell the difference between the action of the two keyboards. In short, if you&#8217;re a Mac user, you&#8217;ll be right at home here hardware-wise. Of course, the keyboard is a little different in so far as the caps lock key has been replaced by the &#8220;search&#8221; key. I never really use the caps lock key, but I think the search key is fairly stupid also. The top row of keys are your standard machine controls (volume, brightness, etc).</p>
<p>The one feature of the keyboard worth noting as a flaw, is the backlight. There are no controls (physical or digital) for the keyboard backlight. This means that I have no ability to turn the backlight on, off, or change the intensity. I can&#8217;t be sure, but I&#8217;m not even sure if the keyboard backlight has variable intensity. I know having no controls over a backlight seems like a minor nit, but I use the computer in bed, with the lights off and sometimes the backlight doesn&#8217;t come on.</p>
<p><strong>== Exterior ==</strong><br />
<a href="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.20.02.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.20.02-150x150.jpg" alt="2013-04-18 21.20.02" width="150" height="150" class="alignright size-thumbnail wp-image-4945" /></a>If I were to guess, I&#8217;d say that the design scheme of the entire Chromebook Pixel is &#8220;industrial&#8221;. The case is made of a dark aluminum alloy, with they keyboard and touchpad being black. While the aluminum seems durable and scratch resistant, I dented the Pixel a couple times in the first week. So, it&#8217;s not quite as well made as a MacBook Air.</p>
<p>There is one design feature that is subtle, but makes me very happy: No Logo. On the LCD hinge is says &#8220;chrome&#8221;, but can only be seen when the machine is closed. On the inside of the computer it only says &#8220;chrome&#8221; once at the top of the keyboard also. Beyond those two badges, there is absolutely no labeling on the Pixel. The top of machine where you normally find a giant fruit or &#8220;Dell&#8221; badge, there is only clean and shinny aluminum.</p>
<p><strong>== Ports and things ==</strong><br />
<a href="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.43.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.43-150x150.jpg" alt="2013-04-18 21.19.43" width="150" height="150" class="alignleft size-thumbnail wp-image-4943" /></a>As this is a Chromebook and not a proper computer, there isn&#8217;t much in the way of connectors. On the left you have power, MiniDisplay Port, 2 * USB 2.0, and headphone jack. On the right there is an SD card slot. That&#8217;s it. It doesn&#8217;t seem like much, but this is the exact same ports you&#8217;d find on a MacBook Air. Nothing much else needs to be said here other than &#8220;Thank you god for MDP&#8221;, I was getting sick of proprietary display ports or full fledged VGA. MiniDisplay Port is a GOOD answer, lets use it.</p>
<p><strong>== Summary ==</strong><br />
<a href="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.23.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/04/2013-04-18-21.19.23-150x150.jpg" alt="2013-04-18 21.19.23" width="150" height="150" class="alignright size-thumbnail wp-image-4941" /></a>I&#8217;ve compared the Chromebook Pixel to the MacBook Air, heavily. Partially because they are very similar machines and partially because the MBA is my &#8220;Every Day Carry&#8221; that the Pixel is attempting to displace. At the end of the day, the only advantage the Pixel has over the MBA is the high-PPI screen (&#8220;Retina&#8221;) with touch. The Pixel isn&#8217;t designed to be an amazing piece of hardware, because ChromeOS is really about the software/cloud. Most importantly, the Pixel just isn&#8217;t that much cheaper than a MacBook Air. I couldn&#8217;t really recommend the Pixel over an Air, because a stripped down Air is only slightly more expensive and far more versatile. I love the Pixel&#8217;s touch screen, and it is a solid computer. I wouldn&#8217;t call it spectacular, but it is a solid machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/04/22/cloud-life-week-2-pixel-hardware-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Life: Day 1 &#8211; A Pixel Arrives</title>
		<link>http://snowulf.com/2013/04/09/cloud-life-day-1-a-pixel-arrives/</link>
		<comments>http://snowulf.com/2013/04/09/cloud-life-day-1-a-pixel-arrives/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 17:00:35 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Chromebook]]></category>
		<category><![CDATA[chromebook pixel]]></category>
		<category><![CDATA[chromeos]]></category>
		<category><![CDATA[cloud life]]></category>
		<category><![CDATA[pixel]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4927</guid>
		<description><![CDATA[I love Chrome. I&#8217;ve use Chrome exclusively for several years now and vehemently refuse to use anything else (Sorry Firefox). As such, the idea of the Chromebook has always appealed to me. Previously, I got my hands on a Cr-48 and took the Acer AC700 for a spin. So when the Chromebook Pixel was announced, [...]]]></description>
				<content:encoded><![CDATA[<p>I love Chrome. I&#8217;ve use Chrome exclusively for several years now and vehemently refuse to use anything else (Sorry Firefox). As such, the idea of the Chromebook has always appealed to me. Previously, I got my <a href="http://snowulf.com/2011/05/13/futzing-with-a-cr-48chromebook/" title="[blog] Futzing with a Cr-48/Chromebook">hands on a Cr-48</a> and <a href="http://snowulf.com/2011/07/19/hands-on-with-the-acer-ac700-chromebook/" title="[blog] Hands on with the Acer AC700 Chromebook">took the Acer AC700 for a spin</a>. So when the Chromebook Pixel was announced, I was quite excited. Though I didn&#8217;t jump right into buying one&#8230; until today.</p>
<p><span id="more-4927"></span>Today, my brand new Chromebook Pixel arrived and it is time to take it for a test drive. But first let&#8217;s answer the obvious question: If the Cr-48 and the AC700 didn&#8217;t work out for me, what is it about the Pixel that will? For one, the Pixel is an honest-to-god computer, not just a netbook on steroids. The second difference is more personal&#8230; I work in the cloud.</p>
<p>For those that don&#8217;t know, I currently work at <a href="http://www.okta.com/">Okta</a>, which is an Enterprise Single Sign-on solution for the cloud (SaaS). We&#8217;re a very cloud first company, so much so that I (the IT Manager) have no servers. Everything we do, from email, to phones, to file storage, is in the cloud. While I buy nice MacBooks for the staff, we treat them as disposable; everything should be/is in the cloud. </p>
<p>So this brings me to the reason why I bought the Pixel. How fully can I (from a business perspective) live the cloud life? I already know that it isn&#8217;t possible to seamlessly switch from OS X to ChromeOS; we do use some installed applications, like GoToMeeting, which do not work on ChromeOS. Heck, just simply finding new workflows will cause some headaches. It&#8217;s worth a try though.</p>
<p>Thus, today starts my first day on the Pixel as my <em>almost</em> fulltime machine. I will use the Pixel as much as possible, reporting in when I find snags as well as when I find alternatives/solutions. However, I can&#8217;t afford to let the experiment stop me from getting my job done.</p>
<p>I&#8217;m looking forward to this experiment. Who knows&#8230; our next batch of sales reps might just start with Chromebooks instead of MacBooks!</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/04/09/cloud-life-day-1-a-pixel-arrives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Password reset questions are getting out of hand</title>
		<link>http://snowulf.com/2013/03/25/password-reset-questions-are-getting-out-of-hand/</link>
		<comments>http://snowulf.com/2013/03/25/password-reset-questions-are-getting-out-of-hand/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 17:00:57 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[asinine]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[password reset]]></category>
		<category><![CDATA[reset questions]]></category>
		<category><![CDATA[what city were you first arrested?]]></category>
		<category><![CDATA[where did you lose your virginity?]]></category>
		<category><![CDATA[where were you born?]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4912</guid>
		<description><![CDATA[As soon as the Web had developed sites that required logging into, it also developed the problem of lost passwords. The solution for that was simple: password reset questions. You&#8217;ve probably run into these a hundred times and they are typically the same questions on every site, like &#8220;Where were you born?&#8221;, &#8220;What&#8217;s your mothers [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-24-at-4.09.58-PM.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-24-at-4.09.58-PM-150x150.png" alt="Screen Shot 2013-03-24 at 4.09.58 PM" width="150" height="150" class="alignright size-thumbnail wp-image-4916" /></a>As soon as the Web had developed sites that required logging into, it also developed the problem of lost passwords. The solution for that was simple: password reset questions. You&#8217;ve probably run into these a hundred times and they are typically the same questions on every site, like &#8220;Where were you born?&#8221;, &#8220;What&#8217;s your mothers maiden name?&#8221; and &#8220;What street did you grow up on?&#8221;.</p>
<p><span id="more-4912"></span>The problem with these generic password reset questions is two fold. The first issue is that if every site uses the same questions, one of the sites could be compromised and the password questions/answers will get out. The second issue is even more problematic: most of these questions are a matter of public record. If I&#8217;m trying to break into your account and I know just a little bit of information about you, I can find out what your Mother&#8217;s name is, what street you grew up on, and where you were born. Heck, you might even have posted some/all of the information publicly on your Facebook page.</p>
<p>So how do you fix this? Well, you use questions that are less common and questions that aren&#8217;t a matter of public record. For example: What&#8217;s your favorite color? What&#8217;s your doctor&#8217;s name? What food do you like the least?</p>
<p><a href="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-23-at-12.18.47-PM.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-23-at-12.18.47-PM-150x150.png" alt="Screen Shot 2013-03-23 at 12.18.47 PM" width="150" height="150" class="alignleft size-thumbnail wp-image-4919" /></a> Once you&#8217;re off the &#8220;public record&#8221; information, all you need to worry about is questions that can be answered via Facebook, so &#8220;Favorite Color&#8221; is probably a bad choice for a question too. With all this in mind, websites have started to come up with more clever questions. Sometimes they ask questions that are totally obscure, but typically you have a number of options.</p>
<p>However, I ran into a financial services firm (yay for security!) that required you have 5 password reset questions, and their options were&#8230; insane. I decided to copy down the list here just so I could figure out how many of these I could actually answer. Maybe I&#8217;m a bad person, but I couldn&#8217;t answer a large majority of them. Count for yourself, how many can you answer?</p>
<ul>
<li>What is your grandfathers middle name (your father&#8217;s father)?
<li>What is the name of the hospital in which you were born?
<li>What is your grandfather&#8217;s profession?
<li>What is the middle name of your oldest sibling?
<li>In what city did your parents get married?
<li>What is the first name of the eldest cousin (father&#8217;s side)?
<li>In what city was your mother born?
<li>What city were you in on New Year&#8217;s Eve, 1999?
<li>What is your oldest sibling&#8217;s nickname?
<li>What is the last name of your high school best friend?
<li>What is the first name of your favorite teacher in high school?
<li>What is the last name of your first boyfriend or girlfriend?
<li>What is your spouse&#8217;s middle name?
<li>What is your grandmother&#8217;s middle name (your mothers mother)?
<li>What is the last name of your first grade teacher?
<li>What is the first name of the eldest of your cousins (mothers side)?
<li>What state did you first visit (outside the one you were born in)?
<li>What is the street name where you lived when you were 10 years old?
<li>What is your father&#8217;s middle name?
<li>What is the name of your first pet?
<li>What was the first foreign country you visited?
<li>What is your grandfather&#8217;s middle name (your mother&#8217;s father)?
<li>In what city was your father born?
<li>What is the first name of the person you went to your prom with?
<li>What is your mother&#8217;s middle name?
</ul>
<p>So out of 25 questions, I could answer 10 of these questions. A whopping 40% of the questions. How many could you answer? Leave your answer in the comments. I&#8217;m curious to see if I&#8217;m a bad person, or if these questions are totally out of hand. Sure, I could research most of the answers, but how am I going to remember the answers if I can&#8217;t even remember my password (which I actually use)?</p>
<p>Let&#8217;s not forget though, as asinine as some of these questions are, a large majority are names of family members &#8211; making them a matter of public record. So while I might not know what city my parents got married in, Ancestry.com will tell me that without even needing to signup or create an account. You&#8217;re better off asking me asking me the name of my favorite childhood stuffed animal, at least that&#8217;s not in the public record.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/03/25/password-reset-questions-are-getting-out-of-hand/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Resume Tips from an IT Hiring Manager</title>
		<link>http://snowulf.com/2013/03/11/resume-tips-from-an-it-hiring-manager/</link>
		<comments>http://snowulf.com/2013/03/11/resume-tips-from-an-it-hiring-manager/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 17:00:10 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Jobs]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[applicant]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[cover letter]]></category>
		<category><![CDATA[imho]]></category>
		<category><![CDATA[imjusttryingtohelp]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[resume]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4850</guid>
		<description><![CDATA[Recently I went through a round of hiring in my IT Department. Nothing special or out of the ordinary about it. I thought there was a lot of information out there on the net about how to write resumes and cover letters. However, during my recent round of hiring I received a LARGE number of [...]]]></description>
				<content:encoded><![CDATA[<p>Recently I went through a round of hiring in my IT Department. Nothing special or out of the ordinary about it. I thought there was a lot of information out there on the net about how to write resumes and cover letters. However, during my recent round of hiring I received a LARGE number of applications which were&#8230; well&#8230; fairly depressing (to put it nicely). Since I don&#8217;t consider myself that particular snooty about resumes, I thought I&#8217;d share the broad ways in which applicants had troubles.</p>
<p><span id="more-4850"></span><strong>Cover Letters &#8211; Learn them, use them, love them</strong><br />
The first thing that really differentiated applicants whom cared about the job they were applying for, versus the masses of &#8220;spam&#8221; applicants, was the use of cover letters. As someone who&#8217;s had to go out and apply for jobs &#8220;blind&#8221; before, I agree that cover letters are probably the single hardest portion of the job hunt process.</p>
<p>However, you should still use them. A resume tells me (the hiring manager, in this case) what you do, it doesn&#8217;t tell me who you are. Who you are is important in any small team and with any company of less than a thousand employees, IT is going to be a small team. In my team, most of what we do is user facing so personality is important.</p>
<p><strong>Cover Letters &#8211; Customize it, pretend it&#8217;s a mad lib</strong><br />
The next filter for incoming applications is cover letters that are completely generic. Beyond telling me who you (the applicant) are, a resume should tell me why you&#8217;re perfect for this job. You cannot possibly do that in a 100% generic cover letter. Sure, a chunk of your resume will probably be static for every application &#8211; there is nothing wrong with that &#8211; however a large section should be customized. </p>
<p>As strange as it sounds, treat the cover letter like a mad lib. Put in a bunch of &#8220;fill-in-the-blank&#8221; slots. These should include fields such as: Company name, posted job title, company address, hiring manager or recruiters name (if listed), and today&#8217;s date. Beyond those fields, at least one full paragraph should be written to specifically address the job description &#8211; this is the bread and butter of your cover letter. It will show that you WANT the job, and you&#8217;re willing to put in the effort.</p>
<p><strong>Read the job description, use it to your advantage</strong><br />
One of the things I was looking for was someone who was Mac savvy. In the paragraph &#8220;brief&#8221; about the job and in the required skills, I specifically stated a need for OSX expertise. So twice in a half page, OSX is called out. However, at least half the resumes I read didn&#8217;t even mention the words &#8220;Apple&#8221;, &#8220;OSX&#8221;, or &#8220;Mac&#8221;. Job descriptions tend to be optimistic in terms of skills and requirements. However, if something is at the top of the list or mentioned several times&#8230; it&#8217;s probably very important.</p>
<p>If you don&#8217;t have the skill, use your cover letter to cover that. I&#8217;d have been willing to interview someone who said, in their cover letter, that they didn&#8217;t have the requisite OSX experience but were eager to learn. This at least shows me that they A) read the job description, B) understood the job description, and C) had the honesty to point out the one major way they were lacking (but probably included several other ways in which they were the best fit).</p>
<p><strong>Use PDF</strong><br />
This should be fairly self explanatory. There is very little reason in this day in age not to submit your resume as a PDF document. My iPad can view PDFs, my MacBook Air can view PDFs&#8230; however neither can view MS Word documents (since I only have MS Office installed on my desktop). Plus, I had a couple MS Word applications that came in with Macros&#8230; like hell I&#8217;m running those.</p>
<p>If you&#8217;re on Windows, you can install CutePDF and print any document to PDF. If you&#8217;re on a recent version of OSX, you can print any document to PDF (built in). If you&#8217;re running MS Word 2010 or later, you can save as PDF. No excuse not to do so.</p>
<p><strong>Don&#8217;t password protect your PDFs</strong><br />
This should be obvious. Don&#8217;t enable any sort of password protection on your PDFs. If you&#8217;re not sure, send it to a friend, and ask them to open and print your resume &#8211; if they can&#8217;t do that &#8211; neither can a hiring manager/recruiter. If I wish to kill the environment printing your resume, that&#8217;s my prerogative.</p>
<p><strong>Claim to be detail oriented? Better spell/grammar check everything</strong><br />
Many people claim to have an attention to detail, be detail oriented, or some variation of that statement which implies that they are really careful. However, many of those applicants also misspell words or make fairly glaring grammatical mistakes. Not that people aren&#8217;t allowed to make mistakes, but if you make the claim &#8211; you have to back it up&#8230; otherwise it&#8217;s hypocritical.</p>
<p>Regardless of if you make the &#8220;detail oriented&#8221; gamble on your resume/cover letters, you should still spell check, grammar check, logic check, anything check your resumes AND cover letters. This is your first (and possibly last) impression upon a hiring manager or recruiter. Don&#8217;t have them shoot you down simply because you didn&#8217;t spend 15 minutes sending your resume to a friend to catch those glaring misspelled words.</p>
<p><strong>If you apply via LinkedIn, don&#8217;t assume I can see your profile</strong><br />
My job posting was on LinkedIn, among other locations. The posting was under a recruiter&#8217;s profile, but the applications were redirected to me. This is fairly common. Unfortunately, since it was setup as such, I did not necessarily have the ability to see applicants full profiles. In fact, some applied with nothing more than their LinkedIn profile&#8230; of which I could not see. That combined with the fact that I had to go hunt down a profile, did not endear them me. Technology is great, but when your job is on the line, be on the safe side&#8230; use a resume.</p>
<p><strong>Flair optional</strong><br />
If you&#8217;re applying for an artistic job, being artsy with your resume is probably a smart move. However, IT is not typically an artistic job so it is fairly safe to leave the pieces of flair at <a href="https://en.wikipedia.org/wiki/Office_Space" title="[wiki] Office Space">Chotchkie&#8217;s</a>. There is nothing wrong with having some style and differentiating your resume from the hundreds of other applicants, but go easy on it. Many companies use automated keyword scanning software which is not impressed by colors and styles, some are even confused by it, so use it sparingly.</p>
<p><strong>Two page resume, not a character more</strong><br />
You&#8217;re awesome and you know it. You want me to know it. So you&#8217;re going to send me a resume that proves how awesome you are. Do it, but do so concisely. Unless you&#8217;re a top executive (in which case, why the heck are you reading my advice), there is little reason to have a resume beyond 2 pages. If you&#8217;ve got a number of jobs you want to list, then trim down the amount of information per job. In my resume, I drastically shorten the oldest jobs and leave only the &#8220;best of&#8221; highlights.</p>
<p>For one job posting, I may receive a hundred or more applications. With a 2 page resume and a 1 page cover letter, that&#8217;s around 300 pages. Unfortunately, resumes are not the latest <a href="http://whatever.scalzi.com/">Scalzi</a> novel, so they aren&#8217;t nearly as exciting to dive into. If you submit a 4 page resume, that doubles the amount of work I would have to do. Realistically, a 4 page resume will not get read in depth and the highlights will be missed.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/03/11/resume-tips-from-an-it-hiring-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snowulf Mobile lives again!</title>
		<link>http://snowulf.com/2013/03/08/snowulf-mobile-lives-again/</link>
		<comments>http://snowulf.com/2013/03/08/snowulf-mobile-lives-again/#comments</comments>
		<pubDate>Fri, 08 Mar 2013 18:00:38 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Site Maintenance]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[bravenewcode]]></category>
		<category><![CDATA[disable mobile theme in jetpack]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[jetpack mobile theme]]></category>
		<category><![CDATA[snowulf mobile]]></category>
		<category><![CDATA[snowulf.mobi]]></category>
		<category><![CDATA[wptouch]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4873</guid>
		<description><![CDATA[This past week or so has been pleasantly quiet for me at work, so I&#8217;ve actually had some time to myself. Additionally, I managed to spend a fair amount of time on the blog this weekend, both writing and doing miscellaneous site maintenance. One of the site maintenance related items was the discovery that the [...]]]></description>
				<content:encoded><![CDATA[<p><div id="attachment_4875" class="wp-caption alignright" style="width: 160px"><a href="http://snowulf.com/wp-content/uploads/2013/03/2013-03-03-22.38.46.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/2013-03-03-22.38.46-150x150.png" alt="Snowulf.com with Jetpack Mobile theme on iPhone 5" width="150" height="150" class="size-thumbnail wp-image-4875" /></a><p class="wp-caption-text">Snowulf.com with Jetpack Mobile theme on iPhone 5</p></div> This past week or so has been pleasantly quiet for me at work, so I&#8217;ve actually had some time to myself. Additionally, I managed to spend a fair amount of time on the blog this weekend, both writing and doing miscellaneous site maintenance. One of the site maintenance related items was the discovery that the mobile site was horribly, <em>horribly</em> broken. Currently the site&#8217;s traffic is roughly 13% mobile, up from 7% mobile this time 2012. I&#8217;d hate to disappoint all those loyal (albeit mobile) readers so I set about to fix it.</p>
<p><span id="more-4873"></span><div id="attachment_4879" class="wp-caption alignleft" style="width: 160px"><a href="http://snowulf.com/wp-content/uploads/2013/03/2013-03-03-22.55.22.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/2013-03-03-22.55.22-150x150.png" alt="Snowulf.com with WPTouch on the iPhone 5" width="150" height="150" class="size-thumbnail wp-image-4879" /></a><p class="wp-caption-text">Snowulf.com with WPTouch on the iPhone 5</p></div> I cannot remember the last time I checked on the mobile version (I really should do that more) of the site, so I can&#8217;t say when it broke. However there have been many changes made including the upgrade to WordPress 3.5 which seems to have broken a great many things. </p>
<p>I had been running <a href="http://wordpress.org/extend/plugins/wptouch/">WPTouch</a>, but since it was broken, I thought I&#8217;d deactivate it and try out the <a href="http://jetpack.me/support/mobile-theme/">Jetpack.me Mobile Theme</a>. That worked out much better, except for the fact that the images were all broken. Why would that be? Oh yes, my beloved <a href="http://snowulf.com/2013/03/06/wordpress-3-5-and-mod_pagespeed-does-not-play-well-together/" title="[blog] WordPress 3.5 and mod_pagespeed do NOT play well together">mod_pagespeed strikes again</a>. I added <code>ModPagespeedDisallow */wp-content/uploads/*</code> to the .htaccess file and the images were working again. Mobile restored.</p>
<p><div id="attachment_4877" class="wp-caption alignright" style="width: 160px"><a href="http://snowulf.com/wp-content/uploads/2013/03/2013-03-03-22.44.15.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/2013-03-03-22.44.15-150x150.png" alt="You can use the WordPress app on iPad too!" width="150" height="150" class="size-thumbnail wp-image-4877" /></a><p class="wp-caption-text">You can use the WordPress app on iPad too!</p></div> Although&#8230; if mod_pagespeed was an issue for Jetpack&#8217;s mobile, maybe that was the cause for WPTouch being broken too. So back to WPTouch we went and after a little tinkering I found the solution for that also. I added <code>ModPagespeedDisallow */wp-content/plugins/wptouch/*</code> to the .htaccess file and now WPTouch works perfectly. I really think <a href="http://www.bravenewcode.com/">BraveNewCode</a> has done an excellent job on WPTouch, so I&#8217;ll stick with them for now. In fact, I&#8217;m tempted to buy the pro version.</p>
<p>Oh, and if you&#8217;ve made the mistake of enabling Jetpack&#8217;s mobile theme and would like to deactivate it, it&#8217;s totally counter-intuitive. Go back to the Jetpack main menu in your admin screen, find &#8220;Mobile Theme&#8221; and click &#8220;Learn more&#8221;. Suddenly the &#8220;Configure&#8221; button morphs into a &#8220;Deactivate&#8221; button. I&#8217;m really not sure who thought that was a good usability design because I found <a href="http://wordpress.org/support/topic/how-do-i-disable-mobile-theme-in-jetpack-18-broken-with-thesis">many more users with the same issue</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/03/08/snowulf-mobile-lives-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.5 and mod_pagespeed do NOT play well together</title>
		<link>http://snowulf.com/2013/03/06/wordpress-3-5-and-mod_pagespeed-does-not-play-well-together/</link>
		<comments>http://snowulf.com/2013/03/06/wordpress-3-5-and-mod_pagespeed-does-not-play-well-together/#comments</comments>
		<pubDate>Wed, 06 Mar 2013 18:00:11 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[a2dismod]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[mod_pagespeed]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress 3.5]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4859</guid>
		<description><![CDATA[WordPress 3.5 may look cool, but it has found a dozen new and clever ways in which to break itself. Last week, I figured out how to fix the &#8220;Add Media&#8221; button. This week, I discovered that I could no longer select any drop-downs in the admin screens, add tags, or click most buttons. I [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-03-at-5.01.00-PM.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-03-at-5.01.00-PM-150x150.png" alt="Screen Shot 2013-03-03 at 5.01.00 PM" width="150" height="150" class="alignright size-thumbnail wp-image-4870" /></a>WordPress 3.5 may look cool, but it has found a dozen new and clever ways in which to break itself. Last week, I figured out <a href="http://snowulf.com/2013/02/25/add-media-broken-in-wordpress-3-5/" title="[blog] “Add Media” broken in WordPress 3.5">how to fix the &#8220;Add Media&#8221; button</a>. This week, I discovered that I could no longer select any drop-downs in the admin screens, add tags, or click most buttons. I dug around and found the &#8220;<a href="http://wordpress.org/support/topic/troubleshooting-wordpress-35-master-list">Troubleshooting WordPress 3.5 Master List</a>&#8221; which lead me to discover that <a href="https://code.google.com/p/modpagespeed/">mod_pagespeed</a> was my most recent grief giver. Fortunately, it&#8217;s easy to fix.</p>
<p><span id="more-4859"></span><br />
<a href="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-03-at-5.00.07-PM.png"><img src="http://snowulf.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-03-at-5.00.07-PM-150x150.png" alt="Screen Shot 2013-03-03 at 5.00.07 PM" width="150" height="150" class="alignleft size-thumbnail wp-image-4869" /></a>First, for those who aren&#8217;t sure if they have mod_pagespeed, it is very easy to check and see if it is turned on. Load any page on your site and view the source. Look for javascript or CSS URLs that look something like: <u>A.widgets.css,qver=20121003.<strong>pagespeed</strong>.cf.4E_CGI1sCE.css</u><br />
If none of the URLs contain the word &#8220;pagespeed&#8221; then it probably isn&#8217;t turned on. What if it is? How does one fix it?</p>
<p><strong>Option #1 &#8211; <code>a2dismod pagespeed &#038;&#038; service apache restart</code></strong><br />
WordPress suggests that you simply disable mod_pagepseed. That&#8217;s the simple solution and that did fix my button/dropdown issues. However, that sort of sucks since mod_pagespeed has, otherwise, been serving me faithfully. This also doesn&#8217;t work if you don&#8217;t control the entire server. </p>
<p>I decided to look for a &#8220;better&#8221; solution. One where my speedy toys would still work. I came up with the options below.</p>
<p><strong>Option #2a &#8211; Disable mod_pagespeed for /wp-admin/ via module</strong><br />
If you run multiple WordPress sites, or otherwise have control over the entire server, I suggest you make the changes at module level. Edit <code>/etc/apache2/mods-available/pagespeed.conf</code> and at the bottom (Before &lt;/ifmodule&gt;) of the file add the following:<br />
<code>&lt;Location /wp-admin/&gt;<br />
&nbsp;&nbsp;&nbsp;ModPagespeed Off<br />
&lt;/Location&gt;</code><br />
Now restart Apache and you should be good to go. Any /wp-admin/ on any site will have the module disabled. This is the &#8220;safe&#8221; way in my book; you only need to worry about something breaking if mod_pagespeed is updated.</p>
<p><strong>Option #2b &#8211; Disable mod_pagespeed for /wp-admin/ via .htaccess</strong><br />
If you only run one copy of WordPress, or do not have access to the entire server, you can <a href="https://developers.google.com/speed/docs/mod_pagespeed/restricting_urls#disallow">selectively disable this module</a> in the .htaccess file. Edit said file for your WordPress site and add the line:<br />
<code>ModPagespeedDisallow */wp-admin/*</code><br />
That&#8217;s it! Next time you reload the admin pages, mod_pagespeed should be turned off and the buttons work again. You may need to force refresh your browser, but otherwise this change should be instantaneous. If it doesn&#8217;t work, your hosting provider has locked you down and you need to talk with them.</p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/03/06/wordpress-3-5-and-mod_pagespeed-does-not-play-well-together/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Book Lovers Rejoice! GoodReads.com is your new best friend</title>
		<link>http://snowulf.com/2013/03/04/book-lovers-rejoice-goodreads-com-is-your-new-best-friend/</link>
		<comments>http://snowulf.com/2013/03/04/book-lovers-rejoice-goodreads-com-is-your-new-best-friend/#comments</comments>
		<pubDate>Mon, 04 Mar 2013 18:00:01 +0000</pubDate>
		<dc:creator>Lauren</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[goodreads]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4845</guid>
		<description><![CDATA[I first came across GoodReads on Facebook. Several of my co-workers had joined and my news feed was suddenly being peppered with new books they had decided to read. Now, I am not generally a fan of Facebook apps. They drive me insane and as soon as I see a new game update or ANYTHING [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://snowulf.com/wp-content/uploads/2013/03/book.png"><img class="alignright size-thumbnail wp-image-4846" alt="book" src="http://snowulf.com/wp-content/uploads/2013/03/book.png" width="150" height="150" /></a> I first came across <a href="http://www.goodreads.com/">GoodReads</a> on Facebook. Several of my co-workers had joined and my news feed was suddenly being peppered with new books they had decided to read. Now, I am not generally a fan of Facebook apps. They drive me insane and as soon as I see a new game update or ANYTHING mentioning farmville I block it instantly.</p>
<p><span id="more-4845"></span>What caught my attention about GoodReads was that my co-workers had started the 2013 Reading Challenge. This challenge is very simple, you set yourself a goal of how many books you would like to read in 2013 and Goodreads helps you to track your progress. It will display how many books you have read (along with a helpfully infuriating percentage of how far behind you get) and update your profile with your progress.</p>
<p>Now, you have to understand that I work at a video game company. As such, we have a fun and collaborative culture that encourages us to work together both professionally and for fun. Translation: we are all insanely competitive when it comes to games and contests. So, when I saw that my co-workers had joined a reading contest my reaction was as follows: Victory shall be <em>mine</em>!</p>
<p>So, I created a GoodReads profile and set myself the lofty goal of reading 30 books this year. Once I had entered and decided on my first book, I decided to take a look at the other features that GoodReads had to offer.</p>
<p>The first thing I decided to do was add books I had already read to my profile. This is optional, but the site has an excellent recommendations section that bases its offerings on your personal preferences. The more you add, the better your recs get (similar to Amazon&#8217;s recommendations). By the time I was done I had added over 95 books to my &#8220;read&#8221; section. The next thing I did was look through my recommendations and mark books that I would like to read. This adds books to my ever growing list of interests and can be easily referenced if you want to select a new book to read.</p>
<p>GoodReads has also integrated with book vendors and each book has its own page, with a description, rating, reader reviews and links to purchase the book from Barnes and Noble, Amazon, and dozens of other sites.</p>
<p>The next section I decided to explore was Listopia. Here, there are thousands of user generated book lists in every genre you can think of. Want a list of the best books of the 20th century? Highest rated non-fiction books? Books most like 50 shades of Grey? They&#8217;re all there. I spent several hours going through the lists and adding books I had never even heard of to my &#8220;To Read&#8221; list.</p>
<p>What surprised me the most was the wide range of books they have. It&#8217;s really nice that GoodReads does not just have the newest or most popular books. Several of the books I added were very obscure; they even have out of print books listed.</p>
<p>GoodReads also has an awesome community atmosphere. You can start a book club and invite your friends, take book quizzes, get help with creative writing and join giveaways. One of my favorite things ended up being the Giveaways section. Here you can be the first to read new books before they are released. Prerelease books are listed for giveaway by publishers and authors, and members can enter to win. There are literally thousands of books you can enter to win in any genre. At the end of each giveaway, winners are picked randomly and sent a free copy of the book they asked for.</p>
<p>Just for fun I entered several giveaways of books that sounded interesting to me, GoodReads keeps a running list of giveaways you have entered so you can find the books you found interesting even if you do not win. As an added bonus for power users, the more books you rate, the better your chances of winning. Last week, I won one of the giveaways I entered! I should have my new book in a few weeks.</p>
<p>One thing I would advise new users to do is check their profile settings as soon as they sign up. If you don&#8217;t you could inadvertently start blowing up your friends&#8217; newsfeeds on both Facebook (if you choose to link your account) and on GoodReads. This needs to be updated in two separate sections. To change your GoodReads settings, go to my account and select the Feeds tab. For Facebook, Select the Apps tab.</p>
<p>Other than that, GoodReads in an awesome way to keep up with what your friends are reading and maybe win a few free books while you are at it.</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/03/04/book-lovers-rejoice-goodreads-com-is-your-new-best-friend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Securing your Apple adapters in conference rooms</title>
		<link>http://snowulf.com/2013/02/28/securing-your-apple-adapters-in-conference-rooms/</link>
		<comments>http://snowulf.com/2013/02/28/securing-your-apple-adapters-in-conference-rooms/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 18:00:17 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[anti-theft]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[CAT5]]></category>
		<category><![CDATA[conference rooms]]></category>
		<category><![CDATA[cost saving]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[DVI]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[modern office]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[vga]]></category>
		<category><![CDATA[zip-tie]]></category>

		<guid isPermaLink="false">http://snowulf.com/?p=4790</guid>
		<description><![CDATA[Modern IT is an increasingly Mac-friendly endeavor. One of the major annoyances (in my book) with Macs is the use of adapters and dongles. It isn&#8217;t so much that adapters are required, it&#8217;s that in shared spaces (such as conference rooms) you need to have them easily accessible AND removable, but not-easily wandered off with. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://commons.wikimedia.org/wiki/File:Video_Conference_Room_West_of_Council_Chambers.JPG"><img src="http://snowulf.com/wp-content/uploads/2013/02/Video_Conference_Room_West_of_Council_Chambers-150x150.jpg" alt="Video_Conference_Room_West_of_Council_Chambers" width="150" height="150" class="alignright size-thumbnail wp-image-4820" /></a> Modern IT is an increasingly Mac-friendly endeavor. One of the major annoyances (in my book) with Macs is the use of adapters and dongles. It isn&#8217;t so much that adapters are required, it&#8217;s that in shared spaces (such as conference rooms) you need to have them easily accessible AND removable, <em>but</em> <strong>not</strong>-easily wandered off with. This last requirement is the most troublesome for me because people seem to love to go wandering off with VGA and network adapters from conference rooms. They may have dozens of the damn things back at their desk (because I readily provide them to my users), but they&#8217;ll accidentally walk off with another. I found a solution to securing all types of Apple adapters in our conference rooms, and it costs about about $0.10 USD.</p>
<p><span id="more-4790"></span>What you need: A VGA cable, an MDP to VGA Apple Adapter, 4 zip ties roughly 8-9&#8243; in length and something to cut the zip ties (wire cutters, needle nose pliers, etc). </p>
<p><a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.32.26.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.32.26-150x150.jpg" alt="2013-02-13 12.32.26" width="150" height="150" class="alignleft size-thumbnail wp-image-4791" /></a> Step 1 &#8211; Loop two of the zip ties in on themselves, fasten/tighten only a few clicks in.</p>
<p><br style="clear:both;" /><br />
<a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.32.59.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.32.59-150x150.jpg" alt="2013-02-13 12.32.59" width="150" height="150" class="alignleft size-thumbnail wp-image-4792" /></a> Step 2 &#8211; Put the two looped zip ties over the adapter and the end of the VGA cable. Fasten the 3rd zip tie to the 4th, tightening only a few clicks.</p>
<p><br style="clear:both;" /><br />
<a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.33.49.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.33.49-150x150.jpg" alt="2013-02-13 12.33.49" width="150" height="150" class="alignleft size-thumbnail wp-image-4793" /></a> Step 3 &#8211; Run zip tie of the 3-4 combo through the two loops (zip ties 1 and 2). Tighten down (just a few clicks) the other side of the 3-4 combo (making a big loop)</p>
<p><br style="clear:both;" /><br />
<a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.34.14.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.34.14-150x150.jpg" alt="2013-02-13 12.34.14" width="150" height="150" class="alignleft size-thumbnail wp-image-4794" /></a>Step 4 &#8211; Tighten down the ties (1 and 2) around the adapter and the VGA cable. The trick: You want to tighten them down just enough so that the looped ties can&#8217;t slide over the adapter, but not so tight that they prevent the zip ties loops from moving (and the big 3-4 loop from moving also). Basically, you want to balance security and the ability to adjust the adapter/cable positioning. Too tight and you wont be able to remove the adapter.</p>
<p><br style="clear:both;" /><br />
<a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.34.54.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.34.54-150x150.jpg" alt="2013-02-13 12.34.54" width="150" height="150" class="alignleft size-thumbnail wp-image-4795" /></a>Step 5 &#8211; Clip the ends of zip ties as close to the catch as you can.</p>
<p><br style="clear:both;" /><br />
<a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.35.34.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.35.34-150x150.jpg" alt="2013-02-13 12.35.34" width="150" height="150" class="alignleft size-thumbnail wp-image-4796" /></a>Step 6 &#8211; Enjoy your newly secured adapter</p>
<p><br style="clear:both;" /><br />
<a href="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.35.50.jpg"><img src="http://snowulf.com/wp-content/uploads/2013/02/2013-02-13-12.35.50-150x150.jpg" alt="2013-02-13 12.35.50" width="150" height="150" class="alignleft size-thumbnail wp-image-4797" /></a>Step 7 &#8211; Make sure you can detach the adapter.</p>
<p><br style="clear:both;" />It might take a couple of tries to get the right tightness and zip-tie placement exactly correct, but it&#8217;s worth it. Since I started doing this, I haven&#8217;t lost a single adapter ($0.10 zip ties are a small price for not losing $30 adapters en masse). Remember, even though my demonstration was with a VGA cable &#038; VGA adapter, this works well with other adapters such as Ethernet. You can also attach multiple adapters to a single cable (e.g. USB &#038; Thunderbolt Ethernet to a single CAT5).</p>
]]></content:encoded>
			<wfw:commentRss>http://snowulf.com/2013/02/28/securing-your-apple-adapters-in-conference-rooms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (User agent is rejected)
Content Delivery Network via Amazon Web Services: CloudFront: cdn.snowulf.com (user agent is rejected)

 Served from: snowulf.com @ 2013-05-19 20:35:40 by W3 Total Cache -->