<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><description>I write code that makes my life easier. This blog is where I share some of my projects and hopefully make YOUR life a little easier!Buy me a cup of coffee?</description><title>Andrew Worcester</title><generator>Tumblr (3.0; @amwmedia)</generator><link>https://blog.amwmedia.com/</link><item><title>Who decided indenting with spaces was a good idea?</title><description>&lt;figure data-orig-width="677" data-orig-height="357" class="tmblr-full"&gt;&lt;img src="https://64.media.tumblr.com/169ff557f38d2b93feea8073a0c7da5b/tumblr_inline_nm4qotnl2G1qfyapn_540.jpg" alt="image" data-orig-width="677" data-orig-height="357"/&gt;&lt;/figure&gt;&lt;p&gt;I have had various discussions over the years with developers about coding standards and consistency. At the start of a new project a team will/should sit down and hash out a common coding style guideline to follow. I&amp;rsquo;ve always believed that the consistency of the codebase is more important than my own personal coding preferences, so I never complained much when a decision doesn&amp;rsquo;t go the way I’d like. &lt;/p&gt;&lt;p&gt;One decision that I&amp;rsquo;ve seen many times and have never understood is the use of spaces instead of tabs to indent code. To me it seems that this is something that people have just gotten used to seeing and have very few actual reasons for preferring it. Similar to how many people pronounce words incorrectly and resist correction because the correct way “sounds weird.” So instead of making the same mistake, I&amp;rsquo;ve decided to list the reasons for using tabs instead of spaces for indentation of code.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;tabs are a single character that represents indentation, this makes it the “correct” choice for indentation of code.&lt;/li&gt;&lt;li&gt;when code is indented with tabs, the indentation amount (2 spaces, 4, 8) becomes a developer preference that can be set in the developer’s IDE.&lt;/li&gt;&lt;li&gt;tabs actually use less space on disk as only one character is stored instead of 2, 4 or 8.&lt;/li&gt;&lt;li&gt;indentation mistakes are harder to make and easier to see (like 3 spaces instead of 4)&lt;/li&gt;&lt;li&gt;spaces look funny (OK, that one was a joke)&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;It seems to me that indenting with spaces is akin to making a new paragraph in html via 2&lt;b&gt; &amp;lt;br&amp;gt;&lt;/b&gt; tabs. Yes it achieves the same visual result, but the &lt;b&gt;&amp;lt;p&amp;gt;&lt;/b&gt; tag has a purpose, why would you NOT use it?&lt;/p&gt;&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=9308082" target="_blank"&gt;Discuss on Hacker News&lt;/a&gt;&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/115220544982</link><guid>https://blog.amwmedia.com/post/115220544982</guid><pubDate>Wed, 01 Apr 2015 13:04:57 -0400</pubDate><category>javascript</category><category>code</category><category>best practices</category></item><item><title>How to speed up Stylus with a concat step</title><description>&lt;p&gt;&lt;figure data-orig-height="250" data-orig-width="500" data-orig-src="https://64.media.tumblr.com/84d1300fc921abc9da0c2eb990749a7b/tumblr_inline_nk3ynkYE371qfyapn.png"&gt;&lt;img src="https://64.media.tumblr.com/c6cac22e438e3627c8ec5fa15533622a/tumblr_inline_p7mcbaMKJO1qfyapn_540.png" data-orig-height="250" data-orig-width="500" data-orig-src="https://64.media.tumblr.com/84d1300fc921abc9da0c2eb990749a7b/tumblr_inline_nk3ynkYE371qfyapn.png"/&gt;&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;I recently ran into an issue where my &lt;a href="http://learnboost.github.io/stylus/" target="_blank"&gt;Stylus&lt;/a&gt; grunt task was taking a long time to run (like 10+ seconds). I found that the main issue was the sheer number of styl files our project has (125 and counting) and the fact that we use nib.&lt;/p&gt;

&lt;p&gt;Using a concat step (&lt;a href="https://github.com/gruntjs/grunt-contrib-concat" target="_blank"&gt;grunt-contrib-concat&lt;/a&gt;) to combine all styl files into one prior to compiling with stylus, I was able to reduce the processing time to around 3 seconds (a 70% increase in speed).&lt;/p&gt;

