<?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>Pauldy's House of Geek &#187; Technology</title>
	<atom:link href="http://www.timespace.org/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.timespace.org</link>
	<description>My personal tech blog, with hacks, how to's, and general rants.</description>
	<lastBuildDate>Tue, 26 May 2009 13:55:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2479</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPone activation issue</title>
		<link>http://www.timespace.org/2008/08/05/ipone-activation-issue/</link>
		<comments>http://www.timespace.org/2008/08/05/ipone-activation-issue/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 13:59:20 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2008/08/05/ipone-activation-issue/</guid>
		<description><![CDATA[This morning I awoke to the shinny new 2.0.1 update. Without a second though I installed it only to be left with a bricked iPhone.  I could not complete the activation process and kept getting an error: &#8220;The iPhone cannot be used with iTunes because the information required for activation could not be obtained [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I awoke to the shinny new 2.0.1 update. Without a second though I installed it only to be left with a bricked iPhone.  I could not complete the activation process and kept getting an error: &#8220;The iPhone cannot be used with iTunes because the information required for activation could not be obtained from the phone&#8221;.   Looked on Google and found a few unresolved issues then I decided to try the *#307* trick and was prompted to enable the radio.  This was the fix for me as I post this from the word press app on a 2.0.1 iPhone.  Hopefully this will help someone else when googling for help with the issue.</p>
<p>The steps would be make emergency call enter *#3078 call enabled the radio and done.  You might try just entering 0 and calling I did not get a chance to try other combinations to see if it would even try to enable the radio.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/08/05/ipone-activation-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slingbox AV with Zenith DTT900 Digital Tuner</title>
		<link>http://www.timespace.org/2008/07/13/slingbox-av-with-zenith-dtt900-digital-tuner/</link>
		<comments>http://www.timespace.org/2008/07/13/slingbox-av-with-zenith-dtt900-digital-tuner/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 16:15:12 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/?p=147</guid>
		<description><![CDATA[Finally laid my hands on a Slingbox AV unit from woot.com to go with my Zenith DTT900 digital tuner.  The intent was for this to go straight into my rack and used whenever I find myself wanting to have the TV in the background while I&#8217;m on the computer in the office.  The [...]]]></description>
			<content:encoded><![CDATA[<p>Finally laid my hands on a <a href="http://www.slingmedia.com/go/slingbox-av">Slingbox AV</a> unit from <a href="http://woot.com/">woot.com</a> to go with my <a href="http://www.circuitcity.com/ssm/Zenith-Digital-to-Analog-TV-Tuner-Converter-Box-DTT900/sem/rpsm/oid/204154/catOid/-12889/rpem/ccd/productDetail.do">Zenith DTT900</a> digital tuner.  The intent was for this to go straight into my rack and used whenever I find myself wanting to have the TV in the background while I&#8217;m on the computer in the office.  The only problem is they don&#8217;t support the <a href="http://www.circuitcity.com/ssm/Zenith-Digital-to-Analog-TV-Tuner-Converter-Box-DTT900/sem/rpsm/oid/204154/catOid/-12889/rpem/ccd/productDetail.do">DTT900</a>.  So I setoff to make my own remote and while in the process of reverse engineering from of the config files for <a href="http://controlremote.sourceforge.net/">Remote Master</a> I got frustrated and took a break starting playing with just randomly trying remotes and I found one that worked.</p>
<p>To get it working you simply follow the selections in the screen shots below.  The device is a Direct TV LG receiver.</p>
<div style="text-align:center;"><img src="http://www.timespace.org/wp-content/uploads/2008/07/picture-1.png" alt="Select the Satelite/Free-to-Air Receiver" border="0" width="857" height="593" /></div>
<div style="text-align:center;"><img src="http://www.timespace.org/wp-content/uploads/2008/07/picture-2.png" alt="DirectTV" border="0" width="857" height="593" /></div>
<div style="text-align:center;"><img src="http://www.timespace.org/wp-content/uploads/2008/07/picture-3.png" alt="LG" border="0" width="857" height="593" /></div>
<p>Here you want to test the power button.  If it doesn&#8217;t work try checking the connection on your IR cable and just make sure the IR emitters are pointed at the plastic in the front of the device.  The plastic seems to diffuse the IR signal and gets it to the receiver from almost any angle.</p>
<div style="text-align:center;"><img src="http://www.timespace.org/wp-content/uploads/2008/07/picture-4.png" alt="Test the units power" border="0" width="857" height="593" /></div>
<p>Here I experimented with the various settings and found if you press 3 it brings up channel 33 in my area so I had it go with a single leading zero when direct tunning a chanel.  Doing multiple zeros sends it into the sub-channel when tuning and since the device does not tune past 69 it seemed ok to use this method to get direct tuning working.  I also added the press enter to make tuning faster.  Test the setup click the checkbox and it should be good to go.</p>
<div style="text-align:center;"><img src="http://www.timespace.org/wp-content/uploads/2008/07/picture-8.png" alt="Customize Controls" border="0" width="857" height="593" /></div>
<p>Since I have this working I&#8217;m content with the generic remote.  If anyone is interested in making a remote with the actual I will upload the image file, map file and other information I had gathered to get this working before discovering the guide I was following only left me with a bin file for telling the slingbox the command set instead of building the full remote plus commands file. Download here <a href="http://www.timespace.org/wp-content/uploads/2008/07/zenith-dtt900-remote.zip" title="Zenith DTT900 Remote.zip">Zenith DTT900 Remote.zip</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/07/13/slingbox-av-with-zenith-dtt900-digital-tuner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Abusive PickerView</title>
		<link>http://www.timespace.org/2008/07/11/the-abusive-pickerview/</link>
		<comments>http://www.timespace.org/2008/07/11/the-abusive-pickerview/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 18:00:37 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/?p=135</guid>
		<description><![CDATA[iPhone SDK 2.0 is a welcome thing but some of the controls make you wonder how they are supposed to be easy to work with.  One thing iPhone devs will need that has driven me nuts because so few implement it right yet in any of the apps I&#8217;ve seen it in.  The [...]]]></description>
			<content:encoded><![CDATA[<p>iPhone SDK 2.0 is a welcome thing but some of the controls make you wonder how they are supposed to be easy to work with.  One thing iPhone devs will need that has driven me nuts because so few implement it right yet in any of the apps I&#8217;ve seen it in.  The odometer style pickerview, no one seems to understand so I&#8217;m going to break down the UIPickerView into its most basic components hopefully this helps someone with the spare time to develop for the iphone to create some kewl apps that use it to make the ui experience better.</p>
<p>First here is some sample code that should help you better understand how to virtually wrap the pickerview.  What we have in the titleForRow method is an array the returns the value of the selected row modulus 10.  This ensures we stay in our array and return the appropriate string label for the row we want.  This means no matter what &#8220;row&#8221; the ui thinks we are in we will be returning what we want them to see for that row giving us the virtual wrap we want.  The return could just as easily be simply the row%10 as an NSString without the array for a basic odometer style picker.</p>
<div style="text-align:left;"><img src="http://www.timespace.org/wp-content/uploads/2008/05/picture-1.png" border="0" alt="Picture 1.png" width="713" height="206" /></div>
<p>Some other code that helps us with the illusion is the numberOfRowsInComponent method.  In here we return the number of possible rows to select.  I started off using NSMaxIneger and quickly found this breaks everything so I bumped the number down until I got around 16384. This allows you to wrap around and around and force the user into having to be pretty dedicated to reach the end of the list breaking the illusion. Change the number down to 32 to see the end of the list and get a better feel for what is going on in the background as the delegate methods aid in rendering the UI.</p>
<div style="text-align:left;"><img src="http://www.timespace.org/wp-content/uploads/2008/05/picture-3.png" border="0" alt="Picture 3.png" width="605" height="48" /></div>
<p>Now what you really want to happen is if they hit the end of the list repopulate it and the easiest way to do this is redirect the list to its own middle. But if every time you did this you took them to the middle it would mess up their current selection so the algorithm has to be a little smarter and offset them to their current selection.  There are three pieces to this.  The first is the didSelectRow this delegate is called when the user stops moving the control.  From here we want to call a delegate that is called when the control loads as well pickerViewLoaded.  When the pickerViewLoaded delegate is called we setup the same max as the max returned in numberOfRowsInComponent because we want to go to the middle of the possible selections.  We then take the max divided by two for the middle then use that value mod 10 to get the offset to take us to the nearest row divisible by ten.  From here we can take the current selected row modulus ten and use that as the offset tot he current row we want them to be on.  When we select this row without animation there should be no apparent movement to the end user and they should now be back towards the middle of the list.</p>
<div style="text-align:left;"><img src="http://www.timespace.org/wp-content/uploads/2008/05/picture-5.png" border="0" alt="Picture 5.png" width="668" height="48" /></div>
<div style="text-align:left;"><img src="http://www.timespace.org/wp-content/uploads/2008/05/picture-6.png" border="0" alt="Picture 6.png" width="656" height="76" /></div>
<p>The final piece of code here should enable us to return the number of horizontal components in the pickerview.  As you can see the other methods have a component method that returns which column of data you are looking at.  There is additional programming required for dealing with this but it shouldn&#8217;t be to difficult to figure out once you understand what you&#8217;re dealing with in the basics of the pickerview.</p>
<div style="text-align:left;"><img src="http://www.timespace.org/wp-content/uploads/2008/05/picture-7.png" border="0" alt="Picture 7.png" width="446" height="48" /></div>
<p>If your anything like me while the interface is unique but the loading mechanism I think could be significantly optimized but I think the user experience is one that as a developer I can live with because even with the overhead on the device it seems to work well enough.  I would also like to disclaim this isn&#8217;t meant to be a definitive on the subject of the PickerView only a guide so application developers wanting to work with this control can do so without going bald because of the complexities of the control.</p>
<p>I attached the code as a project so building it in xcode and messing around with the parameters shouldn&#8217;t be to difficult.</p>
<p><a title="UIPickerViewU.zip" href="http://www.timespace.org/wp-content/uploads/2008/05/uipickerviewu.zip">UIPickerViewU.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/07/11/the-abusive-pickerview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Membership Provider Oddity</title>
		<link>http://www.timespace.org/2008/04/30/membership-provider-oddity/</link>
		<comments>http://www.timespace.org/2008/04/30/membership-provider-oddity/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 18:16:25 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/?p=133</guid>
		<description><![CDATA[I thought I would write this one up as maybe I&#8217;m not the only slow one unable to find any reference to information about a way to set a users password to a known value programatically using the MembershipProvider classes.  It seems much of System.Web.Security is geared towards interacting with a user and not [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I would write this one up as maybe I&#8217;m not the only slow one unable to find any reference to information about a way to set a users password to a known value programatically using the MembershipProvider classes.  It seems much of System.Web.Security is geared towards interacting with a user and not as an API into the security framework itself.  That is unless of course you wish to create you own provider.</p>
<p>If you have a user pauldy and you wish to change his password you create a MembershipUser then using the Membership class&#8217;s static method GetAllUsers() to retrieve a Collection of users indexed off the username and assign it to a MembershipUser like so</p>
<p><code style="white-space:pre;"><br />
	MembershipUser pauldy = Membership.GetAllUsers()["pauldy"];<br />
</code></p>
<p>It is pretty clear from the API there are two methods for reseting a users password. One of them ChangePassword requires you to know the old user password and lacks any overrides the other is ResetPassword which has an override that is the answer to a question he user supplies giving them the right to modify the user password and returns a random password.  As a programmer I am a little interested in why there is no way to simply reset the password to a known value in an administrative fashion.  There are methods to create a user with a known password or to delete users using the MembershipProvider but no direct method for simply reseting the password.</p>
<p>There is also a method for retrieving a Password using the GetPassword method that only works if you have the EnablePasswordRetrieval option set to true.  Anyone who is evenly slightly security conscious is probably going to have that set to false.</p>
<p>The solution I have found i suboptimal as it hits the database with two writes for what should be just one but it does work.  Because unlike most modifications to the MembershipUser the ResetPassword method actually modifies the user information when invoked you can change a users password to a known value by using the following statement.</p>
<p><code style="white-space:pre;"><br />
	String pass = "supersecretpass";<br />
	MembershipUser pauldy = Membership.GetAllUsers()["pauldy"];<br />
	pauldy.ChangePassword(pauldy.ResetPassword(), pass);<br />
</code></p>
<p>Now this effectively changes the password to some random foo generated by the ResetPassword method and uses its output as the current password for the ChangePassword method allowing you to set it to a known value.  If anyone knows a better way to do this please post in the comments.  The ultimate goal of me diving into this was in a user management app to place a button that allows a privileged user to reset the password of another user and not have them get a messy new password.   So I created a function to generate random passwords and use it to make it easier on clients.</p>
<p><code style="white-space:pre;"><br />
    protected String genPassword(int genPassLength) {<br />
        String approvedCharList = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!$%&#038;*?";<br />
        StringBuilder newPass = new StringBuilder();<br />
        Random random = new Random(DateTime.Now.Millisecond);<br />
        for (int x = 0; x < genPassLength; x++) {<br />
            newPass.Append(approvedCharList[random.Next(0, (approvedCharList.Length - 1))]);<br />
        }<br />
        return newPass.ToString();<br />
    }<br />
</code></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/04/30/membership-provider-oddity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo goes Live</title>
		<link>http://www.timespace.org/2008/02/08/yahoo-goes-live/</link>
		<comments>http://www.timespace.org/2008/02/08/yahoo-goes-live/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 15:23:20 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2008/02/08/yahoo-goes-live/</guid>
		<description><![CDATA[It isn&#8217;t often I&#8217;m excited about new web services I see, especially in the content delivery space because it is such a huge technical challenge you don&#8217;t get to see anything that mind blowing.  Today I caught wind of the live service from Yahoo logged in checked it out and it really is a [...]]]></description>
			<content:encoded><![CDATA[<p>It isn&#8217;t often I&#8217;m excited about new web services I see, especially in the content delivery space because it is such a huge technical challenge you don&#8217;t get to see anything that mind blowing.  Today I caught wind of the live service from Yahoo logged in checked it out and it really is a technical marvel.  Web based video conferencing it show cases something that really seemed live it might not be doable until now.You can see my live feed if available below.  Probably just a shot of the back of my head from the macbook but it should give a nice preview of the possibilities from live broadcasting to what I think is the more important feature cross platform video conferencing with a unified front end.  You can view it by going to <a href="http://live.yahoo.com/">live.yahoo.com</a> <center><object codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="363" width="412" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param value="http://fe101.live.ap.re3.yahoo.com/swf/player/pauldy" name="movie"></param><embed src="http://fe101.live.ap.re3.yahoo.com/swf/player/pauldy" pluginspage="http://www.adobe.com/go/getflashplayer" type="application/x-shockwave-flash" height="363" width="412"></embed></object></center> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/02/08/yahoo-goes-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I love my Mac Applescript + Mail.app</title>
		<link>http://www.timespace.org/2008/01/30/i-love-my-mac-applescript-mailapp/</link>
		<comments>http://www.timespace.org/2008/01/30/i-love-my-mac-applescript-mailapp/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 04:19:02 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2008/01/30/i-love-my-mac-applescript-mailapp/</guid>
		<description><![CDATA[Normally I just enjoy computing more that I have switched to the mac platform.  Mainly because all of the software just seems to be so well thought out.  So much of my experience with Windows was whatever it took to get the job done as quickly as possible so we can move on [...]]]></description>
			<content:encoded><![CDATA[<p>Normally I just enjoy computing more that I have switched to the mac platform.  Mainly because all of the software just seems to be so well thought out.  So much of my experience with Windows was whatever it took to get the job done as quickly as possible so we can move on to the next one.  With the Mac there are just certain elements that make me fell all giddy inside as a technology enthusiast and software developer.  One of these little moments came to me in the form of a post on <a href="http://www.macosxhints.com/article.php?story=2008012419354669">MacOSXHints.com</a>.</p>
<p>It was a very simple AppleScript something I have messed with in the past for creating some things I thought were missing in the Finder like a directory up button and directory refresh button on my Finder windows.  But I hadn&#8217;t really thought of it in the same way I might think about a unix shell script.  It just doesn&#8217;t seem structured enough to do anything really useful.  Until I saw this tip, the jest of which was to announce the name of an incoming mail message sender instead of a simple incoming mail alert.</p>
<p>With very little modification here is my version of the script.</p>
<p><code style="white-space:pre;"><br />
using terms from application "Mail"<br />
	on perform mail action with<noscript>Variationen von <a href="http://www.pokermeine.de/hauptsachlich-bewertet-poker.html">poker</a>.</noscript> messages newMessages<br />
		repeat with newMessage in newMessages<br />
			tell application "Mail"<br />
				set senderName to (extract name from sender of newMessage)<br />
				set mailSubject to (get subject of newMessage)<br />
				say "E-Mail from " &#038; senderName<br />
				say "Subject " &#038; mailSubject<br />
			end tell<br />
		end repeat<br />
	end perform mail action with messages<br />
end using terms from<br />
</code><br />
</p>
<div style="text-align:center;"><img src="http://www.timespace.org/wp-content/uploads/2008/01/picture-1.png" alt="Mail.app PrefPane" border="0" width="570" height="260" /></div>
<p>
I saved this as a compiled application and move to Mail.app where I created a rule called Announce and was able to integrate it with my Address book and tell it to only fire for people who are in my family or friends groups.  This means only people I know who send me e-mail all the time will run this script.  Next I moved it to the top of the list so no other scripts would run before it.  Now when my wife sends me an e-mail that might be of importance instead of hearing a bing and knowing I have some random e-mail that I will look at later I hear that she sent me an e-mail plus the subject so I can decide if it is something I should read or if she is just forwarding me another chain joke e-mail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/01/30/i-love-my-mac-applescript-mailapp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calendar Server for iCal</title>
		<link>http://www.timespace.org/2008/01/10/calendar-server-for-ical/</link>
		<comments>http://www.timespace.org/2008/01/10/calendar-server-for-ical/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 17:19:04 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2008/01/10/calendar-server-for-ical/</guid>
		<description><![CDATA[I&#8217;ve been struggling with Markspaces Sync Together for Mac OS ever since leopard came out.  They had a notice on their website for months concerning incompatibility with leopard but no notice as to when or if they would be working on making it compatible.  Finally the time came I was ready to figure [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been struggling with Markspaces Sync Together for Mac OS ever since leopard came out.  They had a notice on their website for months concerning incompatibility with leopard but no notice as to when or if they would be working on making it compatible.  Finally the time came I was ready to figure something else out.  I found all kinds of tutorials on setting up a .mac clone which seemed interesting but all I really wanted was to keep my contacts and various calendar events in sync.  I also wanted to share this information with my wife&#8217;s machine without it being a big hassle.  I had read about calendar server before so I decided to set out to get it installed.</p>
<p>I have been working with open sourced software like this for years so I expected some bumps but figured in a few hours of free time I should have it up and running.  I was so utterly wrong I could not have imagined the pain this software would cause.  First what little documentation there is pre supposes configuration options and package installations that are almost sure to be incorrect for anyone who attempts the install.  Second the server makes use of some new technologies like extended attributes for files that while mentioned are not described in enough detail for anyone not already intimately familiar with to make use of as for most installations this is disabled by default.  So the setup isn&#8217;t the easiest to grind through.  The good news is if you know what hurdles await there really is nothing to it.</p>
<p>So here are some of the steps required to get it up and running under Ubuntu 7.10.</p>
<p>My assumptions are that you are at least running a base installation of ubuntu and that you have not removed any of the packages installed by default and are using the default ext3 file system.  I will also assume you understand how to deal with any issues regarding apt-get and mirrors.</p>
<p>First you want to get any extras that might not be installed by default with the following command.</p>
<p>apt-get install curl zope3 python-xml python-pyopenssl python-dateutil python-xattr python-pysqlite2 python-twisted python-vobject python-kerberos</p>
<p>Next you want to setup the file system for the metadata storage.  This part took me quite a while to figure out that it was indeed a showstopper not to have a file system that supports this interaction.  Fortunately I was running ext3 so it was a simple as running the following command mount -o remount,user_xattr /.  This remounts the root partition with the ability to read and write the required metadata.  This is required for whatever partition you store the data on only and once you have done this you may want to add user_xattr to your /etc/fstab in the options section.</p>
<p>Once this has completed you are ready to get the server from svn.  You can place this any number of places popular ones include /opt /var and /usr/local so change your directory accordingly and run the following command.</p>
<p>svn checkout <a href="http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk">http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk</a> CalendarServer</p>
<p>Keep in mind not everyone is a trunk kind of person you can also use the release versions found by pointing your browser to <a href="http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/">http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/</a> and grabbing one of the directories you see in there and use that url in place of the one pointing to trunk.</p>
<p>After the files have finished downloading it is time to configure your server defaults you can do this by changing directory into the Calendar Server directory and running the command run -s once this has completed you need to create your config file so cd into conf and the run cp caldavd-test.plist caldavd-dev.plist.  I don&#8217;t know why that was their naming convention but it is.</p>
<p>Now you have a working server ready to accept local connections to enable remote connections edit the caldavd-dev.plist and search for 127.0.0.1 and replace it with the external interface you wish the service to listen on.  You can now configure your client to access the server to test out prior to getting into the config file and securing it for your personal needs.</p>
<p>The client connection from iCal was pretty simple you go to the iCal menu select preferences.  Then you select the accounts tab click the plus sign to add a new account.  Type in your own description and then the username and password to connect to the server.  Next enter the url to the server begining with http or https depending on your setup.  Then the hostname or ip of the server you are connecting to.  Leave off the trailing / it will auto setup your path if you elave it off.  Click add and you should be reading your online calendar.</p>
<p>Some things I hope to see in the future are event notifications when something has changed on the server it should notify the client to check for modifications.  It should also maintain the connection to the server when iCal is closed and  update notifications accordingly.  Overall thought I&#8217;m happy with how it does work and glad I took the time to get it setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2008/01/10/calendar-server-for-ical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screen Sharing &#8211; Enable New Features</title>
		<link>http://www.timespace.org/2007/12/17/screen-sharing-enable-new-features/</link>
		<comments>http://www.timespace.org/2007/12/17/screen-sharing-enable-new-features/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 19:07:04 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2007/12/17/screen-sharing-enable-new-features/</guid>
		<description><![CDATA[I noticed a post on digg talking about new features for Screen Sharing via the terminal so I decided to dig into the app itself and see what all was available. Using the trusty strings command from the command line I hit the binary inside System/Library/CoreServices/Screen Sharing.app/Contents/MacOS/Screen Sharing. After parsing it I found a few [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed a post on digg talking about new features for Screen Sharing via the terminal so I decided to dig into the app itself and see what all was available. Using the trusty strings command from the command line I hit the binary inside System/Library/CoreServices/Screen Sharing.app/Contents/MacOS/Screen Sharing. After parsing it I found a few interesting items.</p>
<ul>
<li>mFSWindow</li>
<li>mFSToolPalette</li>
<li>mFSQualitySlider</li>
<li>mFSControlButton</li>
<li>mFSCurtainButton</li>
<li>mFSShareButton</li>
<li>mFSCaptureButton</li>
<li>mFSExitButton</li>
<li>mFSFullScreenButton</li>
<li>mFSShowButton</li>
<li>mFSGetClipboardButton</li>
<li>mFSSendClipboardButton</li>
<li>mFSMultiDisplayPopUpButton</li>
<li>mFSMultiDisplayToolbarView</li>
</ul>
<p>These all interested me very much as they seemed to represent items on the button bar which you can bring up by pressing the expander at the top right hand side of the window. I noticed they were using the defaults command line so I knew they were modifying the resources in the plist file on the hd so a quick trip over to ~/Library/Preferences I found the com.apple.ScreenSharing.plist file. I opened it using the Property List Editor which you can get by installing the developer tools in Leopard. Once opened I looked around and found the following xpath /NSToolbar Configuration ControlToolbar/TB Item Identifiers/ inside here were the dead giveaways. Items named very similar to the items I found inside the app itself. I extracted the most probable names from the list above and came up with the following valide toolbar items.</p>
<ul>
<li>Quality
<ul>
<li>This controls things like bit depth, compression and the like move further to the right for quality or left for speed.</li>
</ul>
</li>
<li>Control
<ul>
<li>Allows you to toggle between control and observer mode</li>
</ul>
</li>
<li>Curtain
<ul>
<li>Lets you turn on the curtain on the remote display and prevents the remote user from interacting with the session. (Enables some type of frame buffer mode haven&#8217;t figured out the details yet.)</li>
</ul>
</li>
<li>Share
<ul>
<li>Lets you turn on and off the user&#8217;s ability to control the machine.</li>
</ul>
</li>
<li>Capture
<ul>
<li>Straight up screen cap of the remote display.</li>
</ul>
</li>
<li>Exit
<ul>
<li>This option appears to only show up in full screen mode and controls exiting from that mode.</li>
</ul>
</li>
<li>FullScreen
<ul>
<li>Takes the remote display full screen on your local display.</li>
</ul>
</li>
<li>Show
<ul>
<li>Unsure what this does imagine it might be for some quick view feature, maybe ichat implements it.</li>
</ul>
</li>
<li>GetClipboard
<ul>
<li>Gets the clipboard from the remote machine.</li>
</ul>
</li>
<li>SendClipboard
<ul>
<li>Sends the clipboard from your local machine.</li>
</ul>
</li>
<li>MultiDisplayPopUp
<ul>
<li>Only displays if the remote machine has multiple displays. It allows you to select the display individually or combine them into one super display in a single window via a drop down.</li>
</ul>
</li>
</ul>
<p>There is one other option that is very useful and that was an option you will notice at the bottom of the property list window. It is the ShowBonjourBrowser_Debug option a boolean with the value of no. Change it to yes and it enables a nice window on startup for selecting from a list of predefined clients or adding and connecting to new clients. The only issue I had with it is there is no way that I could see to rename the connection but if you add and save all your entries exit Screen Sharing and open the plist file back up in the editor you will see your entries under SavedComputers. In this dictionary there is a list of machines each machine has a property called name. Edit this name and it will be reflected in the Screen Sharing list under My Computers. Now I have my labels for when I&#8217;m outside my office and labels for when I&#8217;m in the office for connecting to my main machines.</p>
<p>Seeing this is promising that Apple realizes that home users need some of the functionality of their Apple Remote Desktop software without the 500 dollar price tag. I really wish I had come across a way to transfer files to and from machines but there are ways around that and at least with the features hidden under the surface now we have a powerful computer to computer remote management solution that won&#8217;t break the bank. I had already replaced the chicken with the jolly fast client but now it looks like I can drop all vnc clients on the mac in favor of this solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2007/12/17/screen-sharing-enable-new-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone VNC</title>
		<link>http://www.timespace.org/2007/12/14/iphone-vnc/</link>
		<comments>http://www.timespace.org/2007/12/14/iphone-vnc/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 21:04:58 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2007/12/14/iphone-vnc/</guid>
		<description><![CDATA[Today I had a bit of time to mess around with the VNsea.app for the iPhone. I had used it previously and was pretty disapointed with the way it just crashed after opening it. It has aged well, with the newest version supporting scaling and all sorts of interactive goodness. The ui is much more [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had a bit of time to mess around with the VNsea.app for the iPhone. I had used it previously and was pretty disapointed with the way it just crashed after opening it. It has aged well, with the newest version supporting scaling and all sorts of interactive goodness. The ui is much more responsive than anything I ever used on my e805 which used a similarly clocked chip and had a 640&#215;480 screen.</p>
<p>The things I love about the newest version are:</p>
<ul>
<li>two finger scaling of the screen.</li>
<li>click modifiers at the bottom bar</li>
<li>auto screen size adjustments when rotating the screen</li>
<li>the idea of the more button for sending that ctrl-alt-del</li>
</ul>
<p>The things that still need to be fixed:</p>
<ul>
<li>link against the fixed working DNS libs please, dns doesn&#8217;t work</li>
<li>better layout of extra keys, were are the arrows</li>
<li>keyboard in landscape view</li>
<li>did I mention DNS</li>
</ul>
<p>Those last few problems seem like they can be fixed rather easily now that stability issues have been addressed. The next little utility I&#8217;m really looking for is RDC for the iPhone. This along with the great mobile term package will mean I can remote admin all of my machines from my iPhone.</p>
<p>Here are a few action shots of the latest VNsea.app. It can be found in Installer.app or</p>
<p>&nbsp;</p>
<p><img height="480" alt="vnc1" src="http://www.timespace.org/wp-content/uploads/2007/12/vnc1.png" width="320" /><img height="480" alt="vnc2" src="http://www.timespace.org/wp-content/uploads/2007/12/vnc2.png" width="320" /><img height="480" alt="vnc3" src="http://www.timespace.org/wp-content/uploads/2007/12/vnc3.png" width="320" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2007/12/14/iphone-vnc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One of those little tidbits it&#8217;s good to know</title>
		<link>http://www.timespace.org/2007/12/10/one-of-those-little-tidbits-its-good-to-know/</link>
		<comments>http://www.timespace.org/2007/12/10/one-of-those-little-tidbits-its-good-to-know/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 17:28:00 +0000</pubDate>
		<dc:creator>pauldy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.timespace.org/2007/12/10/one-of-those-little-tidbits-its-good-to-know/</guid>
		<description><![CDATA[Today I finally got around to trying to get the virtual machine back up and online in preparation for doing some work in the newly released VS 2k8. I had avoided messing with it because after a kernel update in Ubuntu (the host os) I had not been able to get networking up and was [...]]]></description>
			<content:encoded><![CDATA[<p>Today I finally got around to trying to get the virtual machine back up and online in preparation for doing some work in the newly released VS 2k8. I had avoided messing with it because after a kernel update in Ubuntu (the host os) I had not been able to get networking up and was to busy to bother with it. Today I decided it had been long enough and it was time to tackle the problem. I popped up RDC went to log in only to be prompted with the press control alt delete to login. The console for the virtual machine uses remote desktop protocol to connect to the vm and rdc doesn&#8217;t provide a means for sending the three fingered salute.</p>
<p>I searched around the internet and was able to find the following nugget that worked beautifully and I would have never guessed it. Instead of trying ctrl-alt-del press ctrl-alt-end. I was finally able to get in without shutting the machine down. Turned out the updates I did after the Ubuntu kernel update to the virtual machine changed the network interface type. Entering the ips for the machine on the new virtual nic in windows and everything was back up and running.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timespace.org/2007/12/10/one-of-those-little-tidbits-its-good-to-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
