<?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>Guillaume Boudreau Geek Blog</title>
	<atom:link href="http://www.pommepause.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pommepause.com/blog</link>
	<description>My Geek Life</description>
	<lastBuildDate>Tue, 01 May 2012 18:39:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Flickr interesting or groups photos on your (jailbroken) Apple TV screensaver</title>
		<link>http://www.pommepause.com/blog/2012/04/flickr-interesting-or-groups-photos-on-your-jailbroken-apple-tv-screensaver/</link>
		<comments>http://www.pommepause.com/blog/2012/04/flickr-interesting-or-groups-photos-on-your-jailbroken-apple-tv-screensaver/#comments</comments>
		<pubDate>Sun, 08 Apr 2012 11:10:34 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Apple TV]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=530</guid>
		<description><![CDATA[Since I replaced my Apple TV 1 with an Apple TV 2, and started using Flickr as the screensaver, I was wondering how I could use group photos or interesting photos from Flickr, instead of just a user's photos, or the result of a search.
Today, I was able to hack it to do what I want!]]></description>
			<content:encoded><![CDATA[<p>Since I replaced my Apple TV 1 with an Apple TV 2, and started using Flickr as the screensaver, I was wondering how I could use group photos or interesting photos from Flickr, instead of just a user&#8217;s photos, or the result of a search.<br />
Today, I was able to hack it to do what I want!</p>
<p>(Note: You need a jailbroken Apple TV for this to work.)</p>
<p>I was able to find <a href="http://www.flickr.com/groups/appletvscreensaver/">other</a> <a href="http://gigaom.com/apple/flickr-photos-get-interesting-on-the-apple-tv/">workarounds</a>, but none seemed to do what I really wanted, or they were simply not good ideas in the long run.</p>
<p>To do what I wanted, I forwarded all requests intended for api.flickr.com, which the Apple TV uses for the Flickr screensaver, to my own server. The <a href="https://gist.github.com/2336657">simple PHP script I created to receive those requests</a> then checks if the request is a search, and if so, if it contains specific strings, namely <em>group:some group name</em> or <em>explore:</em>. If it does, it will use the Flickr API to do a group search for <em>some group name</em>, and will return the photos of the first group found, or it will return photos from the Explore section, respectively. All other requests are simply forwarded to the Flickr API as-is.</p>
<p>Bonus: The Apple TV tries to load 100 pictures; my script returns 500! Less chance of seeing the same photos twice like this. <img src='http://www.pommepause.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Second bonus: It&#8217;s actually quite easy to return pictures from any other website like this, so <a href="https://gist.github.com/2336657">my script</a> could be easily modified to return photos from a Gallery3 website, or another photo site that has an API, or whatever.</p>
<p>Usage:</p>
<p>To use it yourself, the only thing you need is to force all requests to api.flickr.com to go though my server:<br />
<code>ssh root@apple-tv.local 'echo "184.107.141.122 api.flickr.com" >> /etc/hosts'</code><br />
Note: The default password for root is <em>alpine</em>.</p>
<p>To use a group photos for your screensaver, enter <em>group:some group name</em> in the search option.<br />
You&#8217;ll want to make sure the <em>some group name</em> you use returns the group you want to use as the first search result in the <a href="http://www.flickr.com/search/groups/" target="_blank">groups search on Flickr</a>.</p>
<p>To use the <a href="http://www.flickr.com/explore/" target="_blank">Explore/Interesting photos</a>, enter <em>explore:</em> in the search option.</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=530&amp;md5=4033552ecb2b1e1cce8a7cba5f549f8a" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2012/04/flickr-interesting-or-groups-photos-on-your-jailbroken-apple-tv-screensaver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2012%2F04%2Fflickr-interesting-or-groups-photos-on-your-jailbroken-apple-tv-screensaver%2F&amp;language=en_GB&amp;category=text&amp;title=Flickr+interesting+or+groups+photos+on+your+%28jailbroken%29+Apple+TV+screensaver&amp;description=Since+I+replaced+my+Apple+TV+1+with+an+Apple+TV+2%2C+and+started+using+Flickr+as+the+screensaver%2C+I+was+wondering+how+I+could+use+group+photos+or+interesting...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>[Updated] Phone Power in Canada: awesome features set, so-so routing &amp; support</title>
		<link>http://www.pommepause.com/blog/2012/03/phone-power-awesome-features-set-so-so-routing-support/</link>
		<comments>http://www.pommepause.com/blog/2012/03/phone-power-awesome-features-set-so-so-routing-support/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 14:56:30 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Technical Problems]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=498</guid>
		<description><![CDATA[Last year, I took the plunge and switched from a big local telephony provider to a web-based VoIP provider: Phone Power.
Their features set is quite something: free second line, voicemails to email, some free international minutes, etc.
But, when it comes to routing local calls, they are so-so.]]></description>
			<content:encoded><![CDATA[<p>Last year, I took the plunge and switched from a big local telephony provider to a web-based VoIP provider: Phone Power.<br />
Their features set is quite something: free second line, voicemails to email, some free international minutes, etc.<br />
But, when it comes to routing local calls, they are so-so.</p>
<p>I live in Montreal, Quebec, Canada. Many local agencies &#038; companies have 1-800 numbers that are geolocation-locked; you can&#8217;t call those numbers from outside Canada, or outside Quebec (depending). How they detect the origin of the call is not based on the caller ID (the caller&#8217;s phone number); it has to do with how the call is routed, i.e. where it&#8217;s coming from <em>for real</em>.</p>
<p>Now, the problem is not that Phone Power isn&#8217;t technically capable of routing those calls correctly, since I have been able to call those numbers on multiple occasions. The problem is that <strong>they are unable to keep routing consistent</strong>. <strong>The result is that those calls will only work sometimes, and will sometimes fail.</strong> And, when it&#8217;s not working, and you call/chat support to fix it, <strong>they don&#8217;t know how to resolve the situation</strong>. Sometimes, after 20-30 minutes of back and forth, they are able to make those calls go through. Other times, they can&#8217;t fix it, and answer that they&#8217;ll investigate further, and contact me later when they found something.</p>
<p>Here&#8217;s a timeline of my (10+) contacts with support regarding this:</p>
<p>2011-08-17<br />
Me: I can&#8217;t connect to the following number: 1-800-361-3977 Would it help if my voip phone number was a canadian phone number maybe ?<br />
Support: Possibly. Likely. Though you&#8217;d need to speak with billing for the logistics of that.</p>
<p>2011-09-26<br />
Me: Trying to dial [a 1-866 number], it&#8217;s telling me that number can&#8217;t be reached from my calling area.<br />
Support: Basically i tried forcing the call through all of the providers i have available to me and i get the same message from them all. Call the bank and see if they allow inbound calls from outside canada.</p>
<p>2011-09-27<br />
Me: Michael called me today regarding a problem I&#8217;m having with 1-866 numbers.<br />
Support (after 1+ hour of back and forth): Can you dial one more time plaese?<br />
Me: yes, it&#8217;s ringing! Bingo!!<br />
Support We will be calling you back because we do not want this issue to happen to you or an other customer. I will currently leave it on for now. They might be changing it to test it on our end.</p>
<p>2011-09-28<br />
Support: This is a follow up email regarding the ticket you recently opened with us about dialing toll free numbers in Canada. While we do bill calls to Canada at a domestic rate, the call features recognize Canadian numbers as International in nature (as we are an American based company). So with International dialing blocked, it would not permit you to call such numbers.<br />
Me: [...] it seems like it only partially block Canadian numbers&#8230; Because I can call local Canadian numbers without a problem with the setting On. It only prevents me from being able to call some Canadian 1-800 numbers&#8230;</p>
<p>2011-09-29<br />
Me: Returning the call from Dude. He asked to call back if my 1-866 calls failed again. They do. it worked fine at the end of the chat session on the 27th, but now they are failing again.<br />
Support: Please try calling again and let me know what happens now.<br />
Me: It&#8217;s working. All of them seems to work again now.<br />
Support: We are still going to need to work on this issue to get it fully resolved. We will contact you once we have an update.</p>
<p>2011-10-14<br />
Me: &#8220;The number you have dial has not been recognized.&#8221;; different error message than earlier today.<br />
Support: [We need to trace the call; can you dial the number again?]<br />
Me: [No, my wife needs the phone now. I'll call back again when the phone if unused.]</p>
<p>2011-10-15<br />
Me: Some 1-866 local numbers can&#8217;t be reached again.<br />
Support: Ok, lets go again.<br />
Me: working now.</p>
<p>2011-11-10<br />
Support: We tried to reach you in regards to the problem or service issue you reported on your Phone Power account, but had no success. If you are still experiencing the problem or issue, please reply to this email, or contact us at 888-607-6937 (option 3) in the next 24 hours.<br />
Me: It&#8217;s working fine at this time.</p>
<p>2011-12-02<br />
Me: Since I last wrote to you about this on November 16, 2011, when all was working fine, some 1-800 number are not working again.<br />
Support: &#8230;<br />
Me: if you can&#8217;t fix it like that, just make it so all my calls are routed like they were on Nov. 16 and leave it at that.<br />
Support: I have already tested that and it did not work either. I will look into this more and contact you later.</p>
<p>2011-12-17<br />
Me:  What&#8217;s the update on this ? Last contact was on December 5: &#8220;I will look into this more and contact you later.&#8221;<br />
Me: (7 hours later) Official complain email sent to sales@phonepower.com, with instructions to forward to the appropriate person, since there is no other contact information on their website.<br />
No response whatsoever.</p>
<p>2012-03-30<br />
Support: This is a follow up email regarding the ticket you recently opened with us about your outbound calls to toll free numbers, we attempted to reach you however were not successful. We have removed the test route, please re-test and let us know if problem still exist.<br />
Me: 1-800 / 1-866 calls are failing again.</p>
<p><strong>Update:</strong> Someone from PP called last week. He sounded like someone who cares about the image of the company; maybe he was the director of operations or something. Anyway, he told me that my problem should now be resolved for good, and that he was really sorry about the time it took them to resolve this issue. Things are working fine right now. Let&#8217;s hope it stays that way.</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=498&amp;md5=1405a61eaf260f4360411b9759c8c4f0" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2012/03/phone-power-awesome-features-set-so-so-routing-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2012%2F03%2Fphone-power-awesome-features-set-so-so-routing-support%2F&amp;language=en_GB&amp;category=text&amp;title=%5BUpdated%5D+Phone+Power+in+Canada%3A+awesome+features+set%2C+so-so+routing+%26%23038%3B+support&amp;description=Last+year%2C+I+took+the+plunge+and+switched+from+a+big+local+telephony+provider+to+a+web-based+VoIP+provider%3A+Phone+Power.+Their+features+set+is+quite+something%3A+free+second+line%2C...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>[Updated] How to monitor the Apple Store for available refurbished items using cron</title>
		<link>http://www.pommepause.com/blog/2012/03/how-to-monitor-the-apple-store-for-available-refurbished-items-using-cron/</link>
		<comments>http://www.pommepause.com/blog/2012/03/how-to-monitor-the-apple-store-for-available-refurbished-items-using-cron/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 14:33:07 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=507</guid>
		<description><![CDATA[So, you'd like to buy a refurbished product from the Apple Store, but it's currently Out of Stock. And will probably be for a while, and when it's not anymore, the few units available will be gone in minutes.
So you need a way to be notified ASAP when it's available, so you can have a chance to order it.

Here's a simple way using cron.]]></description>
			<content:encoded><![CDATA[<p>So, you&#8217;d like to buy a refurbished product from the Apple Store, but it&#8217;s currently Out of Stock. And will probably be for a while, and when it&#8217;s not anymore, the few units available will be gone in minutes.<br />
So you need a way to be notified ASAP when it&#8217;s available, so you can have a chance to order it.</p>
<p>Here&#8217;s a simple way using cron.</p>
<p>1. Get the product URL from the Apple Store Refurbished page.<br />
You can find it on Google by searching for:<br />
site:store.apple.com country refurbished product name</p>
<p>Example: <a href="http://www.google.com/search?ie=UTF-8&#038;q=site%3Astore.apple.com+canada+refurbished+Apple+TV">site:store.apple.com canada refurbished Apple TV</a></p>
<p>The product URL for an Apple TV (2nd gen) in Canada is:</p>
<p>http://store.apple.com/ca/product/FC572LL/A</p>
<p>2. Under the price, on the right, you should see &#8220;Available: Out of stock&#8221; (or the equivalent localized in your language).</p>
<p>3. Create a cron to look for &#8220;Out of stock&#8221; (or the equivalent localized in your language), and email you when that string can&#8217;t be found on the product page.</p>
<p>Example:<br />
* * * * * if [ "`curl -s "http://store.apple.com/ca/product/FC572LL/A" | grep "Out of stock" | wc -l`" != "1" ]; then echo &#8220;http://store.apple.com/ca/product/FC572LL/A&#8221; | mail -s &#8220;Your Refurbished Apple product is now available!&#8221; you@something.com; fi</p>
<p>Just change the product URL twice in the above, and change the email address, and you&#8217;ll receive an email within one minute of your product being available.</p>
<p>If you don&#8217;t have an always open Mac/Linux server that can send emails, to run this cron on, <del datetime="2012-04-19T02:01:15+00:00">just <a href="/contact.php">send me</a> your email address and the product URL you&#8217;d like to monitor. I&#8217;ll be happy to hook you up.</del> <strong>Update</strong>: Just go to <a href="http://arsc.pommepause.com/">arsc.pommepause.com</a> if you&#8217;d like to be notified of refurbished Apple products availability. It&#8217;s a little something I threw together that uses the above technique.</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=507&amp;md5=e70d0cd94525c2f1a6d8ef5315f3b917" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2012/03/how-to-monitor-the-apple-store-for-available-refurbished-items-using-cron/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2012%2F03%2Fhow-to-monitor-the-apple-store-for-available-refurbished-items-using-cron%2F&amp;language=en_GB&amp;category=text&amp;title=%5BUpdated%5D+How+to+monitor+the+Apple+Store+for+available+refurbished+items+using+cron&amp;description=So%2C+you%26%238217%3Bd+like+to+buy+a+refurbished+product+from+the+Apple+Store%2C+but+it%26%238217%3Bs+currently+Out+of+Stock.+And+will+probably+be+for+a+while%2C+and+when+it%26%238217%3Bs+not+anymore%2C...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Show/Hide DesktopShelves using a Hot Corner</title>
		<link>http://www.pommepause.com/blog/2011/10/showhide-desktopshelves-using-a-hot-corner/</link>
		<comments>http://www.pommepause.com/blog/2011/10/showhide-desktopshelves-using-a-hot-corner/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 14:24:36 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=434</guid>
		<description><![CDATA[Here's how I setup a Hot Corner to show or hide my DesktopShelves.
(Note that this trick can also be used to launch any program or AppleScript using a Hot Corner.)]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s how I setup a Hot Corner to show or hide my DesktopShelves.<br/><br />
(Note that this trick can also be used to launch any program or AppleScript using a Hot Corner.)<br/><br />
<br/><br />
The magic lies in a nice piece of software written by <a class="vt-p" href="http://swannman.wordpress.com/">Matt Swann</a>: <a class="vt-p" href="http://swannman.wordpress.com/projects/scriptsaver/">ScriptSaver</a><br/><br />
This screen saver will in fact execute any AppleScript you specify instead (or before) launching a screen saver.<br/><br />
<br/><br />
Here&#8217;s step-by-step instructions for how to use it to show &#038; hide your DesktopShelves:</p>
<ul>
<li>Download <a class="vt-p" href="http://swannman.wordpress.com/projects/scriptsaver/">ScriptSaver</a></li>
<li>Download the AppleScript I created: <a class="vt-p" href="http://www.pommepause.com/blog/wp-content/uploads/2011/10/ActivateDesktopShelves.scpt_.zip">ActivateDesktopShelves.scpt</a> or, if you&#8217;d like to use the iPhoto screen saver instead of the standard ones (Arabesque, Flurry, &#8230;), use this script instead: <a class="vt-p" href="http://www.pommepause.com/blog/wp-content/uploads/2011/10/ActivateDesktopShelves-iPhotoScreenSaver.scpt_.zip">ActivateDesktopShelves-iPhotoScreenSaver.scpt</a></li>
<li>Download MouseLocation* using <strong>Terminal.app</strong>. (Just paste the complete line below in Terminal.)<br />
[crayon nums="false" title="Terminal.app"]curl -so /tmp/MouseLocation.zip http://www.pommepause.com/blog/wp-content/uploads/2011/10/MouseLocation.zip ; unzip /tmp/MouseLocation.zip ; sudo mv MouseLocation /usr/local/opt/[/crayon]</li>
<li>Extract the AppleScript from the above download, and put the .scpt file in ~/Applications (or anywhere really!)</li>
<li>If you&#8217;ll be using ActivateDesktopShelves.scpt, open it in AppleScript Editor (just double-click it) and change the 2nd line from the bottom to start your preferred screen saver. The default is &#8220;Flurry&#8221;, and the list of available screen savers appears just above that line. Save it once you&#8217;re done.</li>
<li>If you&#8217;ll be using ActivateDesktopShelves-iPhotoScreenSaver.scpt instead, there&#8217;s two additional steps:</li>
<ul>
<li>Go in <strong>System Preferences</strong>, and select the iPhoto screen saver. Chooses the options you&#8217;d like to use.</li>
<li>In <strong>Terminal</strong>, create a copy of the screen saver preferences file. (Just paste the following 3 lines in Terminal.)<br />
[crayon lang="bash" nums="false" title="Terminal.app"]uuid=`/usr/sbin/system_profiler SPHardwareDataType | grep &#8216;Hardware UUID&#8217; | cut -c22-57`<br />
file=~/Library/Preferences/ByHost/com.apple.screensaver.$uuid.plist<br />
cp $file $file.iPhoto[/crayon]</li>
</ul>
<li>Install ScriptSaver: double click the <strong>ScriptSaver.saver</strong> file</li>
<li>Click <strong>Options&#8230;</strong></li>
<ul>
<li>Activation Script: select the .scpt file you downloaded above (in ~/Applications)</li>
<li>Run asynchronously: checked</li>
<li>Screen Saver: None</li>
<li>Deactivation Script: empty</li>
<li>Show desktop while synchronous scripts execute: checked</li>
</ul>
<li>Click <strong>Hot Corners&#8230;</strong> Assign one or more Hot Corner to <strong>Start Screen Saver</strong>.</li>
</ul>
<p>The AppleScript will detect if the mouse is in a corner, and if so, will launch DesktopShelves.app, which will in turn display your shelves.<br/><br />
If the mouse isn&#8217;t in a corner, then your screen saver will start.<br/><br />
<br/><br />
Voilà! A nice way to start any app using a Hot Corner, and a nice way to use DesktopShelves only with your mouse.<br/><br />
<br/><br />
<strong>Footnotes</strong><br/><br />
* MouseLocation is a simple Objective-C executable created using the following code:<br />
[crayon lang="objective-c" title="MouseLocation.m"]<br />
#import <AppKit/AppKit.h></p>
<p>int main (int argc, const char * argv[]) {<br />
	NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];</p>
<p>	NSPoint mouseLoc = [NSEvent mouseLocation]; //get current mouse position<br />
	NSString* locString = [NSString stringWithFormat:@"%.0f, %.0f", mouseLoc.x, mouseLoc.y];<br />
	printf(&#8220;%s\n&#8221;, [locString UTF8String]);</p>
<p>	[pool drain];<br />
	return 0;<br />
}<br />
[/crayon]<br />
Compiled using the following command (Xcode required):<br />
[crayon lang="bash" nums="false" title="Terminal.app"]<br />
sudo gcc -o /usr/local/opt/MouseLocation MouseLocation.m -framework AppKit<br />
[/crayon]</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=434&amp;md5=8de7667315e9fcb0bcf91363672cc0f5" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2011/10/showhide-desktopshelves-using-a-hot-corner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2011%2F10%2Fshowhide-desktopshelves-using-a-hot-corner%2F&amp;language=en_GB&amp;category=text&amp;title=Show%2FHide+DesktopShelves+using+a+Hot+Corner&amp;description=Here%26%238217%3Bs+how+I+setup+a+Hot+Corner+to+show+or+hide+my+DesktopShelves.+%28Note+that+this+trick+can+also+be+used+to+launch+any+program+or+AppleScript+using+a+Hot...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Start iPhoto screen saver from AppleScript</title>
		<link>http://www.pommepause.com/blog/2011/10/start-iphoto-screen-saver-from-applescript-2/</link>
		<comments>http://www.pommepause.com/blog/2011/10/start-iphoto-screen-saver-from-applescript-2/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 10:02:22 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=439</guid>
		<description><![CDATA[Starting the screen saver from AppleScript is simple enough. Even starting another screen saver than the default from System Preferences is simple, if you want one of the standard screen saver. But it becomes much more complicated if you'd like to start the iPhoto screen saver, and use another as the System Preferences default. Here's how I did it.]]></description>
			<content:encoded><![CDATA[<p>Starting the screen saver from AppleScript is simple enough:<br />
[crayon lang="applescript" nums="false" title="AppleScript Editor.app"]tell application &#8220;System Events&#8221; to start current screen saver[/crayon]<br />
Even starting another screen saver than the default from System Preferences is simple, if you want one of the standard screen saver:<br />
[crayon lang="applescript" nums="false" title="AppleScript Editor.app"]tell application &#8220;System Events&#8221; to tell screen saver &#8220;Arabesque&#8221; to start[/crayon]<br />
But it becomes much more complicated if you&#8217;d like to start the iPhoto screen saver, and use another as the System Preferences default.<br />
Here&#8217;s how I did it:</p>
<ul>
<li>Go in <strong>System Preferences</strong>, and select the iPhoto screen saver. Chooses the options you&#8217;d like to use.</li>
<li>In <strong>Terminal</strong>, create a copy of the screen saver preferences file:<br />
[crayon lang="bash" nums="false" title="Terminal.app"]uuid=`/usr/sbin/system_profiler SPHardwareDataType | grep &#8216;Hardware UUID&#8217; | cut -c22-57`<br />
file=~/Library/Preferences/ByHost/com.apple.screensaver.$uuid.plist<br />
cp $file $file.iPhoto[/crayon]</li>
<li>Go back in <strong>System Preferences</strong>, and change the screen saver to the other screen saver you&#8217;d like to use as your default.</li>
</ul>
<p>Once you did all that, here&#8217;s how to start the iPhoto screen saver from AppleScript:<br />
[crayon lang="applescript" title="AppleScript Editor.app"]<br />
tell application &#8220;System Events&#8221;<br />
set uuid to do shell script (&#8220;/usr/sbin/system_profiler SPHardwareDataType | grep &#8216;Hardware UUID&#8217; | cut -c22-57&#8243;)<br />
set theFolder to folder (preferences folder&#8217;s path &amp; &#8220;ByHost&#8221;)<br />
set theFile to &#8220;com.apple.screensaver.&#8221; &amp; uuid &amp; &#8220;.plist&#8221;<br />
do shell script &#8220;cd &#8221; &amp; POSIX path of theFolder &amp; &#8220;; cp &#8221; &amp; theFile &amp; &#8221; &#8221; &amp; theFile &amp; &#8220;.orig; cp &#8221; &amp; theFile &amp; &#8220;.iPhoto &#8221; &amp; theFile<br />
start current screen saver<br />
do shell script &#8220;sleep 5; cd &#8221; &amp; POSIX path of theFolder &amp; &#8220;; cp &#8221; &amp; theFile &amp; &#8220;.orig &#8221; &amp; theFile<br />
end tell<br />
[/crayon]<br />
Explanations:</p>
<ul>
<li>line 2: find the machine&#8217;s UUID; this is needed because the screen saver preferences file contains that in it&#8217;s name;</li>
<li>line 3: the folder where the preferences file is: ~/Library/Preferences/ByHost/;</li>
<li>line 4: the name of the preferences file: com.apple.screensaver.[UUID].plist;</li>
<li>line 5: create a .orig backup of the current preferences file, and then overwrite it with the iPhoto copy that was created manually above;</li>
<li>line 6: start the iPhoto screen saver;</li>
<li>line 7: wait 5 seconds, to allow the iPhoto screen saver some time to launch, then put back the .orig backup we made at line 5, so that your default screen saver will be used when it&#8217;s time.</li>
</ul>
<p>Convoluted? Yes. Achieves the desired result? You bet!</p>
<p>I did this because I wanted to show the iPhoto screen saver when an AppleScript triggered by ScriptSaver was executed. More details in <a class="vt-p" title="Show/Hide DesktopShelves using a Hot Corner" href="http://www.pommepause.com/blog/2011/10/showhide-desktopshelves-using-a-hot-corner/">Show/Hide DesktopShelves using a Hot Corner</a>.</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=439&amp;md5=be1324596c06936c9fdb4ecb5f5a993a" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2011/10/start-iphoto-screen-saver-from-applescript-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2011%2F10%2Fstart-iphoto-screen-saver-from-applescript-2%2F&amp;language=en_GB&amp;category=text&amp;title=Start+iPhoto+screen+saver+from+AppleScript&amp;description=Starting+the+screen+saver+from+AppleScript+is+simple+enough%3A+%5Bcrayon+lang%3D%22applescript%22+nums%3D%22false%22+title%3D%22AppleScript+Editor.app%22%5Dtell+application+%26%238220%3BSystem+Events%26%238221%3B+to+start+current+screen+saver%5B%2Fcrayon%5D+Even+starting+another+screen+saver+than+the+default...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Has Gmail spam filter become too aggressive?</title>
		<link>http://www.pommepause.com/blog/2011/04/has-gmail-spam-filter-become-too-aggressive/</link>
		<comments>http://www.pommepause.com/blog/2011/04/has-gmail-spam-filter-become-too-aggressive/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 14:25:57 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Technical Problems]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=388</guid>
		<description><![CDATA[I'm not sure if I'm the only one who noticed (I hope not!), but recently, the Gmail spam filter started marking as spam a lot of messages that were NOT spam.
Here's the ones I found, while looking at only the first two pages of my Spam folder (about two days worth of spams)]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure if I&#8217;m the only one who noticed (I hope not!), but recently, the Gmail spam filter started marking as spam a lot of messages that were NOT spam.</p>
<p>Here&#8217;s the ones I found, while looking at only the first two pages of my Spam folder (about two days worth of spams):</p>
<ul>
<li>A Logitech.com shipment notification;</li>
<li>My monthly Yak invoice;</li>
<li>My monthly &#8216;your invoice is ready&#8217; from Citibank;</li>
<li>The OpenDNS newsletter;</li>
<li>Two commit notifications from Google Code;</li>
<li>Three &#8216;your password has been reset&#8217; emails, from WordPress.org, and other less known bulletin boards.</li>
</ul>
<p>This makes me sad for multiple reasons. One is that while I have been able to catch some of them easily enough (the various reset password systems I used did point out that their email could end up in our Spam folders), I just found the others. That means I probably missed at least some other emails.</p>
<p>The second reason I&#8217;m sad is that now, I&#8217;ll need to go through all those spam messages to find the ones I care about! Not something I expected to do this morning, nor something that is particularly pleasant&#8230; Plus, I&#8217;ll need to repeat that every day now!</p>
<p>And finally, this make me sad because I trusted the Gmail team. I understand that spam filtering is not simple, but I would have greatly preferred for them to tweak their algorithm to push the balance in the other direction. It&#8217;s much easier for us to flag the occasional spam emails that would end up in our inboxes than to have to go through thousands of emails to find important messages!</p>
<p>Let&#8217;s hope the Gmail-Spam-Filter team hears this, and works toward a good resolution in a timely fashion.</p>
<p>What about you? How many not-spam messages can you find in your Gmail Spam folder in the next few minutes?</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=388&amp;md5=fb28ad0580bd46dc177a71c5aae5bacf" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2011/04/has-gmail-spam-filter-become-too-aggressive/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2011%2F04%2Fhas-gmail-spam-filter-become-too-aggressive%2F&amp;language=en_GB&amp;category=text&amp;title=Has+Gmail+spam+filter+become+too+aggressive%3F&amp;description=I%26%238217%3Bm+not+sure+if+I%26%238217%3Bm+the+only+one+who+noticed+%28I+hope+not%21%29%2C+but+recently%2C+the+Gmail+spam+filter+started+marking+as+spam+a+lot+of+messages+that+were+NOT...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Videotron Internet Usage Monitor</title>
		<link>http://www.pommepause.com/blog/2011/03/videotron_internet_usage_monitor/</link>
		<comments>http://www.pommepause.com/blog/2011/03/videotron_internet_usage_monitor/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 17:29:26 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=362</guid>
		<description><![CDATA[Would you like to monitor your monthly Videotron Internet quota easily? Use either my Mac Dashboard widget, or my Google Chrome Extension.]]></description>
			<content:encoded><![CDATA[<div style="text-align: center; border: 1px solid #E6DB55; background: lightYellow; width: 500px; padding: 10px 0 10px 0; margin: 0 auto;"><strong><span style="color: #ff0000;"><span style="color: #000000;">Important note:</span> the softwares below are now officially unsupported.<br />
</span>I&#8217;m not a Videotron client anymore, so it became difficult, and without interest, for me to continue development on both of those solutions to track your bandwidth quota.<br />
</strong><br />
<strong>If you know any developer that might be interested in continuing development and support, feel free to send them a note.</strong><br />
<strong>(JavaScript is the main programming language of both softwares.)</strong></div>
<p>Would you like to monitor your monthly Videotron Internet quota easily?</p>
<p>I offer two choices:</p>
<p>1) a <a class="vt-p" href="https://chrome.google.com/webstore/detail/fnhepcakkcnkaehfhpagimbbkpelkdha">Google Chrome extension</a></p>
<p><a class="vt-p" href="http://www.pommepause.com/blog/wp-content/uploads/2011/03/videotron_chrome_ext_ss.png"><img class="alignnone size-full wp-image-425" title="videotron_chrome_ext_ss" src="http://www.pommepause.com/blog/wp-content/uploads/2011/03/videotron_chrome_ext_ss.png" alt="" width="400" height="275" /></a></p>
<p>2) a <a class="vt-p" href="http://www.pommepause.com/blog/2010/01/mac-widget-videotron-internet-usage-monitor/">Mac Dashboard widget</a></p>
<p><img class="alignnone" src="http://www.pommepause.com/blog/wp-content/uploads/2010/01/screenshot1.png" alt="Mac Dashboard widget screenshot" width="400" height="180" /></p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=362&amp;md5=3dc41bb8024ee2ea332f03bc8a5cbf21" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2011/03/videotron_internet_usage_monitor/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2011%2F03%2Fvideotron_internet_usage_monitor%2F&amp;language=en_GB&amp;category=text&amp;title=Videotron+Internet+Usage+Monitor&amp;description=Important+note%3A+the+softwares+below+are+now+officially+unsupported.+I%26%238217%3Bm+not+a+Videotron+client+anymore%2C+so+it+became+difficult%2C+and+without+interest%2C+for+me+to+continue+development+on+both+of...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Chrome Extension &#8211; Get comments in RSS format</title>
		<link>http://www.pommepause.com/blog/2011/03/chrome-extension-get-comments-in-rss-format/</link>
		<comments>http://www.pommepause.com/blog/2011/03/chrome-extension-get-comments-in-rss-format/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 01:34:50 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=349</guid>
		<description><![CDATA[So you got a nice Google Chrome extension, right?
And people do leave comments / questions / hate mail on the extension page all the time.
Here's how to receive those in your RSS reader.]]></description>
			<content:encoded><![CDATA[<p>So you got a <a class="vt-p" title="Videotron Internet Usage Monitor - Chrome Extension" href="https://chrome.google.com/webstore/detail/fnhepcakkcnkaehfhpagimbbkpelkdha">nice Google Chrome extension</a>, right?<br />
And people do leave comments / questions / hate mail on the extension page all the time.<br />
But the only way for you to get those is to visit that page in your browser&#8230; Not cool. Not cool at all, Google!</p>
<p>Wanting to get the comments in Google Reader, I simply looked in the Inspect Element &gt; Network tab, to see what was going on, when I visited the Chrome Store page for my extension. And lo and behold, there&#8217;s an AJAX request to fetch the comments, with the results returned as a nice JSON-encoded object!</p>
<p>A <a class="vt-p" title="Source code for my RSS generator" href="dataproxy.pommepause.com/chrome_reviews_rss.phps">couple of LOCs of PHP later</a>, I now have an URL that takes in parameter an extension ID (that 32-characters-long string of letters you see in the URL, when you visit the extension URL; eg. fnhepcakkcnkaehfhpagimbbkpelkdha), and an optional extension name (to beautify the RSS a little), and gives me a RSS feed of all the comments for that extension.</p>
<p>Want to use it yourself? Easy peasy!</p>
<p>Just go here: <a href="http://dataproxy.pommepause.com/chrome_reviews_rss.php">Google Chrome Extension Comments RSS Generator</a></p>
<p>Enjoy, fellow extensions developers!</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=349&amp;md5=0e52839795f1f51e379128ceccf59529" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2011/03/chrome-extension-get-comments-in-rss-format/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2011%2F03%2Fchrome-extension-get-comments-in-rss-format%2F&amp;language=en_GB&amp;category=text&amp;title=Chrome+Extension+%26%238211%3B+Get+comments+in+RSS+format&amp;description=So+you+got+a+nice+Google+Chrome+extension%2C+right%3F+And+people+do+leave+comments+%2F+questions+%2F+hate+mail+on+the+extension+page+all+the+time.+But+the+only+way...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Greyhole Roadmap &#8211; version 0.9</title>
		<link>http://www.pommepause.com/blog/2010/12/greyhole-roadmap-version-0-9/</link>
		<comments>http://www.pommepause.com/blog/2010/12/greyhole-roadmap-version-0-9/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 02:39:45 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Greyhole]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=302</guid>
		<description><![CDATA[WIth 0.8 just out the door, I began thinking about 0.9.
That version will focus on fixing Greyhole's greatest bug creator: the rename operation!]]></description>
			<content:encoded><![CDATA[<p>WIth 0.8 just out the door, I began thinking about 0.9.<br />
That version will focus on fixing Greyhole&#8217;s greatest bug creator: the rename operation!<br />
There has been, and probably always will be, problems with the current implementation that Greyhole has to handle file and directory renames.<br />
I have some ideas on how to fix them all, once and for all, but this will require some non-trial development, clean up and regression testing.<br />
I&#8217;m hopeful that re-implementing this part of Greyhole will make it much less bug-prone, when renames are concerned.<br />
More about this soon (when 0.9 will be released I guess&#8230;)</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=302&amp;md5=e56c72d0e155b7c8e9e15de61cda5238" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2010/12/greyhole-roadmap-version-0-9/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2010%2F12%2Fgreyhole-roadmap-version-0-9%2F&amp;language=en_GB&amp;category=text&amp;title=Greyhole+Roadmap+%26%238211%3B+version+0.9&amp;description=WIth+0.8+just+out+the+door%2C+I+began+thinking+about+0.9.+That+version+will+focus+on+fixing+Greyhole%26%238217%3Bs+greatest+bug+creator%3A+the+rename+operation%21+There+has+been%2C+and+probably+always...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Greyhole 0.8 &amp; Samba module</title>
		<link>http://www.pommepause.com/blog/2010/12/greyhole-0-8-samba-module/</link>
		<comments>http://www.pommepause.com/blog/2010/12/greyhole-0-8-samba-module/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 02:39:25 +0000</pubDate>
		<dc:creator>Guillaume Boudreau</dc:creator>
				<category><![CDATA[Greyhole]]></category>

		<guid isPermaLink="false">http://www.pommepause.com/blog/?p=300</guid>
		<description><![CDATA[I just built and uploaded version 0.8 of Greyhole on Google Code.
This version doesn't change much of what is normally visible to the end users (except the regular bugfixes). Instead, 0.8 focused on improving an area of Greyhole that has always been messy: the communication channel between Samba and the Greyhole daemon.]]></description>
			<content:encoded><![CDATA[<p>I just built and uploaded version 0.8 of Greyhole on Google Code.<br />
This version doesn&#8217;t change much of what is normally visible to the end users (except the regular bugfixes). Instead, 0.8 focused on improving an area of Greyhole that has always been messy: the communication channel between Samba and the Greyhole daemon.</p>
<p>In the past, Greyhole used a log file to log all file operations that happened on Greyhole-enabled Samba shares. At one point, it used it&#8217;s own log file, then switched to using syslog (/var/log/messages usually).<br />
In version 0.8, Greyhole now use spool files to log those operations.<br />
This is similar to how email servers (like sendmail and postfix) work.<br />
Basically, Samba will create small data files in /var/spool/greyhole/, with filenames being timestamps of when the event happened.<br />
When the Greyhole daemon needs something to do, it will look in that directory, and process any files it finds.</p>
<p>All of this serves multiple purposes. One is to simplify Greyhole code.<br />
Parsing a log file wasn&#8217;t that pleasant: we had to remember where we stopped parsing the log the last time we looked at it, and we had to handle log rotation in order to not miss any operations.<br />
All of this is now a thing of the past. We now simply list a directory, and process the files we find there, before deleting them. Quite simple really!</p>
<p>Another goal which we&#8217;re aiming for with 0.8 is to have the Samba module that Greyhole use become part of Samba. That would mean that everyone with Samba installed would have at least one of the many blocks required to run Greyhole. That would also mean a lot more visibility for Greyhole than what we currently have. I&#8217;m currently working with Samba developers to make that a reality, and I expect to get this committed in the Samba mainline repository in the upcoming weeks.</p>
<p>Next up is <a href="http://www.pommepause.com/blog/2010/12/greyhole-roadmap-version-0-9/">version 0.9</a>, and <a href="http://www.pommepause.com/blog/2010/12/greyhole-new-website/">a new website</a>.</p>
 <p><a href="http://www.pommepause.com/blog/?flattrss_redirect&amp;id=300&amp;md5=e60ab6fed13e855a7294b83f1edd481c" title="Flattr" target="_blank"><img src="http://www.pommepause.com/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.pommepause.com/blog/2010/12/greyhole-0-8-samba-module/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=gboudreau&amp;popout=1&amp;url=http%3A%2F%2Fwww.pommepause.com%2Fblog%2F2010%2F12%2Fgreyhole-0-8-samba-module%2F&amp;language=en_GB&amp;category=text&amp;title=Greyhole+0.8+%26%23038%3B+Samba+module&amp;description=I+just+built+and+uploaded+version+0.8+of+Greyhole+on+Google+Code.+This+version+doesn%26%238217%3Bt+change+much+of+what+is+normally+visible+to+the+end+users+%28except+the+regular+bugfixes%29....&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>