&lt;p&gt;So if you use lots of stylus files and are finding it slow to process, give this technique a try.&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/110919529872</link><guid>https://blog.amwmedia.com/post/110919529872</guid><pubDate>Fri, 13 Feb 2015 15:05:00 -0500</pubDate><category>grunt</category><category>stylus</category><category>css preprocessor</category><category>javascript</category></item><item><title>Pushing Particles</title><description>&lt;a href="http://codepen.io/amwmedia/details/YPWwaG"&gt;Pushing Particles&lt;/a&gt;: &lt;blockquote class="link_og_blockquote"&gt;The number of particles will be increased until your CPU can no longer maintain at least 50 FPS. If your FPS drops below 50, particles will be removed….&lt;/blockquote&gt;</description><link>https://blog.amwmedia.com/post/110089952127</link><guid>https://blog.amwmedia.com/post/110089952127</guid><pubDate>Wed, 04 Feb 2015 14:54:00 -0500</pubDate><category>javascript</category><category>particles</category></item><item><title>infect.js - Infectiously simple dependency injection for any JavaScript project</title><description>&lt;p&gt;When working on a large codebase there are often services, utility methods, endpoints, etc that are shared across the whole application. When a reference to one of these is needed within a module, we will often alias the global namespace to a variable to easy referencing. Dependency injection makes this easier and more maintainable.&lt;/p&gt;
&lt;p&gt;infect.js brings the magic of DI to any JavaScript application in the form of a tiny (sub 1kb min+gz) library that can be included in your code.&lt;/p&gt;
&lt;p&gt;Check out &lt;a href="https://github.com/amwmedia/infect.js" title="Infect.js" target="_blank"&gt;the github page&lt;/a&gt; for more details and code examples&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/66879608871</link><guid>https://blog.amwmedia.com/post/66879608871</guid><pubDate>Wed, 13 Nov 2013 11:26:00 -0500</pubDate><category>javascript</category></item><item><title>ko.public - A New Way for Your Knockout.js Modules to Talk</title><description>&lt;p&gt;As developers we know that we should be keeping out code modular. That means if you&amp;rsquo;re using a library like Knockoutjs you shouldn&amp;rsquo;t put all your code in a single viewmodel.&lt;/p&gt;
&lt;p&gt;So what if you need those modules to be able to communicate with each other? Typically you would use a PubSub type of structure to allow cross module communication but what if there was an easier way?&lt;/p&gt;
&lt;p&gt;As I was developing in Knockout I thought, what if there was a way for me to specify a value on 2 different viewmodels that used the same observable value? So when one is updated, the other would get that message and automatically update and push changes to the view.&lt;/p&gt;
&lt;p&gt;Well, it turns out it is easier than I thought. A few lines of code later and I had it. I&amp;rsquo;m calling the solution ko.public, and it&amp;rsquo;s available on GitHub under the MIT license. So go nuts, and enjoy!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Project Webpage&lt;/strong&gt;&lt;a href="https://github.com/amwmedia/ko.public" title="ko.public" target="_blank"&gt;&lt;br/&gt;https://github.com/amwmedia/ko.public&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example of Usage&lt;/strong&gt;&lt;br/&gt;&lt;a href="http://jsfiddle.net/amwmedia/4PKQS/" title="ko.public example" target="_blank"&gt;http://jsfiddle.net/amwmedia/4PKQS/&lt;/a&gt;&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/58418390287</link><guid>https://blog.amwmedia.com/post/58418390287</guid><pubDate>Fri, 16 Aug 2013 09:22:32 -0400</pubDate><category>javascript</category><category>knockoutjs</category></item><item><title>I cannot figure out how to drag the Reveal Password link into bookmarks…</title><description>&lt;p&gt;Sometimes, depending on your browser and settings, you can’t drag the bookmark. In that case you can right click on it and add it to your favorites from that menu. In internet explorer I believe you &lt;a href="http://www.youtube.com/watch?v=5dCS_R3PgxU"&gt;click “Add to Favorites” from the right click menu&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Thanks, Andrew&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/57833568682</link><guid>https://blog.amwmedia.com/post/57833568682</guid><pubDate>Fri, 09 Aug 2013 20:02:00 -0400</pubDate><category>faq</category></item><item><title>A different take on Chromecast</title><description>&lt;figure data-orig-height="277" data-orig-width="500" data-orig-src="https://64.media.tumblr.com/f654592a525cc0de597bb64f1a781cd6/tumblr_inline_nk3yal9HAb1qfyapn.png"&gt;&lt;img src="https://64.media.tumblr.com/bdfaaa43bd81926f22a836109f07fdc8/tumblr_inline_p7mcbaPXX41qfyapn_540.png" alt="image" data-orig-height="277" data-orig-width="500" data-orig-src="https://64.media.tumblr.com/f654592a525cc0de597bb64f1a781cd6/tumblr_inline_nk3yal9HAb1qfyapn.png"/&gt;&lt;/figure&gt;&lt;p&gt; So Google recently announced a sleek new product known as &lt;a href="http://www.google.com/intl/en/chrome/devices/chromecast" target="_blank"&gt;Chromecast&lt;/a&gt; and &lt;a href="http://www.forbes.com/sites/larrymagid/2013/07/24/hands-on-review-of-new-google-chromecsast/" target="_blank"&gt;everyone&lt;/a&gt; is &lt;a href="http://www.pcmag.com/article2/0,2817,2422279,00.asp" target="_blank"&gt;talking&lt;/a&gt; &lt;a href="http://www.theverge.com/2013/7/24/4553368/hands-on-googles-35-chromecast-a-streaming-tv-stick" target="_blank"&gt;about it.&lt;/a&gt; The device resembled a USB thumb drive, but it plugs into your HD TV instead of your computer. The idea is that when you find a video that you want to watch, or any other piece of content that you want to consume, you can do so on your television using Chromecast. So you have a little button on your youtube app that, when pressed, sends a signal to your Chromecast, and the Chromecast goes out and streams that content down to your TV.&lt;/p&gt;&lt;p&gt;The idea is simple and elegant, and it got me thinking.&lt;/p&gt;&lt;!-- more --&gt;&lt;h2&gt;What about games?&lt;/h2&gt;
&lt;p&gt;Would it be possible to take this same process and use it to turn the Chromecast into a basic (web based) game device?&lt;/p&gt;
&lt;p&gt;Let me break this down for you. Could we not have a mobile app that would present a gallery of games to play and use Chromecast to display those games on your TV? Your mobile device would then display virtual controls (or use the accelerometer) and the input could be piped over to the Chromecast via a websockets connection. You could even go as far as pairing a hardware controller to your phone via Bluetooth for a truly tactile experience. &lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m really excited to see what comes out of this little $35 device, and the API that goes along with it.&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/56480202508</link><guid>https://blog.amwmedia.com/post/56480202508</guid><pubDate>Thu, 25 Jul 2013 22:37:00 -0400</pubDate><category>tech</category><category>television</category><category>chromecast</category></item><item><title>Fire Cells</title><description>&lt;figure data-orig-height="234" data-orig-width="500" data-orig-src="https://64.media.tumblr.com/537ebe8dea0b017d4e0b5e72aeb46af2/tumblr_inline_nk3z5epe9T1qfyapn.png"&gt;&lt;img src="https://64.media.tumblr.com/32c40008f4227e3534b064bb5b6b0429/tumblr_inline_p7mcba5J9F1qfyapn_540.png" alt="image" data-orig-height="234" data-orig-width="500" data-orig-src="https://64.media.tumblr.com/537ebe8dea0b017d4e0b5e72aeb46af2/tumblr_inline_nk3z5epe9T1qfyapn.png"/&gt;&lt;/figure&gt;&lt;p&gt;Just posted my second particle animation up on CodePen and I really like how it came out. I added a lot more &amp;ldquo;life&amp;rdquo; to the system, making the little particles move on their own in a more cell-like fashion. Hope you enjoy it!&lt;/p&gt;

