<?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>The Technocrat &#187; Mac OS X</title>
	<atom:link href="http://www.technocrat.ca/?feed=rss2&#038;cat=3" rel="self" type="application/rss+xml" />
	<link>http://www.technocrat.ca</link>
	<description>Musings and Ramblings on Life, The Universe, and Technology</description>
	<lastBuildDate>Thu, 15 Jul 2010 19:48:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>The Real Problem with MobileMe Security (or lack thereof)</title>
		<link>http://www.technocrat.ca/?p=67</link>
		<comments>http://www.technocrat.ca/?p=67#comments</comments>
		<pubDate>Mon, 18 Aug 2008 23:54:08 +0000</pubDate>
		<dc:creator>Jesse David Hollington</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[MobileMe]]></category>

		<guid isPermaLink="false">http://www.technocrat.ca/?p=67</guid>
		<description><![CDATA[Over the past couple of days, a debate has been raging over the security (or lack thereof) on MobileMe's web services.  While it's obvious to anybody who is paying attention that the MobileMe web services do not use an SSL connection to secure any data beyond your password, <a href="http://www.appleinsider.com/articles/08/08/15/inside_mobileme_web_3_and_web_client_server_apps.html&#38;page=2" target="_blank">a recent article by "Prince McLean" at AppleInsider</a> implies that this is actually of no concern as the JSON data exchanges between the client and server apps are themselves secure...]]></description>
			<content:encoded><![CDATA[	<p>Over the past couple of days, a debate has been raging over the security (or lack thereof) on MobileMe&#8217;s web services.  While it&#8217;s obvious to anybody who is paying attention that the MobileMe web services do not use an SSL connection to secure any data beyond your password, <a href="http://www.appleinsider.com/articles/08/08/15/inside_mobileme_web_3_and_web_client_server_apps.html&#038;page=2" target="_blank">a recent article by &#8220;Prince McLean&#8221; at AppleInsider</a> implies that this is actually of no concern as the JSON data exchanges between the client and server apps are themselves secure:<br />
<blockquote>Data transaction security in MobileMe&#8217;s web apps is based upon authenticated handling of JSON data exchanges between the self contained JavaScript client apps and Apple&#8217;s cloud, rather than the SSL web page encryption used by HTTPS. The only real web pages MobileMe exchanges with the server are the HTML, JavaScript, and CSS files that make up the application, which have no need for SSL encryption following the initial user authentication. This has caused some unnecessary panic among web users who have equated their browser&#8217;s SSL lock icon with web security. And of course, Internet email is not a secured medium anyway once it leaves your server.</blockquote></p>
	<p>Of course, whenever a comment like this is made, you can rest assured that there will be more than a few people who will be eager to check it out&#8212;in many cases simply out of idle curiosity.<br />
<span id="more-67"></span></p>
	<p>Several posts in the comments to the above article (mine included) make the situation quite clear: The data exchanges between the MobileMe back-end and the user&#8217;s browser are definitely not in any way encrypted. Data transactions travel &#8220;in the clear.&#8221;</p>
	<p>I won&#8217;t bother boring anybody with the details: <a href="http://mooseyard.com/Jens/2008/08/re-mobileme-webmail-security-there-is-none/" target="_blank">Jens Alfke</a> and <a href="http://tlrobinson.net/blog/?p=46" target="_blank">Thomas Robinson</a> have both already done an excellent job of clarifying the actual facts involved.  However, despite this, the spreading of misinformation seems to continue largely unabated.  In comments and responses to these posts, &#8220;Prince McLean&#8221; backpedals slightly in claiming that he never claimed that MobileMe was actually encrypting data, but that he was rather merely referring to the authentication aspect of the JSON apps that would prevent somebody from spoofing a MobileMe server.  However, in the original article he goes on to say:<br />
<blockquote>If Apple applied SSL encryption in the browser, it would only slow down every data exchange without really improving security, and instead only provide pundits with a false sense of security that distracts from real security threats.</blockquote></p>
	<p>The suggestion therefore obviously being that the JSON methodology he discusses is somehow better than SSL encryption, since SSL would not really do anything about &#8220;improving security.&#8221;</p>
	<p>Statements such as these would clearly lead most readers to believe that MobileMe is in fact securing their data.  Certainly this was the impression that I was left with on an initial read, and I was obviously not alone in this as I originally found the article linked on Daring Fireball, where John Gruber was initially under the same impression.</p>
	<p>More importantly that this, however, is the new flavour of misinformation that now seems to have spread as a follow-up. In reading the responses from &#8220;Prince McLean&#8221; it is apparent that his tactics have changed to suggesting that his comments about SSL not providing any enhanced security are based upon his feeling that there really is no need to encrypt traffic on the Internet&#8212;that most &#8220;security experts&#8221; are really just evil sheisters promoting their own agendas by making us believe that sending confidential information around unencrypted is somehow a bad thing.</p>
	<p>For instance, in a comment made by McLean in a response to Jens Alfke&#8217;s post, he states:<br />
<blockquote>You also would never say your credit card number over the phone when ordering a pizza because somebody might be listening into your unencrypted phone conversation. Right.</p>
	<p>Of course, if somebody has the capacity to sniff your local network traffic, you have already been compromised. They&#8217;re probably also going through your house taking DNA samples so they can clone you and replace you with a fake you.</blockquote></p>
	<p>The point that he seems to be missing here is that SSL encrypts your data in transit before it leaves your computer.  The suggestion made elsewhere that Internet e-mail is inherently insecure anyway holds no water, since there&#8217;s a world of difference between sniffing SMTP sessions at a backbone router and doing it between your computer and the server.</p>
	<p>The real goal of data security in this case is to secure the session between the end-user device and the destination server.  This is the one area in which traffic is most vulnerable to interception and eavesdropping.</p>
	<p>While one can acknowledge that the average user at home may be relatively unaffected by this (provided they&#8217;re using a properly WEP or WPA-secured wireless network or a wired connection) the whole argument breaks down significantly when dealing with the mobile user hopping across WiFi access points. Most public WiFi hotspots are unprotected, and therefore any hacker with any number of easily-available tools can sit in the local Starbucks and sniff away at all the data travelling unencrypted over-the-air.</p>
	<p>WEP and WPA exist for a reason, but these unfortunately get in the way of most public hotspots by requiring a password to be used, so more often than not no encryption is used at all in these locations.</p>
	<p>This is further complicated by the proliferation of &#8220;free&#8221; WiFi hotspots out there that are actually being run independently, and some are even downright honeypots for intercepting and capturing whatever data they can.  I have actually investigated a few of these, and while I&#8217;d be digressing by going into detail, the short version is that you should avoid any hotspot with a name like &#8220;Free Public Wi-Fi Access&#8221; like the plague.</p>
	<p>As for real vs perceived threats, the balance is in creating a false sense of security versus recognizing that there really is no security present in this case. Suggesting with a bunch of bafflegab that the JSON exchanges are as secure as an SSL connection is definitely providing a false sense of security, luring the user into assuming that the transactions between the browser and MobileMe servers are every bit as secure as those with an HTTPS service like GMail, when in fact this is patently untrue.</p>
	<p>Now, for most of the transactions that I would engage in via a web browser in a public location, I probably don&#8217;t care all that much, but at the same time it&#8217;s important that people understand that sending out e-mails that might contain sensitive information is a bad idea in these situations. Educating people on the risks of such things is never a bad thing, while spreading apologist propaganda that leads people to believe their data is secure when it&#8217;s obviously not goes much too far in the opposing direction.</p>
	<p><em><span style="font-size: 9pt; color: #ff9900;">(Disclaimer: I am a security consultant as part of my day job. I write for iLounge as a part-time hobby. My full-time job is doing IT Consulting for major corporations and Canadian Federal Government agencies. My credentials include discovering one of the only security flaws ever found in Novell&#8217;s GroupWise product).</span></em></p>
 

 ]]></content:encoded>
			<wfw:commentRss>http://www.technocrat.ca/?feed=rss2&amp;p=67</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bluetooth Proximity Detection on OS X</title>
		<link>http://www.technocrat.ca/?p=44</link>
		<comments>http://www.technocrat.ca/?p=44#comments</comments>
		<pubDate>Mon, 19 Mar 2007 03:29:32 +0000</pubDate>
		<dc:creator>Jesse David Hollington</dc:creator>
				<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://hollington.ca/technocrat/?p=44</guid>
		<description><![CDATA[One thing that I've been playing with off and on for some time is a small efficient little solution for handling basic Bluetooth proximity detection, specifically for being able to perform certain actions when a cell phone or other Bluetooth device is in range of my Powerbook.

As an IT Consultant, I am frequently working in various locations at different clients' sites, and it's nice to have my Powerbook secure itself when I'm away from the machine.   In addition, my other objectives are to keep the OS X Address Book application connected and to iSync my phone whenever it moves back within proximity of my machine.]]></description>
			<content:encoded><![CDATA[	<p><img src="http://hollington.ca/technocrat/wp-content/uploads/2007/03/droppedimage.png" height="102" width="102" border="0" align="right" hspace="4" vspace="4" alt="Droppedimage" />One thing that I&#8217;ve been playing with off and on for some time is a small efficient little solution for handling basic Bluetooth proximity detection, specifically for being able to perform certain actions when a cell phone or other Bluetooth device is in range of my Powerbook.</p>
	<p>As an IT Consultant, I am frequently working in various locations at different clients&#8217; sites, and it&#8217;s nice to have my Powerbook secure itself when I&#8217;m away from the machine.   In addition, my other objectives are to keep the OS X Address Book application connected and to iSync my phone whenever it moves back within proximity of my machine.<br />
<span id="more-44"></span></p>
	<p>Ideally, I would want to activate the OS X screen saver and enable the password protection when I move away from my computer (out of Bluetooth range), but otherwise Iâ€™d prefer to keep the screen saver password off for normal use, as it gets quite annoying when Iâ€™m working near the computer to have to continually re-enter my password after Iâ€™ve diverted my attention elsewhere for a few minutes (which happens frequently, as often the Powerbook sits to one side of other systems that Iâ€™m working with, rather than being in constant use).</p>
	<p>Presently, the only software solution that will actually handle this with any kind of transparency from a security point of view is a tool called Home Zone that has been only recently released in beta form.   While Home Zone looks like an excellent package to keep an eye on, itâ€™s fairly new and may also be a bit more complex than the requirements of a basic Bluetooth proximity detection system.  One neat feature, however, is that it also adds WiFi detection to the mix.   Home Zone also includes pre-defined actions to do things like Enabling and Disabling the screen saver password, a task that is otherwise more difficult to accomplish than one might expect.</p>
	<p>Unfortunately, as of Beta 7, I had little success getting it to reliably detect the presence of a Bluetooth device even in the simplest configuration, and it became frustrating to have my screensaver kick in on me while I was working on the computer only because Home Zone had lost track of the Bluetooth device. </p>
	<p>Another excellent tool that will handle proximity detection as part of its much more robust suite of features is Salling Clicker.   This is an absolutely outstanding application, but again one that goes well beyond basic proximity detection.   Further, since Salling Clicker is really just AppleScript-based in itâ€™s operations, the basic solution and scripts that I describe below can easily be adapted into that as well (in fact, even though Iâ€™m a licensed user and big fan of Salling Clicker, the only reason Iâ€™m not using it for this purpose today is that proximity detection is not yet supported with the Nokia E62 that I use).</p>
	<p>The tool I ultimately chose for the purpose of the detection itself is a little free app appropriately called Proximity.  This is a thin little program that does one thing, but does it well&#8212;that is to sit in the background and scan for a given Bluetooth device at regular intervals.  When it detects a change in the deviceâ€™s availability, it simply calls one of two Applescripts:  One for the device leaving range, and another for when the device enters range.</p>
	<p>So, armed with that I set out to create two Applescripts that would perform the following tasks:</p>
	<p><em>When the Bluetooth Device enters range:</em></p>
	<ul>
		<li>Deactivate the Screen Saver Password.</li>
		<li>Deactivate the Screen Saver.</li>
		<li>Reconnect the phone to the OS X Address Book</li>
	</ul>
	<ul>
		<li>Sync the phone using iSync
	<p><em>When the Bluetooth Device leaves range:</em></p>
		<li>Activate the Screen Saver Password.</li>
	</ul>
	<ul>
		<li>Activate the Screen Saver.
	<p>Activating the screen saver and performing an iSync are both tasks that are trivial to perform via Applescript.   Reconnecting the Address Book and enabling and disabling the screen saver password protection is considerably more complicated, however, as I quickly discovered.</p>
	<p>I should point out that most of what I am documenting here has been gleaned from various corners of the web, and therefore most of the ideas are not specifically my own.   However, I decided to try and document some of this in one place in order to hopefully save others the several hours of searching that it took me to put it all together.</p>
<h2>Activating and Deactivating the Screen Saver</h2>
	<p>Activating and Deactivating the screen saver itself is trivial to do through Applescript simply through the use of the following two Applescript commands:</p>
	<p><em>Activating the Screen Saver:</em></p>
<pre>tell application â€œScreenSaverEngineâ€ to activate</pre>
	<p><em>Deactivating the Screen Saver:</em></p>
	<p><font color="#FFCC66"><pre>     tell application â€œScreenSaverEngineâ€ to quit</pre></font><p></p>
<h2>Performing an iSync</h2>
	<p>Likewise, once iSync itself has been properly configured for your phone, performing an iSync is not much more complicated.   A basic sync is performed with the following command:</p>
	<p><font color="#FFCC66"><pre>     tell application â€œiSyncâ€ to synchronize</pre></font><p></p>
	<p>However, for my own purposes, I chose to expand upon this.  Specifically, I decided there was no point in having iSync automatically sync more often than every 15 minutes or so.  This prevents it from kicking in every time I happen to wander away from the computer and back.   The following script will only tell iSync to synchronize if a sync has not occurred in the last 900 seconds (15 minutes):</p>
	<p><font color="#FFCC66"><pre>
     tell application "iSync"
        if last sync is less than ((current date) - 900) then
            synchronize
        end if
     end tell<br />
</pre></font><p></p>
	<p>Further, since the iSync window will otherwise tend to come up and get in the way when this happens, I prefer to keep it hidden with the following additional command:</p>
	<p><font color="#FFCC66"><pre>     tell application "System Events" to set visible of process "iSync" to false</pre></font><p></p>
	<p>This will have the effect of running iSync if the phone has not been synced in the last 15 minutes, and immediately hiding the iSync window from view.  The iSync will continue to run in the background until it completes.</p>
<h2>Reconnecting to the Address Book</h2>
	<p>Although Bluetooth support in the OS X Address Book is a very cool feature, the reality is that it has been poorly implemented up to this point in terms of itâ€™s ability to stay connected to a Bluetooth phone, or even in terms of making this process scriptable via Applescript.</p>
	<p>Fortunately, this was discussed some time ago in the Salling Clicker forums and incorporated into the proximity scripts that are included with Salling Clicker.   The solution, it would seem, is to toggle an internal Address Book preference to force it look for its associated Bluetooth device the next time it starts up, and then just shut down the Address Book app and restart it.   This is accomplished with the following snippet of code, which is a simplification of code pulled from the â€œKeep Address Book Connectedâ€ script included with Salling Clicker </p>
	<p><font color="#FFCC66"><pre>
     tell application "Address Book"
          if not unsaved then
               try
                    quit
                    delay 1
               end try
          end if
     end tell</p>
     do shell script "defaults write com.apple.AddressBook ABCheckForPhoneNextTime -boolean true"
     try
          tell application "Address Book" to launch
          tell application "System Events"
               set the visible of process "Address Book" to no
          end tell
     end try
</pre></font><p>
	<p>Placed within the script that executes when entering proximity, this will toggle the option to find a Bluetooth device ON in the Address Book preferences, and then shut down and restart the Address Book app.   Itâ€™s messy, but it does work.</p>
	<p>(Iâ€™m sure Iâ€™m not alone in hoping that Apple makes this function accessible through Applescript in Leopard).</p>
<h2>The Final Challenge: Enabling and Disabling the Screen Saver Password</h2>
	<p>The final hurdle in this process was programmatically changing the password protection on the OS X screen saver.   While this is handled very elegantly by the Home Zone application that I mentioned at the beginning of this article, I wanted to find a way to do it programmatically through Applescript myself for various reasons.   It turns out this process was slightly more complex than I had initially suspected.</p>
	<p>Firstly, the preference that determines whether the OS X screen saver asks for a password is stored within each userâ€™s local preferences, specifically in the <font color="#FFCC66"><code>com.apple.screensaver domain</code></font>.  The preference file itself is a little tricky, as it is named based on a host ID.   Fortunately, it can be accessed using the built-in â€œdefaultsâ€ command-line tool.  The specific key is â€œaskForPasswordâ€ and contains an integer value of zero or one to determine whether the screensaver prompts for a password or not. </p>
	<p>The following command, executed in terminal or from a â€œdo shell scriptâ€ within Applescript, will set this value to enable password protection on the screen saver:</p>
	<p><font color="#FFCC66"><pre>
     defaults -currentHost write com.apple.screensaver askForPassword -int 1<br />
</pre></font><p></p>
	<p>This is well-documented in several places on the Internet, although there a couple of important things that should be noted.</p>
	<p>Firstly, it is necessary to specify the â€œ-intâ€ parameter.  Without it, the â€œdefaultsâ€ command will write the value as a string value, which will be treated as an â€œOFFâ€ setting regardless of the content.   More specifically, anything in that key other than an integer 1 will disable the screen saver password.</p>
	<p>More importantly, however, this setting does not take effect immediately&#8230;.  Either the System Preferences application must be opened and other changes made, or the user must log out and back in.   This is because the password requirement is only read by the â€œloginwindowâ€ process.</p>
	<p>By default, changes in the â€œSystem Preferencesâ€ app in OS X will send a notification to the loginwindow process to re-read these settings.   However, to change the setting programmatically and have it take effect immediately, itâ€™s necessary to find an alternative way to refresh the loginwindow process.</p>
	<p>After much digging, the solution was found in a thread on the macosxhints forum, <a href="http://forums.macosxhints.com/showthread.php?p=335913#post335913">in the last post by Guillaime O</a>.    Specifically, Guilaime provides a snippet of C code that can be quickly and easily compiled into an executable to perform this specific function. </p>
	<p><font color="#FFCC66"><pre>
     #include &lt;CoreFoundation/CoreFoundation.h&gt;
     int main(int argc, char ** argv)
          {
           CFMessagePortRef port = CFMessagePortCreateRemote(NULL, CFSTR("com.apple.loginwindow.notify"));
           CFMessagePortSendRequest(port, 500, 0, 0, 0, 0, 0);
           CFRelease(port);
           return 0;
          }<br />
</pre></font><p></p>
	<p>This code can simply be compiled with the built-in C compiler on OS X (if you have the Development Tools installed), and then simply put somewhere in the path.   Then, immediately after running the â€œdefaultsâ€ command to set the screen saver password state, simply call this application to refresh the â€œloginwindowâ€ process and re-read the â€œaskForPasswordâ€ setting.</p>
	<p>For my own purposes, I just went with the suggested name of â€œnotifâ€ for the executable, but it can of course be named anything you like.</p>
<h2>The Final Result</h2>
	<p>So, after all is said and done, the final result is the following two scripts:</p>
	<p><strong><em>Entering Proximity.scpt</em></strong></p>
	<p><font color="#FFCC66"><pre></p>
     -- Disable the screen Saver Password
     do shell script "defaults -currentHost write com.apple.screensaver askForPassword -int 0"
     do shell script "notif"
     -- Turn OFF the screen saver
     tell application "ScreenSaverEngine" to quit
     tell application "Address Book"
          if not unsaved then
               try
                    quit
                    delay 1
               end try
          end if
     end tell
     -- Reconnect to the Address Book
     do shell script "defaults write com.apple.AddressBook ABCheckForPhoneNextTime -boolean true"
     try
          tell application "Address Book"
               launch
          end tell
          tell application "System Events"
               set the visible of process "Address Book" to no
          end tell
     end try
     -- Synchronize the Device
     tell application "iSync"
          if last sync is less than ((current date) - 900) then
               synchronize
          end if
     end tell
     tell application "System Events" to set visible of process "iSync" to false
</pre></font><p>
	<p><strong><em>Leaving Proximity.scpt</em></strong></p>
	<p><font color="#FFCC66"><pre></p>
     -- Turn on the screen saver password
     do shell script "defaults -currentHost write com.apple.screensaver askForPassword -int 1"
     do shell script "notif"
     -- Activate the screen saver
     tell application "ScreenSaverEngine" to activate
</pre></font><p>
<h2>Other Possible Tricks</h2>
	<p>One other approach I had tried was to make use of the â€œCGSessionâ€ command to do a lock by returning to the actual login screen (effectively a fast-user-switching feature that presents the login screen without logging the user out).  While this was a very neat solution, it lacked the intuitive â€œunlockâ€ feature, since once returning to the login screen, there was really no way to get back in without a password (at least not a simple method that I have yet discovered without embedding my password somewhere in the file).</p>
	<p>However, for those interested, the following Applescript entry will accomplish this task:</p>
	<p><font color="#FFCC66"><pre>     
     do shell script "/System/Library/CoreServices/
          Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend"<br />
</pre></font><p></p>
	<p>This works reasonably well, and the entering proximity script will even run in the background, so the only disadvantage is that you are forced to log in manually when you return to the computer, and there is a small delay in this process.</p>
	<p>Once thing I was able to do with this, however, was to combine it with another tool, the excellent SleepWatcher daemon, to allow me to run shell scripts when the computer wakes or sleeps.   I simply instruct SleepWatcher to run a script including the above command with a slight delay to allow it to complete, and then whenever the computer goes to sleep, my session is returned to the log in screen.</p>
	<p>While the Bluetooth proximity detection feature will also address this (if the computer is awakened without the necessary Bluetooth device nearby), this option is slightly more secure, and allows for the ability for somebody else to log onto the computer if necessary (a screen saver password would restrict access to the currently logged in user only).</p>
<h2>References &#38; Acknowledgements</h2>
	<p>Again, most of what is discussed in here has been gleaned and put together from information in various places on the Internet.   Specifically, the following should be acknowledged:<br />
<center><table border='0' cellpadding='4' width=90% valign="top"><tr valign="top"><td nowrap><a href="http://www.apple.com/downloads/macosx/system_disk_utilities/proximity.html">Proximity 1.0</a></td><td align="justify">A very simple and effective free Bluetooth Proximity detection tool for Mac OS X</td></tr><tr valign="top"><td nowrap><a href="http://metaquark.de/homezone/">Home Zone beta 7</a></td><td align="justify">A very slick up-and-coming solution by Jonas Witt to set parameters based on â€œZonesâ€ which are in turn based upon WiFi and Bluetooth proximity.</td></tr><tr valign="top"><td nowrap><a href="http://www.salling.com">Salling Clicker 3.0.1</a></td><td align="justify">Jonas Sallingâ€™s absolutely outstanding Bluetooth remote control and proximity detection app, and the source for the Address Book reconnect script included above.<tr valign="top"><td nowrap><a href="http://www.bernhard-baehr.de/">SleepWatcher 2.0.4&nbsp;&nbsp;</a></td><td align="justify">A neat little daemon by Bernhard Baehr to monitor and execute shell scripts based on sleep and wake events.<tr valign="top"><td nowrap><a href="http://forums.macosxhints.com/">Mac OS X Hints</a></td><td align="justify">Most of the solutions and script snippets regarding the screen saver password protection came from the Mac OS X Hints forum.  Specifically, the simple but indispensable C code for the &#8220;notif&#8221; application was contributed to these forums <a href="http://forums.macosxhints.com/showthread.php?p=335913#post335913">in a post by Guillame O.</a></table></center></p>

 ]]></content:encoded>
			<wfw:commentRss>http://www.technocrat.ca/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>140</slash:comments>
		</item>
	</channel>
</rss>