&lt;p&gt;Oh, and &lt;a href="http://www.google.com/chrome/" target="_blank"&gt;Chrome&lt;/a&gt; is pretty much required for this to look right. :-)&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://codepen.io/amwmedia/details/blAIr" target="_blank"&gt;Fire Cells on CodePen »&lt;/a&gt;&lt;/h3&gt;</description><link>https://blog.amwmedia.com/post/55696435021</link><guid>https://blog.amwmedia.com/post/55696435021</guid><pubDate>Wed, 17 Jul 2013 11:42:00 -0400</pubDate><category>javascript</category><category>particles</category><category>canvas</category></item><item><title>Critical Mass - CodePen</title><description>&lt;a href="http://codepen.io/amwmedia/pen/wyGJr"&gt;Critical Mass - CodePen&lt;/a&gt;: &lt;blockquote class="link_og_blockquote"&gt;My first particle system. I had a lot of fun writing this, enjoy!&lt;/blockquote&gt;</description><link>https://blog.amwmedia.com/post/50036293158</link><guid>https://blog.amwmedia.com/post/50036293158</guid><pubDate>Thu, 09 May 2013 17:11:00 -0400</pubDate><category>javascript</category><category>particles</category><category>canvas</category></item><item><title>Kill Skype Home - Going Open Source!</title><description>&lt;p&gt;I have really enjoyed all the comments and positive feedback I&amp;rsquo;ve gotten about &lt;a title="Kill Skype Home" href="http://blog.amwmedia.com/post/8428110053/kill-skype-home-get-rid-of-that-annoying-skype-home" target="_blank"&gt;Kill Skype Home&lt;/a&gt; (KSH)! A day or two after releasing KSH I started receiving requests to publish the source. To be honest I had mixed feelings about it. On one hand, I have nothing to hide, and I want everyone to feel comfortable using KSH on their computer. On the other hand I spent a fair amount of time figuring out what I thought would be the best way for this program to work, and coding it.&lt;/p&gt;
&lt;p&gt;So I started to research OS licenses, and what they meant. So I&amp;rsquo;m going to give this whole &amp;ldquo;Open Source&amp;rdquo; thing a shot. I&amp;rsquo;m releasing KSH under the GPL and starting a sourceforge project. Seeing as how I have no experience with sourceforge, I&amp;rsquo;ll ask that you bear with me as I figure it all out.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d love to hear your comments about this move and general thoughts on open source vs closed source projects.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://sourceforge.net/projects/killskypehome/"&gt;KillSkypeHome on SourceForge&lt;/a&gt;&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/9379065298</link><guid>https://blog.amwmedia.com/post/9379065298</guid><pubDate>Thu, 25 Aug 2011 13:06:05 -0400</pubDate></item><item><title>"Everyone is a genius. But if you judge a fish on its ability to climb a tree, it will live its whole..."</title><description>“Everyone is a genius. But if you judge a fish on its ability to climb a tree, it will live its whole life believing it is stupid.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Albert Einstein&lt;/em&gt;</description><link>https://blog.amwmedia.com/post/9018908600</link><guid>https://blog.amwmedia.com/post/9018908600</guid><pubDate>Tue, 16 Aug 2011 20:43:54 -0400</pubDate></item><item><title>Kill Skype Home (KSH) - Get rid of that annoying "Skype Home" popup</title><description>&lt;img src="https://dl.dropboxusercontent.com/u/905478/blog/killskypehome/KSH-Icon.png" alt="Kill Skype Home"/&gt;With the new Skype update has come an annoying little window called Skype Home that pops up automatically when Skype starts. I don&amp;rsquo;t like things that serve no purpose and I don&amp;rsquo;t like things that pop up automatically. Now, when you combine the two, it&amp;rsquo;s just too much. So, of course, I had to write an app that fixes this issue. This script is designed to start with windows, kill the Skype Home window when it finds it, then closes itself so it no longer uses any system resources. For those of you who don&amp;rsquo;t leave skype running all the time, I&amp;rsquo;ve added &amp;ldquo;Persistent mode&amp;rdquo; which keeps KSH running and watching for Skype Home to pop up.&lt;!-- more --&gt;&lt;p&gt;&lt;b&gt;Features:&lt;/b&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kills the Skype Home window automatically&lt;/li&gt;
&lt;li&gt;Minimizes Skype to the system tray when it starts&lt;/li&gt;
&lt;li&gt;No installation required&lt;/li&gt;
&lt;li&gt;Can hide KSH tray icon while running&lt;/li&gt;
&lt;li&gt;Tiny 300KB file size&lt;/li&gt;
&lt;li&gt;No dependencies required (no .NET framework)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Setting up KSH:&lt;/b&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download the KillSkypeHome.exe file and run it&lt;/li&gt;
&lt;li&gt;If the &amp;ldquo;Open File - Security Warning&amp;rdquo; window comes up, uncheck the box called &amp;ldquo;Always ask before opening this file&amp;rdquo;, and click [Run].&lt;/li&gt;
&lt;li&gt;Right click on the icon down in the system tray and select &amp;ldquo;Start with Windows&amp;rdquo; (if you want KSH to run automatically when you startup)&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;re done! Restart your computer and watch the Skype Home window disappear as soon as it pops up.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;b&gt;** IMPORTANT&lt;/b&gt;: Skype must be in &amp;ldquo;Compact View&amp;rdquo; for this to work. To use &amp;ldquo;Compact View&amp;rdquo; simply click [View] then select [Compact View] from the menu &lt;b&gt;**&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/KillSkypeHome" title="Download Kill Skype Home from SourceForge" target="_blank"&gt;&lt;br/&gt;Download Kill Skype Home&lt;/a&gt; v1.0 [&lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;amp;hosted_button_id=XAFBBRB5MGPFE" title="If this saved your life, please donate :-)" target="_blank"&gt;Donate&lt;/a&gt;]&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v1.0 - 09/22/2011 - No new features, this update just improves performance&amp;hellip; imagine that! ;-)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v0.9 - 09/08/2011 - Can now hide the KSH tray icon by pressing CTRL + F11. Also fixed a minor bug with minimizing Skype.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v0.8 - 09/05/2011 - Removed &amp;ldquo;Nuke Skype Home&amp;rdquo; because it was only effective on 5.3, not 5.5. Fixed bug affecting users with a period in their Windows username. Now closes Skype Home and minimizes Skype to tray faster.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v0.7 - 09/01/2011 - Will now minimize Skype to tray even if Skype Home is not found. Added option to &amp;ldquo;Nuke Skype Home&amp;rdquo;, which alters a database to permanently remove the Skype Home window.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v0.6 - 08/23/2011 - Now minimizes Skype to tray. Better persistent mode functionality.&lt;b&gt; &lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;b&gt;UPDATE&lt;/b&gt;&lt;/b&gt; v0.5 - 08/16/2011 - Added support for killing Skype Home window in localized versions of Skype. Changed icon because the red icon was confusing when running in persistent mode.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v0.4 - 08/11/2011 - Added an option to keep KillSkypeHome running (persistent mode). Also added an automatically generated config file to handle user preferences.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UPDATE&lt;/b&gt; v0.3 - 08/04/2011 - Added an option to minimize the main Skype window after Skype Home is closed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.softpedia.com/progClean/Kill-Skype-Home-Clean-195327.html" title="Kill Skype Home is 100% clean of any type of malware" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.softpedia.com/progClean/Kill-Skype-Home-Clean-195327.html" title="Kill Skype Home is 100% clean of any type of malware" target="_blank"&gt;&lt;img src="http://www.softpedia.com/base_img/softpedia_clean_award_f.gif" alt="100% Clear Software"/&gt;&lt;/a&gt;</description><link>https://blog.amwmedia.com/post/8428110053</link><guid>https://blog.amwmedia.com/post/8428110053</guid><pubDate>Wed, 03 Aug 2011 10:24:00 -0400</pubDate><category>tools</category><category>skype</category></item><item><title>Reveal Passwords gets full Internet Explorer 6+ support</title><description>&lt;p&gt;Hello, Just wanted to post a quick update to let everyone know that I have updated &lt;a target="_self" href="http://blog.amwmedia.com/post/3043988338/reveal-hidden-passwords-in-all-major-browsers"&gt;Reveal Passwords&lt;/a&gt; with full IE 6+ support. It took a fair amount of trial and error, but I&amp;rsquo;m very happy with the end product. So go check it out and update your Bookmarks!&lt;/p&gt;
&lt;p&gt;&lt;a target="_self" href="http://blog.amwmedia.com/post/3043988338/reveal-hidden-passwords-in-all-major-browsers"&gt;Reveal Passwords&lt;/a&gt;&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/3107214772</link><guid>https://blog.amwmedia.com/post/3107214772</guid><pubDate>Fri, 04 Feb 2011 13:00:00 -0500</pubDate><category>bookmarklet</category><category>javascript</category><category>update</category></item><item><title>Reveal hidden passwords in all major browsers</title><description>&lt;figure data-orig-width="260" data-orig-height="234"&gt;&lt;img src="https://64.media.tumblr.com/c476ce588dfc5c9c628a2787691fac80/tumblr_inline_ora6pcKHAA1qfyapn_540.jpg" alt="image" data-orig-width="260" data-orig-height="234"/&gt;&lt;/figure&gt;&lt;p&gt;Do you, or someone you know, use the browser&amp;rsquo;s built-in ability to remember passwords to the point that you/they forget what the password actually is? Do you feel held hostage by your browser, praying each night that tomorrow the magical dots will still be there to let you into your mail account? Those little dots that mock you, declaring with each page visit &amp;ldquo;I know your password, but I&amp;rsquo;m not going to tell YOU what it is!&amp;quot; Well, my friend, the day of reckoning has come!&lt;/p&gt;&lt;p&gt;Ok, so I went a little overboard there. I&amp;rsquo;ve written a bookmarklet that will allow you to reveal what is hidden behind your browser&amp;rsquo;s password mask. Simply drag the following link into your bookmarks. Then anytime you see a password field, you can click your bookmark to reveal the secret password beneath.&lt;/p&gt;&lt;p&gt;This script has been tested in:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Internet Explorer 6+&lt;/li&gt;
&lt;li&gt;Firefox 3.6&lt;/li&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Opera 11&lt;/li&gt;
&lt;li&gt;Safari&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;a href="https://codepen.io/amwmedia/details/VWerOK/" target="_blank"&gt;Reveal Passwords&lt;/a&gt;&lt;/b&gt; [&lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;amp;hosted_button_id=XAFBBRB5MGPFE" title="If this saved your life, please donate :-)" target="_blank"&gt;Donate&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.amwmedia.com/post/57833568682/i-cannot-figure-out-how-to-drag-the-reveal-password" target="_blank"&gt;Having trouble dragging the bookmark?&lt;/a&gt;&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/3043988338</link><guid>https://blog.amwmedia.com/post/3043988338</guid><pubDate>Tue, 01 Feb 2011 00:13:00 -0500</pubDate><category>javascript</category><category>bookmarklet</category></item><item><title>I love the smell of Pandora in the morning</title><description>&lt;figure data-orig-height="148" data-orig-width="147"&gt;&lt;img src="https://64.media.tumblr.com/a5a17bcfc025e338650a699a0fb3cde5/tumblr_inline_ora8hj6go31qfyapn_540.jpg" data-orig-height="148" data-orig-width="147"/&gt;&lt;/figure&gt;&lt;p&gt;If you are like me, you use your phone as an alarm clock. It&amp;rsquo;s convenient because no matter where you are, it&amp;rsquo;s always with you&amp;hellip;ready to yank you from your sweet slumber. Today I&amp;rsquo;ll show you how to make a very basic alarm clock for &lt;a href="http://www.android.com/" target="_blank"&gt;Android&lt;/a&gt; using &lt;a href="http://www.pandora.com/" target="_blank"&gt;Pandora&lt;/a&gt; and &lt;a href="http://tasker.dinglisch.net" target="_blank"&gt;Tasker&lt;/a&gt;. It is, in my humble opinion, absolutely the best way to wake up in the morning. Ok, fine, the smell of bacon and eggs would be better. So if anyone can figure out a way to rig up an alarm clock that starts making you breakfast, please contact me right away!&lt;/p&gt;
&lt;p&gt;Read on for all the dirty details&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;THE PROBLEM&lt;/b&gt;&lt;br/&gt;Normally a cell phone alarm clock will wake you up with some horrendously annoying sound. Yes, true, most phones will let you pick a music ring tone or even an mp3 to wake up to. But that simply ruins whatever song you pick. No matter what song you choose, it will ever after be associated with the awful feeling of morning grogginess.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;THE SOLUTION&lt;/b&gt;&lt;br/&gt;Below I&amp;rsquo;ve listed a very basic Tasker alarm profile that will simply start your Pandora app at the designated time, and close the app when the profile exits. Remember, profile exit events are triggered when the condition is no longer true, so if you want Pandora to stop at 7:00 AM, you need to set your exit event for 6:59 AM. I then set my phones annoying &amp;ldquo;beep beep beep&amp;rdquo; alarm for 7:00 AM so that in case I sleep heavily on a particular morning, I will still be forced out of bed.&lt;/p&gt;
&lt;p&gt;Please note, due to changes in the Android platform, phones running 2.2 or higher will NOT be able to kill the Pandora app by merely performing a &amp;ldquo;Kill App&amp;rdquo; task. This profile gets around the problem by pausing the music, going to the home screen, and then killing the app. I&amp;rsquo;ve found this to be very reliable but please let me know if you have any trouble with it.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;PROFILE: &lt;a href="http://bit.ly/11RlLiD" title="Pandora Alarm Clock Tasker Profile" target="_blank"&gt;Pandora Alarm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Have a better way to wake up in the morning? Tell me about it in the comments!&lt;/p&gt;</description><link>https://blog.amwmedia.com/post/2935798488</link><guid>https://blog.amwmedia.com/post/2935798488</guid><pubDate>Tue, 25 Jan 2011 22:51:00 -0500</pubDate><category>tasker</category><category>android</category></item><item><title>Wake up my phone in an emergency!</title><description>&lt;p&gt;Have you ever missed an important call because your phone was on silent? Or been reluctant to turn your phone to silent because you were afraid you&amp;rsquo;d miss an important call? NO LONGER! With &lt;a href="http://tasker.dinglisch.net/" target="_blank"&gt;Tasker&lt;/a&gt; (for Android phones only) and a few scripts I wrote, you can put those worries to rest.&lt;/p&gt;
&lt;p&gt;Read on for all the instructions&amp;hellip;&lt;/p&gt;
&lt;p&gt;This idea originally came from &lt;a href="http://lifehacker.com/5735792/handle-emergency-calls-even-when-your-android-phone-is-on-silent" target="_blank"&gt;a Lifehacker post&lt;/a&gt; that I read. However I tried to install their scripts on my phone to no avail. So I did what any developer would do. I wrote my own. The key difference between MY solution, and the one feature by Lifehacker is that mine doesn&amp;rsquo;t require you to list specific phone numbers that receive this privilege. It will work for anyone in your phone&amp;rsquo;s favorites list.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SO HOW DOES IT WORK?&lt;/strong&gt;&lt;br/&gt;When you get a missed call from someone on your favorites list while your phone is on silent, your phone will automatically send a text message to the number that called. This text message will instruct the caller to send you a text message that says &amp;ldquo;911&amp;rdquo; and then try their call again. When your phone receives the 911 text message, it will take your phone off silent. Your phone will remain un-silenced until you view the text message.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HOW DO I SET IT UP?&lt;/strong&gt;&lt;br/&gt;In order for this to work, you need to be running an Android phone and you will need to acquire the Tasker application. Once you are running Tasker, all you need to do is download the following tasks and profiles, and import them into Tasker by tapping your option key at the main Tasker screen and selecting &amp;ldquo;Profile Data&amp;rdquo;. Then you will need to choose &amp;ldquo;Import One Profile&amp;rdquo; or &amp;ldquo;Import One Task&amp;rdquo; and select the files that you downloaded. I would suggest importing the tasks first.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FILES&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TASK: &lt;a href="http://bit.ly/13xKahz" target="_blank"&gt;Send 911 Instructions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;TASK: &lt;a href="http://bit.ly/12B8p1u" target="_blank"&gt;Wake Up My Phone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PROFILE: &lt;a href="http://bit.ly/18nZJxD" target="_blank"&gt;Watch For 911 Message&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PROFILE: &lt;a href="http://bit.ly/11uIzWs" target="_blank"&gt;Send Sms When Silent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bit.ly/11r3rNo" target="_blank"&gt;Everything in a ZIP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>https://blog.amwmedia.com/post/2828724537</link><guid>https://blog.amwmedia.com/post/2828724537</guid><pubDate>Wed, 19 Jan 2011 13:17:00 -0500</pubDate><category>android</category><category>tasker</category></item><item><title>"You can’t leave footprints in the sand of time if all you do is sit on your butt. And no one wants..."</title><description>“You can’t leave footprints in the sand of time if all you do is sit on your butt. And no one wants to leave butt-prints in the sand of time.”</description><link>https://blog.amwmedia.com/post/2825947413</link><guid>https://blog.amwmedia.com/post/2825947413</guid><pubDate>Wed, 19 Jan 2011 07:53:00 -0500</pubDate><category>quotes</category></item></channel></rss>
