<?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>Sol Young &#187; Software Development</title>
	<atom:link href="http://solyoung.com/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://solyoung.com</link>
	<description>Out In His Elements</description>
	<lastBuildDate>Tue, 06 Apr 2010 03:42:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Annual Reviews</title>
		<link>http://solyoung.com/2009/03/16/annual-reviews/</link>
		<comments>http://solyoung.com/2009/03/16/annual-reviews/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 14:12:24 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Etiquette]]></category>
		<category><![CDATA[Ingram Digital]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=679</guid>
		<description><![CDATA[<p><img class="alignnone size-full wp-image-680" title="Origami" src="http://solyoung.com/wp-content/uploads/2009/03/origami.jpg" alt="Origami" width="381" height="309" /></p>
<p>This year&#8217;s annual review process swung around fast! It seems like the team <a href="http://solyoung.com/2008/05/29/iofy-digital-audiobook-platform-acquired-by-ingram-digital/">joined Ingram Digital</a> just months ago. I&#8217;ve done them a few times, but this was the first review process I&#8217;ve done at <a title="Check out Ingram Digital's new website, it's slick!" href="http://www.ingramdigital.com">ID</a>. Reviews are a time for reflection. A time to make and receive input on how we&#8217;ve performed. A &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-680" title="Origami" src="http://solyoung.com/wp-content/uploads/2009/03/origami.jpg" alt="Origami" width="381" height="309" /></p>
<p>This year&#8217;s annual review process swung around fast! It seems like the team <a href="http://solyoung.com/2008/05/29/iofy-digital-audiobook-platform-acquired-by-ingram-digital/">joined Ingram Digital</a> just months ago. I&#8217;ve done them a few times, but this was the first review process I&#8217;ve done at <a title="Check out Ingram Digital's new website, it's slick!" href="http://www.ingramdigital.com">ID</a>. Reviews are a time for reflection. A time to make and receive input on how we&#8217;ve performed. A time to realize and face weaknesses and understand our strengths.</p>
<p>There were five appraisals of my developers, and one on myself. To normalize the results I did my self-appraisal first. I had everyone on the team do their own self-appraisal, too, but I avoided reviewing theirs until I&#8217;d done my appraisal of them. This was to make sure my scores weren&#8217;t skewed and to look for any disconnects.</p>
<p>I started by reading status reports I sent for the year. For the weeks without status reports I re-read email to make sure I didn&#8217;t miss any accomplishments. This was time consuming and highlights the need to maintain a tighter journal of deeds. I&#8217;ve done this for myself over the last ten years. Keeping a separate journal for one&#8217;s team is highly valuable and I&#8217;m going to start doing this beyond status reports.</p>
<p>My team rocks, and my entries in my self-appraisal are the result of their efforts. As I listed each accomplishment I thought, “My team made this. My team created that&#8230; I worked my face off, but what specifically did I do?&#8221; It’s strange to reflect on what one was responsible for, but did with the hands of others.</p>
<p>Appraisals for my team were less demanding after my own. For one, after this point I&#8217;d compiled the full list of the team&#8217;s accomplishments. For two, it&#8217;s easier to judge others after judging one&#8217;s self.</p>
<p>Some additional links on performance reviews:</p>
<ul>
<li> <a href="http://careerplanning.about.com/od/performancereview/a/reviews.htm">Employee Performance Reviews</a></li>
<li><a href="http://hrweb.berkeley.edu/manage/appraisal.htm">Conducting Effective Performance Appraisals</a></li>
<li><a href="http://management.about.com/cs/people/a/PerfRvwWaste.htm">Why Annual Performance Reviews are a Waste of Time</a> (I don&#8217;t agree with the writer, but it highlights what we should do during the year so reviews are effective and aren&#8217;t a surprise).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2009/03/16/annual-reviews/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug Tracking on the iPhone with JIRA Mate</title>
		<link>http://solyoung.com/2008/11/22/bug-tracking-on-the-iphone-with-jira-mate/</link>
		<comments>http://solyoung.com/2008/11/22/bug-tracking-on-the-iphone-with-jira-mate/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 16:54:15 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone 3G]]></category>
		<category><![CDATA[JIRA]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=377</guid>
		<description><![CDATA[<p><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=293904930&#38;mt=8"><img class="alignnone size-full wp-image-378" title="JIRA Mate" src="http://solyoung.com/wp-content/uploads/2008/11/jiramate.png" alt="" width="192" height="288" /></a></p>
<p>My dev team uses JIRA for bug tracking. It&#8217;s a flexible project management and defect tracking system. As with almost any bug tracking system out there (Bugzilla, Trac, etc), web based defect tracking from a mobile handset is not very user-friendly.</p>
<p>Enter <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=293904930&#38;mt=8">JIRA Mate</a> (formerly JIRA Buddy), written by <a href="http://www.apptism.com/developers/shaun-ervine">Shaun Ervine</a>, an application for &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=293904930&amp;mt=8"><img class="alignnone size-full wp-image-378" title="JIRA Mate" src="http://solyoung.com/wp-content/uploads/2008/11/jiramate.png" alt="" width="192" height="288" /></a></p>
<p>My dev team uses JIRA for bug tracking. It&#8217;s a flexible project management and defect tracking system. As with almost any bug tracking system out there (Bugzilla, Trac, etc), web based defect tracking from a mobile handset is not very user-friendly.</p>
<p>Enter <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=293904930&amp;mt=8">JIRA Mate</a> (formerly JIRA Buddy), written by <a href="http://www.apptism.com/developers/shaun-ervine">Shaun Ervine</a>, an application for iPhone and iPod Touch specifically for interfacing with your <a href="http://www.atlassian.com/software/jira/">JIRA</a> database. I was surprised by this application being available before a Bugzilla rev, let alone even being available at all. I&#8217;m not complaining. Bugzilla fans should get a move on for their own app.</p>
<blockquote><p>JIRA Mate simply uses your saved filters allowing you to access your JIRA issues straight from your iPhone.</p>
<p>Since JIRA Mate is helping out your business I guess you could write it off as a tax deduction :)</p></blockquote>
<p>The app is $8.99 and allows you to pull down issues organized in filters you&#8217;ve created in the standard web app, sorted by date (your filter sort setting is not utilized). It does not have issue creation or editing capabilities, but does pull comments and allow you to comment in kind. It&#8217;s perfect for keeping your finger on the pulse of your bug database and staying in communication via comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/11/22/bug-tracking-on-the-iphone-with-jira-mate/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Apple&#8217;s Mini DisplayPort adapter for DVI and dual-DVI</title>
		<link>http://solyoung.com/2008/11/16/apples-mini-displayport-adapter-for-dvi-and-dual-dvi/</link>
		<comments>http://solyoung.com/2008/11/16/apples-mini-displayport-adapter-for-dvi-and-dual-dvi/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 04:26:05 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=330</guid>
		<description><![CDATA[<p><img class="alignnone size-full wp-image-331" title="Dual-Link DVI" src="http://solyoung.com/wp-content/uploads/2008/11/dual-link.png" alt="" width="222" height="165" /></p>
<p>A Google search for <a href="http://www.google.com/search?q=Apple+dual-link+DVI">Apple Dual-Link DVI</a> yields a ton of product pages and blog posts about the greatness of Apple&#8217;s use of DVI. You&#8217;ll get quite a few of Apple&#8217;s own product pages, as would be expected. But only <a href="http://paulstamatiou.com/2008/11/08/review-253ghz-apple-macbook-pro">a</a> <a href="http://bitguru.wordpress.com/2008/10/14/apples-new-laptops-employ-mini-displayport/">few</a> <a href="http://macmost.com/new-macbook-pros-fail-with-mini-displayport.html">blogs</a> <a href="http://gizmodo.com/5064186/macbook-mini-displayport-to-dual+link-dvi-adapter-costs-100-wont-ship-for-a-month">are</a> <a href="http://forums.whirlpool.net.au/forum-replies-archive.cfm/1070291.html">calling</a> <a href="http://discussions.apple.com/thread.jspa?threadID=1768538&#38;tstart=0">Apple</a> out.</p>
<p>Apple recently released a new <a href="http://store.apple.com/us/browse/home/shop_mac/family/macbook_pro?mco=MTIwMDQ">MacBook Pro</a>. &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-331" title="Dual-Link DVI" src="http://solyoung.com/wp-content/uploads/2008/11/dual-link.png" alt="" width="222" height="165" /></p>
<p>A Google search for <a href="http://www.google.com/search?q=Apple+dual-link+DVI">Apple Dual-Link DVI</a> yields a ton of product pages and blog posts about the greatness of Apple&#8217;s use of DVI. You&#8217;ll get quite a few of Apple&#8217;s own product pages, as would be expected. But only <a href="http://paulstamatiou.com/2008/11/08/review-253ghz-apple-macbook-pro">a</a> <a href="http://bitguru.wordpress.com/2008/10/14/apples-new-laptops-employ-mini-displayport/">few</a> <a href="http://macmost.com/new-macbook-pros-fail-with-mini-displayport.html">blogs</a> <a href="http://gizmodo.com/5064186/macbook-mini-displayport-to-dual+link-dvi-adapter-costs-100-wont-ship-for-a-month">are</a> <a href="http://forums.whirlpool.net.au/forum-replies-archive.cfm/1070291.html">calling</a> <a href="http://discussions.apple.com/thread.jspa?threadID=1768538&amp;tstart=0">Apple</a> out.</p>
<p>Apple recently released a new <a href="http://store.apple.com/us/browse/home/shop_mac/family/macbook_pro?mco=MTIwMDQ">MacBook Pro</a>. It has the most advanced laptop graphics equipment on the market, with dual NVIDIA 9400M and 9600GT chipsets. Apple has also employed a new port type, <a href="http://www.macworld.com/article/136196/2008/10/displayportfaq.html?lsrc=rss_main">DisplayPort</a>, that is not the same as Mini-DVI or Micro-DVI. This is a port that is easier to plug in than DVI and supports HDCP (high-bandwidth digital content protection).</p>
<p>People with needs for the best processing horsepower on the go are going to pick up this laptop. These professionals, myself included, are going to be disappointed. If you&#8217;re in to a high-end laptop like this you&#8217;re probably also pushing 30&#8243; monitors. If not, you <a title="Link to WSJ" href="http://blogs.wsj.com/biztech/2008/03/10/bigger-computer-monitors-more-productivity/">should be</a>. But you <em>can&#8217;t</em>. The <a href="http://store.apple.com/us/product/MB571#overview">DisplayPort to Dual-Link DVI adapter</a> doesn&#8217;t ship for 4-5 weeks (and that&#8217;s what they said on <em><a href="http://gizmodo.com/5064186/macbook-mini-displayport-to-dual+link-dvi-adapter-costs-100-wont-ship-for-a-month">October 15th</a></em>).</p>
<p>The image above is the <a href="http://store.apple.com/us/product/MB571#overview">dual-link DVI adapter</a> from Apple. It&#8217;s a DisplayPort plus USB plug to a DVI female. Why does a dual-link DVI adapter require the addition of a USB plug? Giving up that extra USB port hurts. Paying Apple $99 to move us to a new port type is insulting.</p>
<p>So what&#8217;s with the delay? It doesn&#8217;t take 4-6 weeks to manufacture cables with DisplayPort, USB, and DVI plugs attached (the site has displayed 4-5 weeks for 4 weeks already). Either development of, or problems in, the circuitry is derailing Apple&#8217;s rollout. Or perhaps software driver updates will be required before the DisplayPort + USB adapters can be driven. If the latter, we would expect the adapters to ship at the same time as an OS update drops.</p>
<p>Apple, make this easy. Make it just work&#8230;</p>
<p>For more on DisplayPort see <em><a href="http://www.macworld.com/article/136196/2008/10/displayportfaq.html?lsrc=rss_main">DisplayPort: what you need to know</a></em> (<a href="http://www.macworld.com/contact.html?t=e&amp;e=Peter+Cohen&amp;ssid=1&amp;sid=136196">Peter Cohen</a><a href="http://www.macworld.com"></a>)</p>
<p>And for a little ridiculousness:</p>
<ul>
<li><a href="http://store.apple.com/us/product/MB570Z/A?fnode=MTY1NDA3Ng&amp;mco=MjE0NTE2Ng">Standard DisplayPort to DVI adapter</a> ($29)</li>
<li><a href="http://store.apple.com/us/product/MB571Z/A?fnode=MTY1NDA3Ng&amp;mco=MjIxNTc5Mg">DisplayPort to Dual-Link DVI adapter</a> ($99)</li>
<li><a href="http://store.apple.com/us/product/MB572Z/A?fnode=MTY1NDA3Ng&amp;mco=MjE2MDE4Ng">DisplayPort to VGA adapter</a> ($29)</li>
<li><a href="http://store.apple.com/us/product/M9321G/B?fnode=MTY1NDA3Ng&amp;mco=MjE0Nzk3MQ">Mini-DVI to DVI adapter</a> ($19)</li>
<li><a href="http://store.apple.com/us/product/M9320G/A?fnode=MTY1NDA3Ng&amp;mco=MjE1MzU1MA">Mini-DVI to VGA adapter</a> ($19)</li>
<li><a href="http://store.apple.com/us/product/MB204G/A?mco=MTIxODk3Mw">Micro-DVI to DVI adapter</a> ($19)</li>
<li><a href="http://store.apple.com/us/product/MB203G/A?mco=MTIxODk3Mw">Micro-DVI to VGA adapter</a> ($19)</li>
</ul>
<p>UPDATE: Another theory is that the chip for the adapter requires additional juice. The USB connector would simply be a power chord.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/11/16/apples-mini-displayport-adapter-for-dvi-and-dual-dvi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unplug from the news</title>
		<link>http://solyoung.com/2008/10/10/unplug-from-the-news/</link>
		<comments>http://solyoung.com/2008/10/10/unplug-from-the-news/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 12:47:55 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Rock Climbing]]></category>
		<category><![CDATA[Skiing]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=293</guid>
		<description><![CDATA[<p><a href="http://solyoung.com/wp-content/uploads/2008/10/dsc00093.jpg"><img class="alignnone size-medium wp-image-294" title="Alpine Meadows" src="http://solyoung.com/wp-content/uploads/2008/10/dsc00093-225x300.jpg" alt="Dropping off a cornice at Expert\'s Return" width="225" height="300" /></a></p>
<p>I&#8217;ve been glued to the news this week and filled up on too much doom and gloom. There are <a href="http://www.ingramdigital.com">plenty</a> <a title="Apple Laptops" href="http://bits.blogs.nytimes.com/2008/10/09/the-hottest-ticket-in-silicon-valley/?hp">of</a> <a title="Ralph Stover" href="http://www.flickr.com/photos/solyoung/sets/72157607297524733/">positive</a> <a title="Livezey" href="http://www.flickr.com/photos/solyoung/sets/72157607773735178/">things</a> to focus on. Even if this is the start of a recession, focusing on a tanking stock market doesn&#8217;t do any good as a developer. For you stock traders, yeah, you&#8217;re boned. &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://solyoung.com/wp-content/uploads/2008/10/dsc00093.jpg"><img class="alignnone size-medium wp-image-294" title="Alpine Meadows" src="http://solyoung.com/wp-content/uploads/2008/10/dsc00093-225x300.jpg" alt="Dropping off a cornice at Expert\'s Return" width="225" height="300" /></a></p>
<p>I&#8217;ve been glued to the news this week and filled up on too much doom and gloom. There are <a href="http://www.ingramdigital.com">plenty</a> <a title="Apple Laptops" href="http://bits.blogs.nytimes.com/2008/10/09/the-hottest-ticket-in-silicon-valley/?hp">of</a> <a title="Ralph Stover" href="http://www.flickr.com/photos/solyoung/sets/72157607297524733/">positive</a> <a title="Livezey" href="http://www.flickr.com/photos/solyoung/sets/72157607773735178/">things</a> to focus on. Even if this is the start of a recession, focusing on a tanking stock market doesn&#8217;t do any good as a developer. For you stock traders, yeah, you&#8217;re boned. But for software developers, there&#8217;s much to build.</p>
<p>Focus on what you&#8217;re good at. Make yourself better. Enjoy life.</p>
<p>It&#8217;s time to switch back to loving this perfect fall weather and looking forward to a killer ski season.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/10/10/unplug-from-the-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scraping the rust off &#8211; AppEngine and iPhone SDK</title>
		<link>http://solyoung.com/2008/08/11/scraping-the-rust-off/</link>
		<comments>http://solyoung.com/2008/08/11/scraping-the-rust-off/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 13:04:47 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[AppEngine]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Pytchfork]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=276</guid>
		<description><![CDATA[<p><a href="http://www.flickr.com/photos/peterjbaer/273693486/in/photostream/"><img src="http://farm1.static.flickr.com/110/273693486_84ef73e10a_d.jpg" alt="Pythons" width="400" height="374" /></a></p>
<h5>Photo by <a title="Peter Baer's Flickr photo stream" href="http://www.flickr.com/photos/peterjbaer/">Peter Baer</a> &#8211; <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en">CC</a></h5>
<p><span style="color: #ffffff;">.</span></p>
<p>As a tech manager I&#8217;ve got myself in to <em>that</em> mode. You know the mode. The one where you&#8217;re so focused on building a great product that you&#8217;re not getting to code that often, if at all. This isn&#8217;t bad &#8211; you have to do whatever you can &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/peterjbaer/273693486/in/photostream/"><img src="http://farm1.static.flickr.com/110/273693486_84ef73e10a_d.jpg" alt="Pythons" width="400" height="374" /></a></p>
<h5>Photo by <a title="Peter Baer's Flickr photo stream" href="http://www.flickr.com/photos/peterjbaer/">Peter Baer</a> &#8211; <a href="http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en">CC</a></h5>
<p><span style="color: #ffffff;">.</span></p>
<p>As a tech manager I&#8217;ve got myself in to <em>that</em> mode. You know the mode. The one where you&#8217;re so focused on building a great product that you&#8217;re not getting to code that often, if at all. This isn&#8217;t bad &#8211; you have to do whatever you can to get things done &#8211; but if you&#8217;re a developer manager, you need to live in this space. And I&#8217;ve felt the atrophy.</p>
<p>So over the weekend I scraped the rust off and tried some new stuff. I&#8217;ve never coded in Python, but I&#8217;ve had <a href="http://code.google.com/appengine/">Google AppEngine</a> sitting on my account for a while. And I&#8217;ve got a personal <a href="http://developer.apple.com/iphone/">iPhone developer SDK</a> and ADC membership. It was time to whip out the programmer-WD40.</p>
<p>What did I build? Pytchfork. What is Pytchfork? You&#8217;ll find out &#8211; but not in this post. It&#8217;s something I&#8217;ve had on my mind for a while. In about an hour I had AppEngine installed and Pytchfork configured. Less than two hours later I was done with a REST library and the framework for what Pytchfork will become.</p>
<p>A REST feature set for input. Basic XML, RSS, ATOM, and JSON as output. In a few hours. Not bad, and it felt gooooood.</p>
<p>From this I&#8217;ve learned Python is a friendly animal, and not just in theory. It&#8217;s too friendly. The lack of semi-colons in my C/C++ brain feels like I&#8217;m walking up to a cliff without a railing at each line ending. But it&#8217;s something one gets used to.</p>
<p>Unless you&#8217;ve written a PHP or Ruby framework you&#8217;re married to, AppEngine and Python is about the best thing you could do for yourself as a way to publish a small, personal, application.</p>
<p>Starting a Monday without rust feels great. Stay sharp!</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/08/11/scraping-the-rust-off/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to build a really successful web 2.0 service on top of another service and screw it all up</title>
		<link>http://solyoung.com/2008/07/30/how-to-build-a-really-successful-web-20-service-and-screw-it-up/</link>
		<comments>http://solyoung.com/2008/07/30/how-to-build-a-really-successful-web-20-service-and-screw-it-up/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 04:02:58 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Etiquette]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Life Streaming]]></category>
		<category><![CDATA[Micro-blogging]]></category>
		<category><![CDATA[Microblogging]]></category>
		<category><![CDATA[SnapTweet]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[TwitPic]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=261</guid>
		<description><![CDATA[<p><img class="alignnone size-full wp-image-262" title="TWICECREAM!" src="http://solyoung.com/wp-content/uploads/2008/07/icecream.jpg" alt="" width="269" height="300" /></p>
<h5><em>Twicecream</em> &#8211; a fake service to demonstrate a point about single sign-on&#8230;</h5>
<p>In web 2.0 there is a determination to screw up potentially great services. It&#8217;s my number #1 pet peeve with software development these days. Here&#8217;s a fictitious example of a service you might create&#8230;</p>
<p>You&#8217;ve built a service that automatically <a href="http://www.twitter.com">Twitters</a> your geo-position &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-262" title="TWICECREAM!" src="http://solyoung.com/wp-content/uploads/2008/07/icecream.jpg" alt="" width="269" height="300" /></p>
<h5><em>Twicecream</em> &#8211; a fake service to demonstrate a point about single sign-on&#8230;</h5>
<p>In web 2.0 there is a determination to screw up potentially great services. It&#8217;s my number #1 pet peeve with software development these days. Here&#8217;s a fictitious example of a service you might create&#8230;</p>
<p>You&#8217;ve built a service that automatically <a href="http://www.twitter.com">Twitters</a> your geo-position and the name of an ice cream parlor when you&#8217;re in front of it. Your phone buzzes when an ice cream parlor is detected and begins sending photos to <a href="http://www.snaptweet.com">SnapTweet</a> and <a href="http://www.twitpic.com">TwitPic</a>, including <a href="http://www.zagats.com">Zagats</a> ratings and commentary. Other patrons respond back and generate conversations. This is your social network: <em>Twicecream</em> &#8211; a social network for twittering ice cream enthusiasts.</p>
<blockquote><p>In front of Ben &amp; Jerry&#8217;s on the Wharf, Zagats 4-stars, pics: <a title="ICE CREAM!" href="http://www.flickr.com/photos/solyoung/2687242982/in/set-72157606283056371/">http://twicecream.com/abc123</a></p></blockquote>
<p>Congratulations! You just failed.</p>
<p>You didn&#8217;t fail by creating a service few would use. You failed because you didn&#8217;t utilize the authentication mechanism your patrons preferred. You built an unnecessary barrier to your garden by requiring an unnecessary account creation. Don&#8217;t do this, it&#8217;s arrogant and inefficient.</p>
<p>Your patrons have Twitter accounts. Twitter has an API. Your service should have asked the patron to log in with their Twitter credentials.</p>
<p>This isn&#8217;t just for social networking. This goes for all web services. SaaS solutions that require secondary account creations are a bad idea. Single sign-on, whenever possible, should be used.</p>
<p>The whole idea is to simplify access to what the customer needs. If you&#8217;re requiring unnecessary account creations, you&#8217;re screwing it all up.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/07/30/how-to-build-a-really-successful-web-20-service-and-screw-it-up/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What a great day! (Phillies, software, 12seconds, WCU)</title>
		<link>http://solyoung.com/2008/07/24/what-a-great-day-phillies-software-12seconds-wcu/</link>
		<comments>http://solyoung.com/2008/07/24/what-a-great-day-phillies-software-12seconds-wcu/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 01:07:07 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[12seconds]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Geek Dinner]]></category>
		<category><![CDATA[Ingram Digital]]></category>
		<category><![CDATA[Micro-blogging]]></category>
		<category><![CDATA[Microblogging]]></category>
		<category><![CDATA[Philadelphia]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=245</guid>
		<description><![CDATA[<p></p>
<p>Had an awesome day &#8211; time to share!</p>
<ul>
<li><a href="http://12seconds.tv/channels/solyoung">12seconds.tv/channels/solyoung</a></li>
<li><a href="http://12seconds.tv/channel/solyoung/4396">First 12second introduction</a></li>
<li><a href="http://www.techcrunch.com/2008/07/24/the-real-video-twitter-12secondstv-500-alpha-invites/">TechCrunch link</a></li>
<li><a href="http://solyoung.com/2008/01/22/west-chester-university/">WCU post</a></li>
&#8230;</ul>]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="437" height="370" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="viddler_e8c64b8e" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.viddler.com/player/e8c64b8e/" /><embed id="viddler_e8c64b8e" type="application/x-shockwave-flash" width="437" height="370" src="http://www.viddler.com/player/e8c64b8e/" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>Had an awesome day &#8211; time to share!</p>
<ul>
<li><a href="http://12seconds.tv/channels/solyoung">12seconds.tv/channels/solyoung</a></li>
<li><a href="http://12seconds.tv/channel/solyoung/4396">First 12second introduction</a></li>
<li><a href="http://www.techcrunch.com/2008/07/24/the-real-video-twitter-12secondstv-500-alpha-invites/">TechCrunch link</a></li>
<li><a href="http://solyoung.com/2008/01/22/west-chester-university/">WCU post</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/07/24/what-a-great-day-phillies-software-12seconds-wcu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crossing the streams &#8211; large numbers of Twitter updates</title>
		<link>http://solyoung.com/2008/06/29/crossing-the-streams-large-numbers-of-twitter-updates/</link>
		<comments>http://solyoung.com/2008/06/29/crossing-the-streams-large-numbers-of-twitter-updates/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 14:51:50 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Micro-blogging]]></category>
		<category><![CDATA[Microblogging]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=212</guid>
		<description><![CDATA[<p><img class="alignnone size-full wp-image-213" title="Crossing The Streams" src="http://solyoung.com/wp-content/uploads/2008/06/cross-the-streams.jpg" alt="" width="418" height="319" /></p>
<p>Chris Bilson (<a href="http://twitter.com/cbilson">@cbilson</a>) had a good description regarding my <a href="http://solyoung.com/2008/06/27/twitters-one-to-many-scaling-impossible/">post about Twitter&#8217;s scaling/architecture challenge</a>.</p>
<blockquote><p>&#8220;<span id="msgtxt845097138" class="msgtxt en">Kevin Rose and Leo Laporte tweet at the same time = crossing the streams&#8221;</span></p></blockquote>
<p>I dunno if Proton Packs have exponential load challenges, but the end result for a server can feel similar. Is my post I &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-213" title="Crossing The Streams" src="http://solyoung.com/wp-content/uploads/2008/06/cross-the-streams.jpg" alt="" width="418" height="319" /></p>
<p>Chris Bilson (<a href="http://twitter.com/cbilson">@cbilson</a>) had a good description regarding my <a href="http://solyoung.com/2008/06/27/twitters-one-to-many-scaling-impossible/">post about Twitter&#8217;s scaling/architecture challenge</a>.</p>
<blockquote><p>&#8220;<span id="msgtxt845097138" class="msgtxt en">Kevin Rose and Leo Laporte tweet at the same time = crossing the streams&#8221;</span></p></blockquote>
<p>I dunno if Proton Packs have exponential load challenges, but the end result for a server can feel similar. Is my post I pointed out that Twitter has to determine delivery options and potentially deliver between 100 million and 1 billion updates per day.</p>
<p>But that&#8217;s in a day. 1 billion messages in a day are a piece of cake when spread over 24 hours. What if 1 billion messages have to be delivered in an hour? Or all at once?</p>
<p>Take my list of the top-10 Twitter accounts and imagine them all at TED, WWDC, Google I/O, or your local unconference. These ten users, if each sends an update around the same time create 321,928 messages that need delivery (total number of followers for top-10 accounts). This is an awesome amount of message delivery. If those ten users live-blog or get conversational and send ten updates in an hour&#8230; 3,219,280 (again, that&#8217;s from only 10 users).</p>
<p>I don&#8217;t illustrate this to state it&#8217;s these power user&#8217;s fault. Absolutely the opposite. They&#8217;re generating amazing amounts of traffic, which is a wonderful thing, and the algorithms are the problem.</p>
<p>It&#8217;s possible to optimize algorithms and modify systems for maximum performance. I bring up Twitter&#8217;s challenges because I&#8217;m wondering if this is a challenge beyond present day computing.</p>
<p>To open some minds, here&#8217;s an impossibility often overlooked: <a href="http://www.worsleyschool.net/science/files/deck/ofcards.html">Huge numbers in a deck of cards</a> (just to show impossibilities can stem from small initial numbers).</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/06/29/crossing-the-streams-large-numbers-of-twitter-updates/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Twitter&#8217;s one-to-many scaling impossible?</title>
		<link>http://solyoung.com/2008/06/27/twitters-one-to-many-scaling-impossible/</link>
		<comments>http://solyoung.com/2008/06/27/twitters-one-to-many-scaling-impossible/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 13:17:48 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[Micro-blogging]]></category>
		<category><![CDATA[Microblogging]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[XMPP]]></category>

		<guid isPermaLink="false">http://solyoung.com/?p=209</guid>
		<description><![CDATA[<p><img class="alignnone size-full wp-image-210" title="Twitter Exponential" src="http://solyoung.com/wp-content/uploads/2008/06/twitterexponential.gif" alt="" width="312" height="197" /></p>
<p>Twitter has been having all kinds of scaling challenges. There have been hundreds, if not thousands, of posts on the subject. Dave Winer pushed an idea for <a href="http://www.scripting.com/stories/2008/01/16/aDecentralizedTwitter.html">a decentralized Twitter</a> (and has since admitted the <a href="http://www.scripting.com/stories/2008/05/11/whyDecentralizingTwitterIs.html">power of Twitter is in its centrality</a>). There is a single, simple, reason for Twitter&#8217;s challenges &#8211; Math is &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-210" title="Twitter Exponential" src="http://solyoung.com/wp-content/uploads/2008/06/twitterexponential.gif" alt="" width="312" height="197" /></p>
<p>Twitter has been having all kinds of scaling challenges. There have been hundreds, if not thousands, of posts on the subject. Dave Winer pushed an idea for <a href="http://www.scripting.com/stories/2008/01/16/aDecentralizedTwitter.html">a decentralized Twitter</a> (and has since admitted the <a href="http://www.scripting.com/stories/2008/05/11/whyDecentralizingTwitterIs.html">power of Twitter is in its centrality</a>). There is a single, simple, reason for Twitter&#8217;s challenges &#8211; Math is against them.</p>
<p>The facility of communication on the Twitter service is absolutely outstanding. I&#8217;ve written extensively about using it to receive an amazing amount of quality information in my series on <a href="http://solyoung.com/?s=flow"><em>flow</em></a>.</p>
<p>I originally questioned the scaling ability of the service prior to SXSW, but when <a href="http://eastcoastblogging.com/2008/03/08/2-days-of-sxsw-twitter-going-strong/">the service held up</a> I went back to the drawing board to make sure my numbers were correct.</p>
<p>Before continuing, let&#8217;s establish the basics about the service so the math will make sense&#8230;</p>
<ul>
<li>Each Twitter account can follow any other Twitter account (bear with me and forget those accounts with private updates).</li>
<li>Messages travel in one direction, from the updater to the follower.</li>
<li>Each account has updates from other accounts it follows placed in its timeline.</li>
<li>A Twitter account can selectively receive pushed updates immediately via instant messenger and SMS in addition to having an update added to its timeline.</li>
<li>An update added to an account&#8217;s timeline may or may not be push based (lets assume it&#8217;s demand driven, or pull based).</li>
<li>An update sent to an account from an account denoted as SMS or IM announcement is push based (there is no other way to send an update &#8211; it must be actively pushed from the server).</li>
<li>The mere possibility of an update needing to be pushed requires the system to check with each follower&#8217;s settings, thus requiring analysis of each follower for each update.</li>
</ul>
<h3>A warm-up equation</h3>
<p>If there are one hundred (100) users and each user follows ten (10) fellow users, and each user sends ten (10) updates per day, assuming all updates are push-based, how many updates are sent?</p>
<p><span id="more-209"></span>The answer is 10,000 &#8211; each sent update (100 users x 10 updates) is forked out to 10 followers who have requested push updates. This is a <em>very</em> large number of updates to send out via SMS or IM compared to the base of users.</p>
<p><em><strong>A very important fact: It doesn&#8217;t matter if a user follows with the intention of receiving an SMS or IM update. The possibility of an updating needing to be pushed requires Twitter to examine every follower when an update is received.</strong></em></p>
<p>From 1999 to 2004 I worked as a software engineer at Mplayer (who then changed names to HearMe, who then sold their video technology to LIvVE, who then was bought by GameSpy).</p>
<p>As with any chat room, the scaling is similar to Twitter. We had to restrict rooms to 500 users (and had insanely reduced reliability as we approached 500). As shown with the warm-up, each message is forked out to every user. We capped at 500 in a chat room because each user in a room contributes some amount of messages, and therefore as users join a room the traffic grows <em>exponentially</em>.</p>
<h3>Official and unofficial numbers</h3>
<p>According to Twitter&#8217;s <a href="http://blog.twitter.com/2008/02/twitter-stat-relationship-distribution.html">blog post with stats</a>, 50% of the Twitter population has 10 followers. 10% of users have 80 or more followers. According to <a href="http://www.techcrunch.com/2008/04/29/end-of-speculation-the-real-twitter-usage-numbers/">TechCrunch&#8217;s research</a> there were 200,000 active users posting 3,000,000 updates per day (as of the end of April 2008). The average Twitter user posts 15 updates per day (3,000,000 divided by 200,000 = 15).</p>
<p>We&#8217;ll use Twitter&#8217;s percentages in their <a href="http://blog.twitter.com/2008/02/twitter-stat-relationship-distribution.html">blog post</a> and combine them with <a href="http://www.techcrunch.com/2008/04/29/end-of-speculation-the-real-twitter-usage-numbers/">TechCrunch&#8217;s numbers</a>. From this, we know there are 100,000 daily users with 10 followers and there are 20,000 people with 80 or more followers. To keep things simple, we&#8217;ll leave the other 80,000 daily users out of the equation for now.</p>
<ul>
<li>100,000 users x 15 updates per day x 10 followers = 15,000,000</li>
<li>20,000 users x 15 updates per day x 80 followers = 24,000,000</li>
</ul>
<p>For laughs, let&#8217;s put in the <a href="http://twitterholic.com">top 10 Twitter accounts</a> with the most followers (<a href="http://scobleizer.com/2008/05/30/twitter-blames-its-users/">beware, there were fights over this</a>).</p>
<ol>
<li>Kevin Rose x 15 updates per day x 46,646 followers = 699,690</li>
<li>Leo Laporte x 15 updates per day x 44,948 followers = 674,220</li>
<li>Barack Obama x 15 updates per day x 42,201 followers = 633,015</li>
<li>Alex Albrecht x 15 updates per day x 30,348 followers = 455,220</li>
<li>Jason Calacanis x 15 updates per day x 28,773 followers = 431,595</li>
<li>Robert Scoble x 15 updates per day x 28,037 followers = 420,555</li>
<li>Mars Phoenix (rover) x 15 updates per day x 26,828 followers = 402,420</li>
<li>Veronica x 15 updates per day x 26,199 followers = 392,985</li>
<li>John C. Dvorak x 15 updates per day x 24,102 followers = 361,530</li>
<li>MacRumors x 15 updates per day x 23,846 followers = 357,690</li>
</ol>
<p>Total of average users + top 10: 43,828,920 updates delivered per day.</p>
<p>And that&#8217;s half of the Twitter user base, mixed with a tiny fraction of the users who have large number of followers. Realistically, my estimate above is less than 10% of actual traffic because I&#8217;ve left out the 40% and have not included the thousands of highly popular users with more than 80 followers. Additionally, the number of followers for the people in the top-10 has grown between 50 and 100 percent since the end of April! (<a href="http://twitterholic.com">Twitterholic</a>)</p>
<p>This puts Twitter&#8217;s actual message analysis and possible delivery between 100,000,000 and 1,000,000,000 per day.</p>
<p>This also does not include a single page view or web service call to their servers. Those alone account for a <em>huge</em> amount of Twitter&#8217;s traffic.</p>
<h3>Compared to IM traffic</h3>
<p><a href="http://http://blogs.zdnet.com/ITFacts/?p=8425">Back in 2005</a> (ZDNet) there were 13.9 billion instant messages sent per day, with estimates of quadrupled traffic by 2009 (46.5 billion). Instant messaging is divided up among a few primary services and IMs are one-to-one. <a href="http://en.wikipedia.org/wiki/Instant_messaging">According to Wikipedia</a>, AOL AIM has 53 million users. If Twitter became as widely used as AIM, it would grow 265 times (53,000,000 divided by 200,000).</p>
<p>Take our findings for the number of delivered (or analyzed) updates on Twitter and multiply by this growth and you find Twitter has to be capable of delivering between 26.5 billion and 265 billion updates (probably much closer to the latter).</p>
<h3>How can Twitter scale?</h3>
<p>Decentralized XMPP is probably the answer, but I don&#8217;t really know. I can see the problem though. If they grow to having one million daily users, they have between 500 million and 5 billion messages to deliver. If they grow as popular and as relied upon as AIM, they&#8217;re staring straight in to their own exponential order of magnitude.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/06/27/twitters-one-to-many-scaling-impossible/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mobile Phone GPS &#8211; Where are we going?</title>
		<link>http://solyoung.com/2008/06/22/mobile-phone-gps-where-are-we-going/</link>
		<comments>http://solyoung.com/2008/06/22/mobile-phone-gps-where-are-we-going/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 03:33:08 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Bold]]></category>
		<category><![CDATA[Etiquette]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone 3G]]></category>
		<category><![CDATA[Jaiku]]></category>
		<category><![CDATA[Life Streaming]]></category>
		<category><![CDATA[Micro-blogging]]></category>
		<category><![CDATA[Microblogging]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Pownce]]></category>
		<category><![CDATA[Prediction]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Wearing]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/06/22/mobile-phone-gps-where-are-we-going/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/06/bberrygps.png" alt="BlackBerry 8800 GPS" height="411" width="450" /></p>
<p>Most smartphones slated for release over the next 12-months include a GPS receiver, built in. After that, it will be a marked failure to <em>not</em> include a GPS in a phone. The functionality that comes with GPS is outstanding &#8211; mapping, directions, location based experiences, etc. We&#8217;re about to enter an age of advancement in &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/06/bberrygps.png" alt="BlackBerry 8800 GPS" height="411" width="450" /></p>
<p>Most smartphones slated for release over the next 12-months include a GPS receiver, built in. After that, it will be a marked failure to <em>not</em> include a GPS in a phone. The functionality that comes with GPS is outstanding &#8211; mapping, directions, location based experiences, etc. We&#8217;re about to enter an age of advancement in technological capabilities that we&#8217;re just beginning to imagine.</p>
<p>Consumers are moving to smartphones. The hottest smartphones (<a href="http://www.apple.com/iphone/">iPhone 3G</a>, <a href="http://www.blackberry.com/blackberrybold/">BlackBerry Bold 9000</a>, most of <a href="http://www.nokiausa.com/A4409001">Nokia&#8217;s Symbian</a> and <a href="http://www.htc.com/www/default.aspx">HTC&#8217;s Windows Mobile</a> offerings) <em>all</em> include GPS and an exposed API for developing applications utilizing their hardware. Anything people can conceive of for location based mashups will be coming (more on these mashups in later posts)&#8230;</p>
<p><img src="http://www.blackberrytracker.com/img/track_history.png" alt="trackinghistory" height="225" width="447" /></p>
<p>Here&#8217;s a first application&#8230;</p>
<p>BlackBerry is a leader in mobile phone GPS. Recently a few services that announce the location of one&#8217;s phone emerged. Initially these were billed as a sort of low-jack for one&#8217;s phone, a security service for the insecure (or those who want to spy on their kids, etc).</p>
<p>I decided to try a few of these. Most felt slimy, like, &#8220;<em>you always know where your phone is, and you could also know where your wife is!</em>&#8221; &#8230; I don&#8217;t know about you, but my phone is loyal and doesn&#8217;t run off with strangers&#8230; And I trust my wife far more than a phone.</p>
<p>My goal with trying these services was to mash Twitter, Pownce, Facebook, and other social networking services with my location. Such a mashup will allow me to share my real-time location with all friends. I came across <a href="http://www.blackberrytracker.com">BlackberryTracker.com</a>. Much like the others, the idea is to provide <em>you</em> with the location of <em>your</em> phone. However, they have something the other&#8217;s don&#8217;t&#8230; Facebook and Google Earth integration (as well as a <a href="http://wiki.tech9computers.com/index.php/Main_Page#Blackberry_Tracker_Development" title="BlackberryTracker API">drop-dead-simple semi-RESTful API</a>).</p>
<p>Friends can pinpoint me down to the meter on my <a href="http://www.facebook.com/profile.php?id=604231141" title="my facebook profile">Facebook profile</a>, updated every 30 seconds. To be honest, it feels strange to openly publish this data. Security, and lack thereof, has us believing we shouldn&#8217;t share such information. But this fear is caused by the exception and not the rule. And in reality, my location in public isn&#8217;t private. Additionally, there are laws and common courtesies we live by, and I trust that people are inherently good.</p>
<p>Soon these services will be in the mainstream. Everyone will be able to pinpoint the location of anyone. Let me emphasize that&#8230; Soon <em>everyone will be able to pinpoint the location of anyone</em>. Not publishing your location will be like not having a mobile phone.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/06/22/mobile-phone-gps-where-are-we-going/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iofy digital audiobook platform acquired by Ingram Digital</title>
		<link>http://solyoung.com/2008/05/29/iofy-digital-audiobook-platform-acquired-by-ingram-digital/</link>
		<comments>http://solyoung.com/2008/05/29/iofy-digital-audiobook-platform-acquired-by-ingram-digital/#comments</comments>
		<pubDate>Thu, 29 May 2008 12:48:15 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Audiobooks]]></category>
		<category><![CDATA[Ingram Digital]]></category>
		<category><![CDATA[iofy]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/05/29/iofy-digital-audiobook-platform-acquired-by-ingram-digital/</guid>
		<description><![CDATA[<p style="font-size: 16px; line-height: 20.8px"><a href="http://ingramdigital.com/index.php" style="font-size: 16px; line-height: 20.8px"><img src="http://www.ingramdigital.com/templates/idv_files/images/header_logo.gif" style="font-size: 16px; line-height: 20.8px" border="0" height="62" width="336" /></a></p>
<blockquote>
<p style="font-size: 16px; line-height: 20.8px"><em>&#8220;Ingram Digital, an Ingram Content company focused on solutions for digital content management, hosting, distribution and promotion, today announced it has acquired the iofy digital audiobook platform from Audiofy Corporation.&#8221;</em></p>
</blockquote>
<p style="font-size: 16px; line-height: 20.8px">It&#8217;s <a href="http://ingramdigital.com/index.php?option=com_idvnews&#38;id=74" style="font-size: 16px; line-height: 20.8px" title="Link to press release">official</a>. As described in the <a href="http://ingramdigital.com/index.php?option=com_idvnews&#38;id=74" title="Link to press release">press release</a>, the iofy digital audiobook platform is now part of Ingram Digital. I&#8217;m happy about this &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p style="font-size: 16px; line-height: 20.8px"><a href="http://ingramdigital.com/index.php" style="font-size: 16px; line-height: 20.8px"><img src="http://www.ingramdigital.com/templates/idv_files/images/header_logo.gif" style="font-size: 16px; line-height: 20.8px" border="0" height="62" width="336" /></a></p>
<blockquote>
<p style="font-size: 16px; line-height: 20.8px"><em>&#8220;Ingram Digital, an Ingram Content company focused on solutions for digital content management, hosting, distribution and promotion, today announced it has acquired the iofy digital audiobook platform from Audiofy Corporation.&#8221;</em></p>
</blockquote>
<p style="font-size: 16px; line-height: 20.8px">It&#8217;s <a href="http://ingramdigital.com/index.php?option=com_idvnews&amp;id=74" style="font-size: 16px; line-height: 20.8px" title="Link to press release">official</a>. As described in the <a href="http://ingramdigital.com/index.php?option=com_idvnews&amp;id=74" title="Link to press release">press release</a>, the iofy digital audiobook platform is now part of Ingram Digital. I&#8217;m happy about this move. This is the iofy development team I lead and I&#8217;m confident our acquisition will bring incredible value and additional ingenuity. We&#8217;ll now be building something amazing, which iofy wouldn&#8217;t have had the resources for on its own.</p>
<p style="font-size: 16px; line-height: 20.8px">Other than some title changes, the team and focus are unchanged. <a href="http://www.cartwrightreed.com" title="Link to Cartwright Reed's blog">Cartwright Reed</a>, iofy&#8217;s President, is now in the role of Vice President of Product Development at Ingram Digital. My team is continuing the charge to build the best audiobook platform available (look for continued web service goodness).</p>
<p style="font-size: 16px; line-height: 20.8px">The culture at both companies is driven by growth, creativity, and building solutions. I&#8217;ve had only positive experiences working with the folks at Ingram. They&#8217;re great people, and we&#8217;re looking forward to being part of an Ingram company.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/05/29/iofy-digital-audiobook-platform-acquired-by-ingram-digital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to virtualize Windows on an Ubuntu host for an optimized dev / qa environment</title>
		<link>http://solyoung.com/2008/05/11/how-to-virtualize-windows-on-an-ubuntu-host-for-an-optimized-dev-qa-environment/</link>
		<comments>http://solyoung.com/2008/05/11/how-to-virtualize-windows-on-an-ubuntu-host-for-an-optimized-dev-qa-environment/#comments</comments>
		<pubDate>Sun, 11 May 2008 05:37:50 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Xubuntu]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/05/11/how-to-virtualize-windows-on-an-ubuntu-host-for-an-optimized-dev-qa-environment/</guid>
		<description><![CDATA[<p> <img src="http://solyoung.com/wp-content/uploads/2008/05/ubu-xu-dows.png" alt="Ubu-Xu-dows" height="278" width="359" /></p>
<p align="left">After converting my MacBook Pro in to a <a href="http://solyoung.com/2008/02/17/the-macpc-devqa-environment/" title="Mac/PC Dev/QA Environment">Windows developer dream</a>, I wanted to have the same experience on a more portable, commodity hardware unit. Virtualizing Windows within Windows with VMware Server is something I&#8217;m familiar with. It&#8217;s something many Windows developers may prefer (and I recommend if you&#8217;re not comfy with linux &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p> <img src="http://solyoung.com/wp-content/uploads/2008/05/ubu-xu-dows.png" alt="Ubu-Xu-dows" height="278" width="359" /></p>
<p align="left">After converting my MacBook Pro in to a <a href="http://solyoung.com/2008/02/17/the-macpc-devqa-environment/" title="Mac/PC Dev/QA Environment">Windows developer dream</a>, I wanted to have the same experience on a more portable, commodity hardware unit. Virtualizing Windows within Windows with VMware Server is something I&#8217;m familiar with. It&#8217;s something many Windows developers may prefer (and I recommend if you&#8217;re not comfy with linux as your host OS).</p>
<p>Quick background: Virtualizing a development/qa environment allows one to have an easily cleaned control environment. When a machine gets dirty (too many installs, tests, builds, or other garbage collects), you can simply delete the virtual instance and copy a fresh installation back over. This saves a ton of time. In dev, this allows a safe, clean, environment to test builds in. In a QA environment, this allows a very fast way to return to a known state.</p>
<p>My goal in a virtualized dev/qa environment is to run a host which consumes an absolute minimum amount of resources. I run virtualization software that allows more than one running VM at a time, such as VMware Workstation (PC), VMware Fusion (Mac), or VMware Server (PC or Linux). If you&#8217;re running Windows as your host OS, I recommend Windows 2000 Advanced Server because it is tunable to consume less resources than any other flavor of Windows (including Windows 2000 Professional).</p>
<p>Given that Linux runs on wrist-watch sized systems, it&#8217;s a safe assumption that one will get better performance from virtual machines than on a virtualized Windows environment. I chose Ubuntu since it&#8217;s super simple to install, is fairly reliable, offers similar features to Windows, and is still a smaller footprint my Win2kAS machines.</p>
<p>I started with version 8.04 desktop (hardy). The installation was a piece of cake, but there are no tuning options in the basic .iso. I installed VMware Server, but just while running the OS I could tell I would run in to performance issues later. The desktop flavor of Ubuntu isn&#8217;t light enough to pass all the processing power through to the VMs.</p>
<h3>Instructions</h3>
<p><span id="more-174"></span>1. Install <a href="http://www.ubuntu.com/getubuntu/download" title="Link to Ubuntu download page">Ubuntu Server 8.04</a> &#8211; For those of you doing this for the first time and are coming from a Windows environment, you should use the following disk setup (assuming you have a single hard drive):</p>
<ul>
<li>20 GB EXT3 partition, set as boot (&#8220;/&#8221;).</li>
<li>2 GB SWAP.</li>
<li>remaining space, set up for home (&#8220;/home&#8221;).</li>
</ul>
<p>2. Install Xubuntu with apt-get &#8211; Ubuntu Server doesn&#8217;t have a UI. Ubuntu Desktop is too heavy. Xfce is an outstanding light GUI desktop alternative. To get this installed:</p>
<ol>
<li>Boot up your now Ubuntu Server machine.</li>
<li>You will land at the command prompt, type &#8220;sudo apt-get install xubuntu-desktop&#8221; (without the quotes).</li>
<li>Enter your password to grant privledges to download/install the Xfce GUI. It will take a while to download as the Xubuntu install is about 300 MB.</li>
<li>Reboot when ready, you&#8217;ll boot in to Xubuntu.</li>
<li>At the login prompt, choose to change the type of GUI you&#8217;re logging in to. Select Xfce.</li>
</ol>
<p>3. Install <a href="http://vmware.com/products/server/" title="Link to VMware Server product">VMware Server</a> (as of this writing, server 2.0 is in beta and not recommended for a performance environment &#8211; stick to 1.0.x) &#8211; This was a total pain in the butt my first time around. I hope my instructions here allow you a fairly pain-free installation. Additional resources <a href="http://howtoforge.com/ubuntu_vmware_server" title="Link to Ubuntu VMware Server article on HowToForge.com">here</a>, <a href="http://czarism.com/easy-peasy-vmwareplayer-vmplayer-ubuntu-hardy-804" title="Link to a hardy desktop VMware help page">here</a>, and <a href="http://ubuntuforums.org/showthread.php?t=183209" title="Link to fix-it page for the problems during the installation.">here</a>.</p>
<ol>
<li>Open Firefox, available as a shortcut at the top of the screen.</li>
<li>Download VMware Server here: <a href="http://vmware.com/products/server/">http://vmware.com/products/server/ </a></li>
<li>It is now on your desktop, go to the Applications button at the top left and choose Accessories -&gt; Terminal to open a terminal.</li>
<li>Type &#8220;cd Desktop&#8221; to move to your desktop.</li>
<li>Unpack the archive. Type &#8220;tar -xvf vmware[TAB]&#8221; (hit the tab key to complete the filename).</li>
<li>Move in to your VMware folder. Type &#8220;cd vmware[TAB]&#8220;.</li>
<li>Visit the &#8216;here, here, and here&#8217; links above for all the resources you&#8217;ll need to get past the now-known errors you&#8217;ll run in to.</li>
</ol>
<p>4. Copy VM instances from other systems &#8211; I use VMware Fusion on my Mac and VMware Workstation on a PC (haven&#8217;t used Workstation in a while). You can create instances in either of these products and then just copy them over to your Ubuntu system. Tips:</p>
<ul>
<li>Keep the fresh install VM instances as they are and make copies. You can now just drop in a copy of the fresh install so you don&#8217;t have to ever re-install the OS again.</li>
<li>Install your dev and/or qa environment. Make a snapshot <strong><em>NOW</em></strong>. You can now revert to this snapshot immediately, whenever you want. Fresh, known, starting point: <em>viola!</em></li>
</ul>
<p>5. Tweak your VMware instance settings:</p>
<ul>
<li>Leave your host OS enough RAM to be comfortable. Give each VM as much as it needs.</li>
<li>Disable 3D acceleration unless you absolutely need it in the VM for testing 3D. This is a resource hog.</li>
<li>If your PC is multi-core, only give the VM 1 CPU (unless you need to test multi-core software).</li>
</ul>
<p>6. Dev and QA to your heart&#8217;s content &#8211; You&#8217;re now free to revert, take snapshots, and otherwise manipulate your OS without the fear and wasted time of reinstallation. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/05/11/how-to-virtualize-windows-on-an-ubuntu-host-for-an-optimized-dev-qa-environment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Teaching class classes for PHP development &#8211; Rock Band Example</title>
		<link>http://solyoung.com/2008/04/09/teaching-class-classes-for-php-development/</link>
		<comments>http://solyoung.com/2008/04/09/teaching-class-classes-for-php-development/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 05:00:30 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/04/09/teaching-class-classes-for-php-development/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/04/phpclasses.png" alt="PHP classes" height="78" width="334" /></p>
<p>Object-Oriented Programming (OO or OOP) is the best way to have re-usable, sharable, less-bug-ridden, easily readable, easier to debug, and easier-to-pick-up-later professionally written software.</p>
<p>&#8220;Learning classes&#8221; is the functional way to describe learning object-oriented programming. One skill begets the other. When in college my professor played a video of a band playing music. The band &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/04/phpclasses.png" alt="PHP classes" height="78" width="334" /></p>
<p>Object-Oriented Programming (OO or OOP) is the best way to have re-usable, sharable, less-bug-ridden, easily readable, easier to debug, and easier-to-pick-up-later professionally written software.</p>
<p>&#8220;Learning classes&#8221; is the functional way to describe learning object-oriented programming. One skill begets the other. When in college my professor played a video of a band playing music. The band represented a program, and each musician represented a class.</p>
<p>I hope that&#8217;s not how it&#8217;s described nowadays for comp-sci peeps because it&#8217;s a completely backwards way to learn it. It is backwards because you&#8217;re already looking at a finished product. To understand OO and classes, think in terms of small portions. Then grow from there.</p>
<p>To give an example of how to build out a class, let&#8217;s build a musician or <em>rocker</em> since we&#8217;ve been on a <a href="http://www.cartwrightreed.com/2008/01/rock-band-and-t.html" title="Link to Cartwright Reed's blog">Rock Band kick</a>.</p>
<h5><em>Before continuing, this assumes you&#8217;ve written some PHP &#8211; including at least making a function or two&#8230;</em></h5>
<p>.</p>
<p>Now, what does a rocker have?</p>
<ul>
<li>Name</li>
<li>Gender (probably)</li>
<li>Instrument</li>
<li>Talent Level</li>
</ul>
<p>These will be the variables we put in our Rocker class, here&#8217;s the code to support us&#8230;</p>
<p><font color="#ff00ff">&lt;?php</font></p>
<p><font color="#ff00ff">class</font> Rocker {<br />
<font color="#339966">// OOP classes are usually capitalized. Good form.</font><br />
<font color="#ff00ff">var</font> $name;<br />
<font color="#ff00ff">var</font> $gender;<br />
<font color="#ff00ff">var</font> $instrument;<br />
<font color="#ff00ff">var</font> $talentLevel;<br />
}<br />
<font color="#ff00ff">?&gt;</font></p>
<p>&#8230;<br />
<span id="more-155"></span><br />
We need to be able to set and get the above information from our Rocker class, so we add some functions in there (&#8216;setters&#8217; and &#8216;getters&#8217;)&#8230;</p>
<p><font color="#ff00ff">&lt;?php</font></p>
<p><font color="#ff00ff">class</font> Rocker {<br />
&#8230;</p>
<p><font color="#339966">  // Functions (methods) should start as lowercase and then use uppercase to separate words<br />
// (also known as camelCase)<br />
</font><font color="#ff00ff">  function</font> setName($inName) {<br />
$this-&gt;name=$inName;<br />
}<br />
<font color="#ff00ff">  function</font> setGender($inGender) {<br />
$this-&gt;gender=$inGender;<br />
}<br />
<font color="#ff00ff">  function</font> setInstrument($inInstrument) {<br />
$this-&gt;instrument=$inInstrument;<br />
}<br />
<font color="#ff00ff">  function</font> setTalentLevel($inLevel) {<br />
$this-&gt;talentLevel=$inLevel;<br />
}</p>
<p><font color="#ff00ff">  function</font> getName() {<br />
return $this-&gt;name;<br />
}<br />
<font color="#ff00ff">  function</font> getGender() {<br />
return $this-&gt;gender;<br />
}<br />
<font color="#ff00ff">  function</font> getInstrument() {<br />
return $this-&gt;instrument;<br />
}<br />
<font color="#ff00ff">  function</font> getTalentLevel() {<br />
return $this-&gt;talentLevel;<br />
}<br />
}<br />
<font color="#ff00ff">?&gt;</font></p>
<p>Now we have a Rocker for which we can set and retrieve attributes. The Rocker class still doesn&#8217;t <em>do</em> anything. We can very easily add some functions to the class which <em>do </em>stuff&#8230;</p>
<p><font color="#ff00ff">&lt;?php</font></p>
<p><font color="#ff00ff">class</font> Rocker {</p>
<p>&#8230;<br />
<font color="#ff00ff">    function</font> play() {<br />
<font color="#339966">    // you write this code&#8230;<br />
</font>  }</p>
<p><font color="#ff00ff">  function</font> sing() {<br />
<font color="#339966">    // you write this code&#8230;<br />
</font>  }</p>
<p><font color="#ff00ff">  function</font> perform() {<br />
this-&gt;play();<br />
this-&gt;sing();<br />
}<br />
}<br />
<font color="#ff00ff">?&gt;</font></p>
<p>You now have a basic Rocker class. You could use it as an object within a Band class or you could use it on its own. A quick example to create my Rocker and make me play&#8230;</p>
<p><font color="#ff00ff">&lt;?php</font><br />
$sol = Rocker();<br />
$sol-&gt;setName(<font color="#0000ff">&#8216;Sol&#8217;</font>);<br />
$sol-&gt;setGender(<font color="#0000ff">&#8216;Male&#8217;</font>);<br />
$sol-&gt;setInstrument(<font color="#0000ff">&#8216;Drums&#8217;</font>);<br />
$sol-&gt;setTalentLevel(<font color="#0000ff">&#8217;31334&#8242;</font>);<br />
$sol-&gt;perform();<br />
<font color="#ff00ff">?&gt;</font></p>
<p>&#8230;</p>
<p>This may seem confusing, or even useless, since it really has nothing to do with web development. So let&#8217;s switch the term &#8220;Rocker&#8221; to &#8220;PageTemplate&#8221;, and switch up the functions so they&#8217;re actually useful&#8230;</p>
<p><font color="#ff00ff">&lt;?php</font></p>
<p><font color="#ff00ff">class</font> PageTemplate {</p>
<p><font color="#ff00ff">  function</font> getIPAddress() {<br />
<font color="#ff00ff">    return</font> $_SERVER[<font color="#0000ff">'REMOTE_ADDR'</font>];<br />
}</p>
<p><font color="#ff00ff">  function</font> makeTop($title) {<br />
<font color="#ff00ff">    print</font> <font color="#0000ff">&#8216;HTML that makes up the top of a web page goes here, allowing for a custom $title&#8217;</font>;<br />
}</p>
<p><font color="#ff00ff">  function</font> makeBottom() {<br />
<font color="#ff00ff">    print</font> <font color="#0000ff">&#8216;HTML that closes the page&#8217;</font>;<br />
}<br />
}<br />
<font color="#ff00ff">?&gt;</font></p>
<p>With the above class, you could easily make a What&#8217;s My IP page with just a few lines of code:</p>
<p><font color="#ff00ff">&lt;?php<br />
require</font> <font color="#0000ff">&#8216;pageTemplate.php&#8217;</font>;</p>
<p>$page = PageTemplate();<br />
$page-&gt;makeTop(<font color="#0000ff">&#8216;sample title&#8217;</font>);<br />
printf(<font color="#0000ff">&#8216;our IP address is: %s&#8217;</font>, $page-&gt;getIPAddress());<br />
$page-&gt;makeBottom();</p>
<p><font color="#ff00ff">?&gt;</font></p>
<p>I recommend checking out this entry on devarticles.com: <a href="http://www.devarticles.com/c/a/PHP/Object-Oriented-Programming-in-PHP/" title="Object Oriented Programming in PHP">Object Oriented Programming in PHP</a>.</p>
<p>Any questions, don&#8217;t hesitate to ask&#8230; <a href="mailto:randomblogaddress31@solyoung.com">randomblogaddress31</a><a href="mailto:randomblogaddress31@solyoung.com">@solyoung.com</a> or @<a href="http://twitter.com/sol" title="Follow me on Twitter">sol</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/04/09/teaching-class-classes-for-php-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flow &#8211; Day 9 &#8211; I switched to iChat for Twitter XMPP</title>
		<link>http://solyoung.com/2008/04/01/flow-day-9-i-switched-to-ichat-for-twitter-xmpp/</link>
		<comments>http://solyoung.com/2008/04/01/flow-day-9-i-switched-to-ichat-for-twitter-xmpp/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 04:00:37 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[iChat]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Prediction]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[XMPP]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/04/01/flow-day-9-i-switched-to-ichat-for-twitter-xmpp/</guid>
		<description><![CDATA[<h5><img src="http://solyoung.com/wp-content/uploads/2008/04/ichatcount366.png" alt="iChat Count" align="absmiddle" height="122" width="118" /><em> 386 &#8211; 7 minutes</em></h5>
<p>:</p>
<p>When following a lot of friends in a <em>flow</em> environment and using XMPP, one sees the above numbers in less than ten minutes. I&#8217;d been using Adium, but Adium doesn&#8217;t smooth scroll between each received tweet. It constantly jerks messages upwards and has made it virtually impossible to have a &#8230;</p>]]></description>
			<content:encoded><![CDATA[<h5><img src="http://solyoung.com/wp-content/uploads/2008/04/ichatcount366.png" alt="iChat Count" align="absmiddle" height="122" width="118" /><em> 386 &#8211; 7 minutes</em></h5>
<p>:</p>
<p>When following a lot of friends in a <em>flow</em> environment and using XMPP, one sees the above numbers in less than ten minutes. I&#8217;d been using Adium, but Adium doesn&#8217;t smooth scroll between each received tweet. It constantly jerks messages upwards and has made it virtually impossible to have a meaningful experience. There are often times when I want to read each incoming tweet. A good, smooth, reading experience was needed.</p>
<p>iChat has a slightly smoother hit at each received message, and is therefore much more enjoyable to read. The interface is customizable enough, but nothing quite as nice as some of Adium&#8217;s minimal themes.</p>
<p>I was mostly hesitant to switch since Adium has outstanding AppleScript support. I&#8217;ve been thinking of prototyping something (given a couple hours &#8211; someday). Apparently iChat has something even better which I should have known about&#8230; Callbacks! A script can fire for each received message.</p>
<p>This will make dynamic, real-time, filtering a reality.</p>
<p><img src="http://solyoung.com/wp-content/uploads/2008/04/ichatapplescript.png" alt="iChat AppleScript" height="257" width="450" /></p>
<p>The start of something very cool&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/04/01/flow-day-9-i-switched-to-ichat-for-twitter-xmpp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#8216;Flow&#8217; &#8211; day 7 &#8211; My Twitter thousands</title>
		<link>http://solyoung.com/2008/03/30/flow-day-7-my-twitter-thousands/</link>
		<comments>http://solyoung.com/2008/03/30/flow-day-7-my-twitter-thousands/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 16:56:00 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[iofy]]></category>
		<category><![CDATA[Prediction]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[XMPP]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/03/30/flow-day-7-my-twitter-thousands/</guid>
		<description><![CDATA[<p>Day 7 &#8211; The <em>flow</em> rises, but as it gets faster I just want more&#8230; I wonder what <a href="http://scobleizer.com/2008/03/23/the-secret-to-twitter/">Scoble</a>&#8216;s <em>flow</em> is like&#8230;</p>
<p>Here are my previous <em>flow</em> entries so you&#8217;re up to speed:</p>
<ul>
<li><a href="http://solyoung.com/2008/03/24/scobles-secret-to-twitter-i-call-it-flow/">Day 1</a></li>
<li><a href="http://solyoung.com/2008/03/25/flow-day-2/">Day 2</a></li>
<li><a href="http://solyoung.com/2008/03/26/flow-day-3-the-volume-is-up/">Day 3</a></li>
<li><a href="http://solyoung.com/2008/03/27/twitter-flow-day-4-application-ideas-and-metrics/">Day 4</a></li>
<li><a href="http://solyoung.com/2008/03/28/this-mornings-bugs-with-getting-in-to-the-flow-starting-day-5/">Day 5</a></li>
<li><strike>Day 6</strike> (no post)<strike><br />
</strike></li>
</ul>
<p><img src="http://solyoung.com/wp-content/uploads/2008/03/volcano-magma.jpg" alt="Volcano Magma" /></p>
<p>I&#8217;m visiting my <a href="http://twitter.com/sol/statuses/779293321" title="Twitter update">in-laws</a> this weekend so &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Day 7 &#8211; The <em>flow</em> rises, but as it gets faster I just want more&#8230; I wonder what <a href="http://scobleizer.com/2008/03/23/the-secret-to-twitter/">Scoble</a>&#8216;s <em>flow</em> is like&#8230;</p>
<p>Here are my previous <em>flow</em> entries so you&#8217;re up to speed:</p>
<ul>
<li><a href="http://solyoung.com/2008/03/24/scobles-secret-to-twitter-i-call-it-flow/">Day 1</a></li>
<li><a href="http://solyoung.com/2008/03/25/flow-day-2/">Day 2</a></li>
<li><a href="http://solyoung.com/2008/03/26/flow-day-3-the-volume-is-up/">Day 3</a></li>
<li><a href="http://solyoung.com/2008/03/27/twitter-flow-day-4-application-ideas-and-metrics/">Day 4</a></li>
<li><a href="http://solyoung.com/2008/03/28/this-mornings-bugs-with-getting-in-to-the-flow-starting-day-5/">Day 5</a></li>
<li><strike>Day 6</strike> (no post)<strike><br />
</strike></li>
</ul>
<p><img src="http://solyoung.com/wp-content/uploads/2008/03/volcano-magma.jpg" alt="Volcano Magma" /></p>
<p>I&#8217;m visiting my <a href="http://twitter.com/sol/statuses/779293321" title="Twitter update">in-laws</a> this weekend so haven&#8217;t been spending much time in the <em>flow</em> this weekend. However, even with short stints I&#8217;m finding a recurrent issue. Each day I think I&#8217;m going to hit a maximum number of people I can pay attention to. Each day I&#8217;m proven wrong. There&#8217;s an adaptation that takes place.</p>
<p>I&#8217;m following almost 3,400 and it&#8217;s working very well. I could imagine 5,000 being more than comfortable. Even on a standard IM client, the data <em>flow</em> is manageable. Most IM clients don&#8217;t smooth scroll, so it&#8217;s annoying to have each incoming tweet snap prior tweets upwards.</p>
<p>I&#8217;ve been thinking of the outline for a high-traffic Twitter client spec:</p>
<ul>
<li><a href="http://www.xmpp.org/" title="Link to XMPP.org">XMPP</a> for tweet <em>flow</em>.</li>
<li><a href="http://groups.google.com/group/twitter-development-talk/web/api-documentation" title="Official Twitter API documentation">Web Services</a> harnessed for contact management.</li>
<li>RSS/Atom integration for pulling articles from Twitterer.</li>
<li>Caching of existing Twitter contacts to embed information in to the XMPP traffic.</li>
<li>Search and real-time filtering.</li>
<li>Ability to only show tweets with links.</li>
<li>Additional filters based on: Age of Twitter of account, Location, number of tweets, ratio of following/friends, has non-default avatar, has non-default twitter design&#8230; with real-time color-coding of tweets.</li>
<li>Ability to favorite a tweet that came through XMPP.</li>
<li>Auto-pull of a Twitterer&#8217;s most recent blog entries (requires a scan for RSS feeds on the Twitterer&#8217;s home page, then pulling/parsing those items).</li>
<li>Auto-addition of Twitterer&#8217;s RSS in to Google Reader or other items.</li>
</ul>
<p>With the above, one would have a complete Twitter news-room. One could immediately see what&#8217;s <em>flow</em>ing and have access to a Twitterer&#8217;s additional information. This may be possible with a Flash or Java application, though I&#8217;d prefer a highly portable objective-C or C++ app. Maybe even ported to mobile clients (maybe, maybe).</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/03/30/flow-day-7-my-twitter-thousands/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Installing tile &#8211; real developers do it themselves</title>
		<link>http://solyoung.com/2008/03/23/installing-tile-real-developers-do-it-themselves/</link>
		<comments>http://solyoung.com/2008/03/23/installing-tile-real-developers-do-it-themselves/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 02:10:53 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Hiring]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Real Estate]]></category>
		<category><![CDATA[Remodeling]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/03/23/installing-tile-real-developers-do-it-themselves/</guid>
		<description><![CDATA[<p><a href="http://www.flickr.com/photos/50097800@N00/2350943963/" title="Tiling 19"><img src="http://farm3.static.flickr.com/2158/2350943963_1bcf7e1833_t.jpg" alt="Tiling 19" /></a>  <a href="http://www.flickr.com/photos/50097800@N00/2351505924/" title="Tiling 8"><img src="http://farm3.static.flickr.com/2228/2351505924_f83af7fbf0_t.jpg" alt="Tiling 8" /></a>  <a href="http://www.flickr.com/photos/50097800@N00/2351619404/" title="Tiling 15"><img src="http://farm4.static.flickr.com/3172/2351619404_054eef20e6_t.jpg" alt="Tiling 15" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2350965621/" title="Tiling... Done!"><img src="http://farm4.static.flickr.com/3097/2350965621_b1893513b1_t.jpg" alt="Tiling... Done!" /></a>  <a href="http://www.flickr.com/photos/50097800@N00/2354933026/" title="iFlickr"><img src="http://farm3.static.flickr.com/2151/2354933026_b80d859673_t.jpg" alt="iFlickr" /></a> <a href="http://www.flickr.com/photos/50097800@N00/2356568140/" title="IMG_0444.JPG"><img src="http://farm3.static.flickr.com/2162/2356568140_65611c55ec_t.jpg" alt="IMG_0444.JPG" /></a></p>
<p>This weekend my wife and I got an early start Friday to finish off our bathroom&#8217;s tile. I&#8217;ve been photo-blogging it to <a href="http://flickr.com/photos/solyoung/">Flickr</a> and periodically putting up notes on <a href="http://twitter.com/sol/">Twitter</a>. The last couple weekends have been similar, doing plumbing, floor tile, prep work, etc.</p>
<p>Though there is so much to do (more blog posts, &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/50097800@N00/2350943963/" title="Tiling 19"><img src="http://farm3.static.flickr.com/2158/2350943963_1bcf7e1833_t.jpg" alt="Tiling 19" /></a>  <a href="http://www.flickr.com/photos/50097800@N00/2351505924/" title="Tiling 8"><img src="http://farm3.static.flickr.com/2228/2351505924_f83af7fbf0_t.jpg" alt="Tiling 8" /></a>  <a href="http://www.flickr.com/photos/50097800@N00/2351619404/" title="Tiling 15"><img src="http://farm4.static.flickr.com/3172/2351619404_054eef20e6_t.jpg" alt="Tiling 15" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2350965621/" title="Tiling... Done!"><img src="http://farm4.static.flickr.com/3097/2350965621_b1893513b1_t.jpg" alt="Tiling... Done!" /></a>  <a href="http://www.flickr.com/photos/50097800@N00/2354933026/" title="iFlickr"><img src="http://farm3.static.flickr.com/2151/2354933026_b80d859673_t.jpg" alt="iFlickr" /></a> <a href="http://www.flickr.com/photos/50097800@N00/2356568140/" title="IMG_0444.JPG"><img src="http://farm3.static.flickr.com/2162/2356568140_65611c55ec_t.jpg" alt="IMG_0444.JPG" /></a></p>
<p>This weekend my wife and I got an early start Friday to finish off our bathroom&#8217;s tile. I&#8217;ve been photo-blogging it to <a href="http://flickr.com/photos/solyoung/">Flickr</a> and periodically putting up notes on <a href="http://twitter.com/sol/">Twitter</a>. The last couple weekends have been similar, doing plumbing, floor tile, prep work, etc.</p>
<p>Though there is so much to do (more blog posts, tons of <a href="http://www.iofy.com">iofy</a> priorities, and building in a certain <a href="http://solyoung.com/2008/02/22/blog-integration-of-twitter-starred-items/">web service</a>), this is still satisfying work&#8230; Something everyone 1/2 interested in real estate should do at least once. I&#8217;m a software engineer and dev team manager because I love to build things. I think other developers should feel this way too.</p>
<p>More pics after the jump&#8230;</p>
<p><span id="more-115"></span></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2350309175/" title="Tiling 2"><img src="http://farm3.static.flickr.com/2212/2350309175_86bd285bb7.jpg" alt="Tiling 2" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2350711931/" title="Tiling 10"><img src="http://farm4.static.flickr.com/3095/2350711931_79a5502a01.jpg" alt="Tiling 10" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2351619404/" title="Tiling 15"><img src="http://farm4.static.flickr.com/3172/2351619404_054eef20e6.jpg" alt="Tiling 15" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2350943963/" title="Tiling 19"><img src="http://farm3.static.flickr.com/2158/2350943963_1bcf7e1833.jpg" alt="Tiling 19" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2351746180/" title="Tiling 17"><img src="http://farm3.static.flickr.com/2024/2351746180_b73d4f880b.jpg" alt="Tiling 17" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2354928796/" title="iFlickr"><img src="http://farm3.static.flickr.com/2360/2354928796_5d012190f2.jpg" alt="iFlickr" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2356568140/" title="IMG_0444.JPG"><img src="http://farm3.static.flickr.com/2162/2356568140_65611c55ec.jpg" alt="IMG_0444.JPG" /></a></p>
<p><a href="http://www.flickr.com/photos/50097800@N00/2354937670/" title="iFlickr"><img src="http://farm3.static.flickr.com/2371/2354937670_8b6ceaf2b9.jpg" alt="iFlickr" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/03/23/installing-tile-real-developers-do-it-themselves/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone SDK &#8211; Favorite question in the press Q and A &#8211; Apps easy to get on the iPhone</title>
		<link>http://solyoung.com/2008/03/06/iphone-sdk-favorite-question-in-the-press-q-and-a-apps-easy-to-get-on-the-iphone/</link>
		<comments>http://solyoung.com/2008/03/06/iphone-sdk-favorite-question-in-the-press-q-and-a-apps-easy-to-get-on-the-iphone/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 04:32:25 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iofy]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Prediction]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/03/06/iphone-sdk-favorite-question-in-the-press-q-and-a-apps-easy-to-get-on-the-iphone/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/03/vm_sy140_sx100_.jpg" align="left" height="140" width="99" alt="CHiPs" style="margin : 5px" />I was very pleased by a question in today&#8217;s press Q&#38;A at Apple&#8217;s iPhone SDK release announcement. I <a href="http://solyoung.com/2008/03/03/iphone-sdk-in-development-since-before-wwdc-07/">posted</a> the other day about the iPhone SDK being in development since before WWDC &#8217;07. The question pertained directly to my thoughts, &#8220;Why did you change your mind about the iPhone open SDK? How long will apps &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/03/vm_sy140_sx100_.jpg" align="left" height="140" width="99" alt="CHiPs" style="margin : 5px" />I was very pleased by a question in today&#8217;s press Q&amp;A at Apple&#8217;s iPhone SDK release announcement. I <a href="http://solyoung.com/2008/03/03/iphone-sdk-in-development-since-before-wwdc-07/">posted</a> the other day about the iPhone SDK being in development since before WWDC &#8217;07. The question pertained directly to my thoughts, &#8220;Why did you change your mind about the iPhone open SDK? How long will apps be vetted before being published?&#8221; (actually, two questions).</p>
<p>Steve answered, &#8220;We change our minds a lot. The web apps have worked well, but developers wanted to do more. And we heard that. Creating an SDK is a lot of work, you want to make it something you can live with for 20 years, and yet update it without breaking apps. This is an elegant and clean system.&#8221;</p>
<p>I&#8217;m certain Apple had the SDK in development since before WWDC &#8217;07. As Steve said, it takes a long time to develop an SDK. They just weren&#8217;t ready to announce it yet last year and covered by offering web apps. Their marketing machine and product release practices entice us to want more. We hated Apple last summer for it!</p>
<p>The remainder of the question was handled by Phil, &#8220;Second question. Electronic submission will be very fast, and this is a whole new process.&#8221;</p>
<p>A <a href="http://bits.blogs.nytimes.com/2008/03/06/under-apples-watchful-eye-games-and-business-applications/index.html" title="Link to NY Times">lot</a> of <a href="http://forums.ilounge.com/showthread.php?t=222598" title="Link to iLounge">people</a> are screaming bloody murder about Apple controlling this process. While I don&#8217;t really like the idea of only getting Apps installed via Apple&#8217;s system, it could be a <a href="http://forums.macrumors.com/showthread.php?t=330739" title="Web Apps Suck">lot worse</a>. Apple will be CHiPs, not the DMV. There will undoubtably be apps which make it possible to download and install while being untethered anyway.</p>
<p>The impression I got during the sign-up process to develop for the iPhone and download the SDK was impressive. Not because of the smoothness of the process (I hit terrible snags due to the <a href="http://solyoung.com/2008/03/06/iphone-sdk-released-apples-iphone-developer-site-drops-connections/">server congestion</a>), but because it&#8217;s obvious they&#8217;re going to allow developers to easily publish apps. What I got out of it is they&#8217;re making it better and easier to write software for the iPhone than for Windows Mobile or other handhelds. Apps will be as easy to publish as an album of music&#8230; Same model.</p>
<p>Dave Winer has been <a href="http://twitter.com/davewiner/statuses/767820512">leaning</a> towards the negative side of Apple&#8217;s plans, but he likes the idea of an <a href="http://twitter.com/davewiner/statuses/767719465">untethered podcatcher</a>. I&#8217;d love to talk to him about that&#8230; It&#8217;s something I expect iofy to work on.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/03/06/iphone-sdk-favorite-question-in-the-press-q-and-a-apps-easy-to-get-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Contact API finally here</title>
		<link>http://solyoung.com/2008/03/05/google-contact-api-finally-here/</link>
		<comments>http://solyoung.com/2008/03/05/google-contact-api-finally-here/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 04:27:02 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/03/05/google-contact-api-finally-here/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/03/googlecode.png" height="59" width="160" alt="Google Code" /></p>
<p><a href="http://www.cartwrightreed.com">Cart</a> dropped a note about long anticipated API addition at Google (so long that most people forgot about they might even still be working on it). Google now has a <a href="http://code.google.com/apis/contacts/" title="Google Contacts API">contact API</a>. This is huge news because up until now only Yahoo! offered a good synchronization service.</p>
<p>I&#8217;ve been a Yahoo! Address Book fan &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/03/googlecode.png" height="59" width="160" alt="Google Code" /></p>
<p><a href="http://www.cartwrightreed.com">Cart</a> dropped a note about long anticipated API addition at Google (so long that most people forgot about they might even still be working on it). Google now has a <a href="http://code.google.com/apis/contacts/" title="Google Contacts API">contact API</a>. This is huge news because up until now only Yahoo! offered a good synchronization service.</p>
<p>I&#8217;ve been a Yahoo! Address Book fan for years because of their service, especially how it <a href="http://solyoung.com/2008/02/08/yahoo-components-that-matter-to-me-after-no-search/" title="My post praising Yahoo's Go (and other services)">integrates with their Go service</a>. With Google&#8217;s API we&#8217;ll see apps that start synchronization between these two, as well as any other service out there. This is fantastic!</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/03/05/google-contact-api-finally-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RESTful Documentation</title>
		<link>http://solyoung.com/2008/02/20/restful-documentation/</link>
		<comments>http://solyoung.com/2008/02/20/restful-documentation/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 04:04:25 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Audiobooks]]></category>
		<category><![CDATA[iofy]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/20/restful-documentation/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/iofy.jpg" alt="iofy" /></p>
<p>As <a href="http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/" title="I promised the RESTful API on Monday, February 18th">promised</a> (but late as a post), we released iofy&#8217;s RESTful documentation. This is extremely exciting for both our development and management teams. We now have an open account management API enabling others to offer iofy&#8217;s account management and access to a customer&#8217;s digital libraries of downloaded audiobooks.</p>
<p>I&#8217;m proud of this accomplishment.</p>
<p>The <a href="http://docs.google.com/Doc?id=dg7xjdzf_80g2vkkkhp" title="iofy RESTful API">iofy </a>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/iofy.jpg" alt="iofy" /></p>
<p>As <a href="http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/" title="I promised the RESTful API on Monday, February 18th">promised</a> (but late as a post), we released iofy&#8217;s RESTful documentation. This is extremely exciting for both our development and management teams. We now have an open account management API enabling others to offer iofy&#8217;s account management and access to a customer&#8217;s digital libraries of downloaded audiobooks.</p>
<p>I&#8217;m proud of this accomplishment.</p>
<p>The <a href="http://docs.google.com/Doc?id=dg7xjdzf_80g2vkkkhp" title="iofy RESTful API">iofy RESTful API</a> covers the features for partner or reseller to offer downloadable audiobooks. These RESTful web services use standard REST calls, are language agnostic, retrieve RSS 2.0 feeds and enable:<br/>
<ul>
<li>product listing and search</li>
<li>account management</li>
<li>financial management</li>
<li>purchase and checkout</li>
</ul>
<p>One can receive dynamic product feeds from ws.iofy.com/product/, where search parameters can include title, author, publisher, narrator, ISBN, and more. These feeds come complete with thumbnail image enclosures, MP3 audio sample enclosures, and all the metadata.</p>
<p>Via <a href="http://www.iofy.com/account/" title="http://www.iofy.com/account/">account management</a>, <a href="http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/" title="my earlier blog post">described last week</a>, customer accounts can be created, modified, password reset, and most importantly the customer&#8217;s prior purchases become available in a library. One can offer this digital library and account management solution without building it (or maintaining it). Just harness it.</p>
<p>The <a href="http://docs.google.com/Doc?id=dg79jdf3_664fw4bpsg7" title="iofy Fulfillment API">fulfillment API</a> allows assignment of a digital download in a single call. We included PHP sample source code, but it could just as easily be harnessed in any other language.</p>
<p>JavaScript and PHP sample code is available which allows complete harnessing of both APIs. To learn more, email <a href="mailto:developer@iofy.com" title="Link to developer@iofy.com (mailto)" target="_blank">developer@iofy.com</a>.</p>
<p><a href="http://docs.google.com/View?docid=dg7xjdzf_80g2vkkkhp" title="iofy td: RESTful API">iofy td: RESTful API</a><br/><br />
<a href="http://docs.google.com/View?docid=dg79jdf3_664fw4bpsg7" title="iofy td: Fulfillment API">iofy td: Fulfillment API </a></p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/20/restful-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I feel a little more stupid &#8211; thanks Philip Greenspun</title>
		<link>http://solyoung.com/2008/02/19/i-feel-a-little-more-stupid-thanks-philip-greenspun/</link>
		<comments>http://solyoung.com/2008/02/19/i-feel-a-little-more-stupid-thanks-philip-greenspun/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 19:38:33 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/19/i-feel-a-little-more-stupid-thanks-philip-greenspun/</guid>
		<description><![CDATA[<p>Philip Greenspun, a CompSci professor at MIT, wrote a nice post. Something most twenty and thirty somethings don&#8217;t want to hear, but should anyway&#8230;</p>
<p><a href="http://philip.greenspun.com/business/internet-software-patents">http://philip.greenspun.com/business/internet-software-patents</a></p>
<p>Actually, I feel challenged to prove him wrong.&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Philip Greenspun, a CompSci professor at MIT, wrote a nice post. Something most twenty and thirty somethings don&#8217;t want to hear, but should anyway&#8230;</p>
<p><a href="http://philip.greenspun.com/business/internet-software-patents">http://philip.greenspun.com/business/internet-software-patents</a></p>
<p>Actually, I feel challenged to prove him wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/19/i-feel-a-little-more-stupid-thanks-philip-greenspun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows XP better as a VM than Vista &#8211; Duh</title>
		<link>http://solyoung.com/2008/02/18/windows-xp-better-as-a-vm-than-vista-duh/</link>
		<comments>http://solyoung.com/2008/02/18/windows-xp-better-as-a-vm-than-vista-duh/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 02:55:59 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/18/windows-xp-better-as-a-vm-than-vista-duh/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/Vista.jpg" alt="Vista" hspace="10" vspace="10" width="87" height="87" align="baseline" /><img src="http://solyoung.com/wp-content/uploads/2008/02/arrow-right.gif" alt="to" width="48" height="42" align="baseline" /> <img src="http://solyoung.com/wp-content/uploads/2008/02/XP.jpg" alt="XP" width="172" height="60" align="baseline" /></p>
<p>After reading this <a href="http://dotnet.org.za/codingsanity/archive/2007/12/14/review-windows-xp.aspx" title="Upgrade to XP">great, hilarious, post</a> on upgrading to XP (yes, you read that right &#8211; this isn&#8217;t a Vista upgrade), I decided to take the plunge. I&#8217;ve been punished long enough for using Vista Ultimate in my VMware environment and portable laptop. It&#8217;s been a nice OS, but performance is in the toilet &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/Vista.jpg" alt="Vista" hspace="10" vspace="10" width="87" height="87" align="baseline" /><img src="http://solyoung.com/wp-content/uploads/2008/02/arrow-right.gif" alt="to" width="48" height="42" align="baseline" /> <img src="http://solyoung.com/wp-content/uploads/2008/02/XP.jpg" alt="XP" width="172" height="60" align="baseline" /></p>
<p>After reading this <a href="http://dotnet.org.za/codingsanity/archive/2007/12/14/review-windows-xp.aspx" title="Upgrade to XP">great, hilarious, post</a> on upgrading to XP (yes, you read that right &#8211; this isn&#8217;t a Vista upgrade), I decided to take the plunge. I&#8217;ve been punished long enough for using Vista Ultimate in my VMware environment and portable laptop. It&#8217;s been a nice OS, but performance is in the toilet and I can&#8217;t take it any more.</p>
<p>It&#8217;ll hang around for testing purposes&#8230; Here&#8217;s hoping SP1 brings some hope to Vista.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/18/windows-xp-better-as-a-vm-than-vista-duh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mac/PC dev/QA environment</title>
		<link>http://solyoung.com/2008/02/17/the-macpc-devqa-environment/</link>
		<comments>http://solyoung.com/2008/02/17/the-macpc-devqa-environment/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 21:39:39 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/17/the-macpc-devqa-environment/</guid>
		<description><![CDATA[<p> <img src="http://solyoung.com/wp-content/uploads/2008/04/macpcdevenv.jpg" alt="Mac/PC Dev Environment" height="300" width="400" /></p>
<p>Developing PC applications on the Mac is great, contrary to what some believe. I too was once in the &#8216;build-on-the-platform-you-target&#8217; camp. Forget that horse-puckie and get efficient:</p>
<ol>
<li>Get VMware Fusion: <a href="http://www.vmware.com/products/fusion/">http://www.vmware.com/products/fusion/</a>.</li>
<li>Make sure you&#8217;ve got XCode. This will be sixty percent of your development environment and you&#8217;ll be coding in OS X.</li>
<li>Install </li>&#8230;</ol>]]></description>
			<content:encoded><![CDATA[<p> <img src="http://solyoung.com/wp-content/uploads/2008/04/macpcdevenv.jpg" alt="Mac/PC Dev Environment" height="300" width="400" /></p>
<p>Developing PC applications on the Mac is great, contrary to what some believe. I too was once in the &#8216;build-on-the-platform-you-target&#8217; camp. Forget that horse-puckie and get efficient:</p>
<ol>
<li>Get VMware Fusion: <a href="http://www.vmware.com/products/fusion/">http://www.vmware.com/products/fusion/</a>.</li>
<li>Make sure you&#8217;ve got XCode. This will be sixty percent of your development environment and you&#8217;ll be coding in OS X.</li>
<li>Install Windows XP or Vista, your choice, as a new VM in Fusion. This will be the other forty percent of your development environment where you&#8217;ll step code and delve out builds. Don&#8217;t set it up with more than 40% of your Mac&#8217;s RAM assigned (preferably 25%).</li>
<li>Install your development tools on this Windows instance, probably .NET 2005.</li>
<li>Set up a shared folder for your source code between your Mac user folder and the dev VM. Make it read-write by both systems (a setting in Fusion).</li>
<li>Set up more VMs in Fusion. These are your Test VMs (smaller, fast Windows instances used as QA machines) &#8211; as of this writing you should make XP Home, XP Pro, Vista Home, and Vista Ultimate VMs. You may want additional setups depending on your apps needs (administrator settings, etc). Set these up with 25% or less of your available RAM.</li>
<li>Do nothing&#8230; I&#8217;m waiting for you to finish step 6&#8230; It takes a while.</li>
<li>Run Windows Update (if desired) and take Snapshots of each VM (Command+T) after they&#8217;re set up. These Snapshots will let you revert to a clean state any time you wish.</li>
</ol>
<p><img src="http://solyoung.com/wp-content/uploads/2008/02/picture-2.png" align="baseline" height="120" hspace="10" vspace="10" width="112" />Great, now you&#8217;re hooked up and can get your code on. With XCode you can utilize all your monitors (if you&#8217;re a developer using less than 2 monitors, we need to talk&#8230;). You&#8217;ll have XCode running with your source code <del>all over the place</del> organized how you like it. You&#8217;ll have your development VM running in a corner.</p>
<p>Use XCode as the code editor (you&#8217;ve got your source files saved on the Mac, in the shared folder). Keep the development VM running and hit Control+B in it (or better yet, add an AppleScript to XCode to pass Control+B to the VM) when you need a new build. You can step through the code when you need to.</p>
<p>When you&#8217;re ready to test your app(s) on all flavors of Windows, launch up the various VMs and install the app(s). Afterwards, restore to the Snapshot you took before. You&#8217;re starting from a nice clean start every time.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/17/the-macpc-devqa-environment/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>iofy account management &#8211; Really Simple Development</title>
		<link>http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/</link>
		<comments>http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 14:27:10 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Hiring]]></category>
		<category><![CDATA[iofy]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/</guid>
		<description><![CDATA[<p><span class="Apple-style-span" style="font-family: Times; line-height: normal"> </span>
</p><p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">&#160;</p>
<p><img src="http://www.iofy.com/iofy_images/playersComputer.jpg" alt="iofy software" hspace="10" vspace="10" width="190" height="268" align="right" />
</p><p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">My dev team is prepping the release of our REST / RSS / JavaScript based account management this week. It marks the completion of building, then harnessing, a suite of RESTful RSS 2.0 feed based web services. The idea has been &#8220;<span style="text-decoration: line-through; -webkit-text-decorations-in-effect: line-through" class="Apple-style-span">avoid people wasting time, working on stuff they suck at</span> focus developers &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-family: Times; line-height: normal"> </span>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">&nbsp;</p>
<p><img src="http://www.iofy.com/iofy_images/playersComputer.jpg" alt="iofy software" hspace="10" vspace="10" width="190" height="268" align="right" />
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">My dev team is prepping the release of our REST / RSS / JavaScript based account management this week. It marks the completion of building, then harnessing, a suite of RESTful RSS 2.0 feed based web services. The idea has been &#8220;<span style="text-decoration: line-through; -webkit-text-decorations-in-effect: line-through" class="Apple-style-span">avoid people wasting time, working on stuff they suck at</span> focus developers on code they enjoy and excel at.&#8221;</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">We had problems with our 1.0 account management. User interfaces were tied too tightly to the back end. Heavy hitting framework and server programmers were working out UI kinks while artistic graphic designers were figuring out database calls. This was a huge waste. The site looked heinous and didn&#8217;t work the way we wanted it to.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em"><span class="Apple-style-span" style="font-weight: bold">Graphic designers don&#8217;t think in OO, let alone big-O. Server programmers don&#8217;t communicate visually.</span></p>
<p><img src="http://solyoung.com/wp-content/uploads/2008/02/serial1.jpg" align="left" height="409" width="200" vspace="10" hspace="10" alt="Serial" />
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em"><span class="Apple-style-span" style="font-weight: bold"></span>It seems easy to fix, right? Just have heavy hitters do hard stuff and then have graphic designers make it look pretty? Make it look pretty first, then tie in the hard stuff? Not exactly. It requires a lot of planning and effort to coordinate and manage people&#8217;s time like that. It also requires serial development where people are waiting before they can start. All of which is a waste &#8211; this needs to be automatic and parallel. Don&#8217;t waste time trying to manage this if it can be done for you.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em"><span class="Apple-style-span" style="font-weight: bold">Enter </span><a href="http://en.wikipedia.org/wiki/REST" title="Wikipedia: REST"><span class="Apple-style-span" style="font-weight: bold">REST</span></a><span class="Apple-style-span" style="font-weight: bold">. Enter </span><a href="http://en.wikipedia.org/wiki/RSS_(file_format)" title="Wikipedia: RSS"><span class="Apple-style-span" style="font-weight: bold">RSS</span></a><span class="Apple-style-span" style="font-weight: bold">.</span></p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em"><a href="http://cyber.law.harvard.edu/rss/rss.html" title="Link to Harvard Law's hosting of RSS spec">RSS</a> (Really Simple Syndication) came first. Dave Winer, <a href="http://www.scripting.com/stories/2008/02/10/happyBirthdayXml.html" title="Dave's entry on RSS turning 10">back in &#8217;98</a>, grew it from XML. It allows for simplified packaging of data. One can package and list blog entries, offer an MP3 playlist, send table-of-contents information, or transport code via codecast. At iofy we use it as a container to package web service responses.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">RESTful development is also based on simplicity (here&#8217;s a great <a href="http://www.xfront.com/REST-Web-Services.html" title="Link to xfront.com's REST resource">doc on REST</a>). Get things done in an HTTP packaged call. With a very simple request in JavaScript, the web service is queried and you&#8217;ve got an RSS feed as a response. Our designers have their functionality via web services. Our server coders don&#8217;t touch the front end.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">The server developers make the RSS feeds. This makes them happy and gives them time to build the critical server components. The graphic designers use JavaScript to call iofy&#8217;s RESTful Web Services API (link coming Monday). We use jQuery as our base JavaScript library. It&#8217;s damned fast to dev.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">This simplified my project management. Tasks became clearly defined. In the beginning I was worried the approach would put a wedge between roles, but it worked in reverse. People understood the importance of their own functions and became reliant on each other for success.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em"><span class="Apple-style-span" style="font-weight: bold">Parallel Development.</span></p>
<p><img src="http://solyoung.com/wp-content/uploads/2008/02/parallel.jpg" align="right" height="145" width="200" vspace="10" hspace="10" alt="Parallel" />
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">While the design team determined a desired look and feel, the back end team planned architecture and database schema. As feeds were developed and APIs took shape, so did the layout of the site. When feeds became ready for harnessing, pages were ready. Management of the nitty-gritty became unnecessary.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em">We launch account management this week. You too can harness it in your language of choice (we&#8217;ll provide JavaScript code which lets you do this simply by dropping some .js on your page and a script on your server). iofy&#8217;s services are controllable from your own site.</p>
<p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #ffffff; font: normal normal normal 1em/1.3em Georgia, 'Times New Roman', Times, serif; padding: 0.5em"><span style="font-style: italic" class="Apple-style-span">iofy&#8217;s development team builds client software, web sites, and web services powering audiobook content delivery. We move content securely from server, to client, to iPod, and SD chip.</span> </p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/14/iofy-account-management-really-simple-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Brain-drain prediction due to asian success</title>
		<link>http://solyoung.com/2008/02/13/brain-drain-prediction-due-to-asian-success/</link>
		<comments>http://solyoung.com/2008/02/13/brain-drain-prediction-due-to-asian-success/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 13:20:06 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Hiring]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Prediction]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/13/brain-drain-prediction-due-to-asian-success/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/itaway.jpg" align="right" height="180" width="138" vspace="5" hspace="5" alt="Pic of IT walking away" />I&#8217;m reading <a href="http://www.zdnetasia.com/techguide/smb/0,3800010798,62037612,00.htm?scid=nl_z_smb" title="ZDnet">more</a> and <a href="http://www.china-embassy.org/eng/gyzg/t401165.htm" title="Chinese Embassy article">more</a> about IT in Asia having trouble retaining technically competent employees. Salaries are <a href="http://www.apmforum.com/news/apmn25.htm" title="Growth of salaries">growing</a> to impressive levels. In <a href="http://www.payscale.com/research/SG/Country=Singapore/Salary" title="Link to Payscale.com">Singapore, salaries</a> are closing in on Silicon Valley levels. With the present <span style="text-decoration: line-through" class="Apple-style-span">competition for talent</span> <a href="http://www.computerworld.com.my/ShowPage.aspx?pagetype=2&#38;articleid=3292&#38;pubid=3&#38;issueid=79" title="Link to computer world article">growth in that country</a>, salaries will soon be greater there.</p>
<p>&#60;prediction&#62;We won&#8217;t be looking at an all-out &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/itaway.jpg" align="right" height="180" width="138" vspace="5" hspace="5" alt="Pic of IT walking away" />I&#8217;m reading <a href="http://www.zdnetasia.com/techguide/smb/0,3800010798,62037612,00.htm?scid=nl_z_smb" title="ZDnet">more</a> and <a href="http://www.china-embassy.org/eng/gyzg/t401165.htm" title="Chinese Embassy article">more</a> about IT in Asia having trouble retaining technically competent employees. Salaries are <a href="http://www.apmforum.com/news/apmn25.htm" title="Growth of salaries">growing</a> to impressive levels. In <a href="http://www.payscale.com/research/SG/Country=Singapore/Salary" title="Link to Payscale.com">Singapore, salaries</a> are closing in on Silicon Valley levels. With the present <span style="text-decoration: line-through" class="Apple-style-span">competition for talent</span> <a href="http://www.computerworld.com.my/ShowPage.aspx?pagetype=2&amp;articleid=3292&amp;pubid=3&amp;issueid=79" title="Link to computer world article">growth in that country</a>, salaries will soon be greater there.</p>
<p>&lt;prediction&gt;We won&#8217;t be looking at an all-out brain-drain, but with the present economic climate in the US and the present growth in Asia, we&#8217;re looking at some movement of IT in the next five years.&lt;/prediction&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/13/brain-drain-prediction-due-to-asian-success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo! &#8211; components that matter to me after no search</title>
		<link>http://solyoung.com/2008/02/08/yahoo-components-that-matter-to-me-after-no-search/</link>
		<comments>http://solyoung.com/2008/02/08/yahoo-components-that-matter-to-me-after-no-search/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 13:28:16 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Wearing]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/08/yahoo-components-that-matter-to-me-after-no-search/</guid>
		<description><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/ygm.jpg" align="right" height="148" width="189" vspace="5" hspace="5" alt="YGM" />The news of the week (month/year?) is the $44.6 billion offer from Microsoft to acquire Yahoo!. Robert Scoble <a href="http://scobleizer.com/2008/02/04/what-you-all-are-missing-about-google/" title="What you are all missing about Google">blogs the intelligence of Google&#8217;s email</a> and Dave Winer drops <a href="http://www.scripting.com/stories/2008/02/06/shouldYahooAcceptMicrosoft.html" title="Should Yahoo! accept Microsoft's offer?">thoughts  on Yahoo&#8217;s options</a> based on <a href="http://www.techcrunch.com">TechCrunch</a> blogger <a href="http://www.techcrunch.com/2008/02/06/decision-time-for-yahoo/">Mike Arrington&#8217;s analysis</a>. Mike Arrington&#8217;s <a href="http://www.techcrunch.com/2008/02/08/yahoo-board-to-determine-fate-of-company-today/" title="Only two choices">latest news</a> is a bit disheartening. Either sell to Microsoft or sell their &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://solyoung.com/wp-content/uploads/2008/02/ygm.jpg" align="right" height="148" width="189" vspace="5" hspace="5" alt="YGM" />The news of the week (month/year?) is the $44.6 billion offer from Microsoft to acquire Yahoo!. Robert Scoble <a href="http://scobleizer.com/2008/02/04/what-you-all-are-missing-about-google/" title="What you are all missing about Google">blogs the intelligence of Google&#8217;s email</a> and Dave Winer drops <a href="http://www.scripting.com/stories/2008/02/06/shouldYahooAcceptMicrosoft.html" title="Should Yahoo! accept Microsoft's offer?">thoughts  on Yahoo&#8217;s options</a> based on <a href="http://www.techcrunch.com">TechCrunch</a> blogger <a href="http://www.techcrunch.com/2008/02/06/decision-time-for-yahoo/">Mike Arrington&#8217;s analysis</a>. Mike Arrington&#8217;s <a href="http://www.techcrunch.com/2008/02/08/yahoo-board-to-determine-fate-of-company-today/" title="Only two choices">latest news</a> is a bit disheartening. Either sell to Microsoft or sell their search to Google.</p>
<p>Yahoo! has a lot more than search to offer &#8211; it shouldn&#8217;t be their primary business. As Scoble and Winer both pointed out, the wars are being fought on platforms &#8211; Especially the mobile platform. Yahoo!&#8217;s Go service synchronizes calendars, contacts, etc, from phone or PC and runs on Windows, OS X, <a href="http://sites.mobile.yahoo.com/blackberry">BlackBerry</a>, <a href="http://mobile.yahoo.com/go">Symbian (Nokia)</a>, and <a href="http://www.microsoft.com/windowsmobile/default.mspx" title="Windows Mobile">Windows Mobile</a>. Heck, it runs on almost every phone out there and OS X has Yahoo Sync built in. It&#8217;s been over a year since I&#8217;ve synchronized my phone by wire and I&#8217;m able to keep three phones and two laptops in sync.</p>
<p>Dave Winer shares insight from past technology wars while <a href="http://www.scripting.com/stories/2008/02/05/beenHereBefore.html" title="Been here before">asking which platform will be adopted as the standard for synchronization</a> of contacts, social networking, etc. I argue it could be Yahoo!. They&#8217;re <a href="http://developer.yahoo.net/blog/archives/2008/01/openid-support-at-yahoo.html" title="OpenID Support at Yahoo!">embracing OpenID</a> and offering <a href="http://pipes.yahoo.com/" title="Pipes">Pipes</a>. The Go service has plugins which tie in to MySpace and other social networking sites. They&#8217;ve got an identity system, a delivery method, and a decent reach in to the mobile market.</p>
<p>Finally, Yahoo&#8217;s two destinations &#8211; <a href="http://new.music.yahoo.com/" title="Yahoo! Music">Yahoo! Music</a> and <a href="http://finance.yahoo.com" title="Yahoo! Finance">Yahoo! Finance</a>. These two are both number 1 in their class. Numero Uno. Why? They have content. Google offers search &#8211; when you&#8217;re looking for content. Yahoo!&#8217;s Music and Finance (and other sites) have that content.</p>
<p>These are the Yahoo! products that matter to me and the reason I&#8217;m a Yahoo! shareholder. If the sale goes through I&#8217;ll happily cash out with a profit and start looking elsewhere for services that satisfy consumer need.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/08/yahoo-components-that-matter-to-me-after-no-search/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The dream mobile blogging device is dead</title>
		<link>http://solyoung.com/2008/02/04/the-dream-mobile-blogging-device-is-dead/</link>
		<comments>http://solyoung.com/2008/02/04/the-dream-mobile-blogging-device-is-dead/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 05:11:36 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Wearing]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/04/the-dream-mobile-blogging-device-is-dead/</guid>
		<description><![CDATA[<p><img src="http://www.mobile-review.com/phonemodels/o2/image/xda-exec.jpg" align="right" height="262" width="279" alt="O2 XDA Exec" />My favorite mobile blogging device is now <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#38;item=160204055764" title="Link to eBay posting">listed on eBay</a>. The <a href="http://www.engadget.com/2005/09/02/hands-on-with-the-htc-universal/" title="Link to Engadget review of HTC Universal">HTC Universal</a> has a usable keyboard, beautiful touch screen, plenty of horsepower, 3G, Wi-Fi, BlueTooth, dual-cameras etc.</p>
<p>It met its demise in the outer pocket of a WWDC07 laptop bag (yes, my bag, d&#8217;oh!)&#8230; Cracking the screen and becoming unusable. I don&#8217;t feel like &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mobile-review.com/phonemodels/o2/image/xda-exec.jpg" align="right" height="262" width="279" alt="O2 XDA Exec" />My favorite mobile blogging device is now <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=160204055764" title="Link to eBay posting">listed on eBay</a>. The <a href="http://www.engadget.com/2005/09/02/hands-on-with-the-htc-universal/" title="Link to Engadget review of HTC Universal">HTC Universal</a> has a usable keyboard, beautiful touch screen, plenty of horsepower, 3G, Wi-Fi, BlueTooth, dual-cameras etc.</p>
<p>It met its demise in the outer pocket of a WWDC07 laptop bag (yes, my bag, d&#8217;oh!)&#8230; Cracking the screen and becoming unusable. I don&#8217;t feel like doing a <a href="http://www.pocketpctechs.com/main.asp?unit=HTC_Universal-439&amp;area=repairs&amp;item=XDA%2DLCD06" title="Link to UBER-EXPENSIVE repair company">screen replacement</a>. It&#8217;s now up for sale and I&#8217;m using the iPhone as the primary, with the BlackBerry 8800 as a backup. I&#8217;m hoping HTC will make another similar all-in-one device for mobile blogging soon &#8211; preferably with <a href="http://microsoft.blognewschannel.com/archives/2008/01/06/exclusive-windows-mobile-7-to-focus-on-touch-and-motion-gestures/" title="Link to Nathan Weinberg's Microsoft blog">Windows Mobile 7</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/04/the-dream-mobile-blogging-device-is-dead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harnessing a web service API with JavaScript &#8211; use the three-peat to avoid DNS failures</title>
		<link>http://solyoung.com/2008/02/02/harnessing-a-web-service-api-with-javascript-use-the-three-peat/</link>
		<comments>http://solyoung.com/2008/02/02/harnessing-a-web-service-api-with-javascript-use-the-three-peat/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 00:46:37 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[iofy]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/02/02/harnessing-a-web-service-api-with-javascript-use-the-three-pete/</guid>
		<description><![CDATA[<p><img src="http://lib.store.yahoo.net/lib/yhst-71538587402298/iofyDL.jpg" alt="iofy download service" align="right" height="97" hspace="5" vspace="5" width="145" /><a href="http://www.iofy.com/" title="iofy corporation">We&#8217;ve</a> recently done work harnessing our iofy RESTful web services in JavaScript, especially the account management sections. Typically, in old-school fashion, an account management system is done server side with PHP, PERL, Ruby, etc, interacting with a database.</p>
<p>&#60;sarcasm&#62;That&#8217;s great when you want your heavy hitting developers to do design work or when you want &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://lib.store.yahoo.net/lib/yhst-71538587402298/iofyDL.jpg" alt="iofy download service" align="right" height="97" hspace="5" vspace="5" width="145" /><a href="http://www.iofy.com/" title="iofy corporation">We&#8217;ve</a> recently done work harnessing our iofy RESTful web services in JavaScript, especially the account management sections. Typically, in old-school fashion, an account management system is done server side with PHP, PERL, Ruby, etc, interacting with a database.</p>
<p>&lt;sarcasm&gt;That&#8217;s great when you want your heavy hitting developers to do design work or when you want your designers to do low-level work (or if you want to add a layer of management to your project where you need to separate out what parts of a page are owned by what developer/designer.)&lt;/sarcasm&gt;</p>
<p>Why give yourself that headache? I had that headache for a while and have a direct solution. REST + JavaScript. My heavy hitters delivered RESTful functionality for our API that can be harnessed by pretty much anything capable of HTTP. My webmaster and designers can now, purely in JavaScript, harness this API and deliver all the functionality they need with all the gorgeous style they possess.</p>
<p>You can too (drop us a note and sign up as a reseller.) Our API is REST and we&#8217;ve got JavaScript libraries for harnessing it. The JavaScript queries the web service and receives an RSS 2.0 response. Parse it, and you&#8217;ve got everything you need for account management, content delivery, sales, and reporting.</p>
<p>Now for the difficulty in JavaScript web service API harnessing&#8230; The big surprise we ran in to initially was with the failure rate of HTTP requests from client-side JavaScript calls. DNS stinks. We would make requests and randomly get failures. As it turns out, DNS will fail between 1% and 3% of the time on a typical DSL connection. You need to retry that connection&#8230;</p>
<p>I recommend the three-peat for failed connections. In your JavaScript (or any other language), use asynchronous calls to a function which will repeat the HTTP request up to three times before erroring out. This reduces the likelihood of failure to a cube of the failure rate.</p>
<p>The worst DNS providers fail 3% of the time. Therefore the first request has a 3% chance of failure. The second has 0.09% chance since the 3% that failed are 3% likely to fail again (3% multiplied by another 3%.) The third try won&#8217;t fail unless something bigger is going wrong, drops the chance to 0.0027%. This is far more acceptable than 3 in 100 and effectively removes the DNS issue of web service connections.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/02/02/harnessing-a-web-service-api-with-javascript-use-the-three-peat/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XMPP stands for scalability</title>
		<link>http://solyoung.com/2008/01/25/xmpp-stands-for-scalability/</link>
		<comments>http://solyoung.com/2008/01/25/xmpp-stands-for-scalability/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 13:40:13 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[iofy]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/01/25/xmpp-stands-for-scalability/</guid>
		<description><![CDATA[<p><img src="http://www.jivesoftware.com/community/servlet/JiveServlet/download/1375-3362/xmpplogo.png" alt="XMPP" hspace="5" vspace="5" width="177" height="176" align="right" /><a href="http://www.cartwrightreed.com" title="Cartwright Reed's blog">Cart</a> sent me a link to <a href="http://www.jivesoftware.com/community/people/matt" title="Matt Tucker's blog">Matt Tucker</a>&#8216;s latest <a href="http://www.jivesoftware.com/community/blogs/jivetalks/2008/01/24/xmpp-aka-jabber-is-the-future-for-cloud-services" title="XMPP (a.k.a. Jabber) is the future of cloud services">blog entry</a> over at Jive Software, &#8221;<a href="http://www.jivesoftware.com/community/blogs/jivetalks/2008/01/24/xmpp-aka-jabber-is-the-future-for-cloud-services" title="XMPP (a.k.a. Jabber) is the future for cloud services">XMPP (a.k.a. Jabber) is the future for cloud services</a>.&#8221; Matt is right. Cloud architectures and large systems are moving away from the current HTTP / web services integration.</p>
<p><img src="http://dclips.fundraw.com/thumbdir/m1_abrams_main_battle_tank_01.jpg" alt="M1 Abrams" width="94" height="94" align="left" />Monstrous servers and clusters banging on each other, effectively pulling &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jivesoftware.com/community/servlet/JiveServlet/download/1375-3362/xmpplogo.png" alt="XMPP" hspace="5" vspace="5" width="177" height="176" align="right" /><a href="http://www.cartwrightreed.com" title="Cartwright Reed's blog">Cart</a> sent me a link to <a href="http://www.jivesoftware.com/community/people/matt" title="Matt Tucker's blog">Matt Tucker</a>&#8216;s latest <a href="http://www.jivesoftware.com/community/blogs/jivetalks/2008/01/24/xmpp-aka-jabber-is-the-future-for-cloud-services" title="XMPP (a.k.a. Jabber) is the future of cloud services">blog entry</a> over at Jive Software, &#8221;<a href="http://www.jivesoftware.com/community/blogs/jivetalks/2008/01/24/xmpp-aka-jabber-is-the-future-for-cloud-services" title="XMPP (a.k.a. Jabber) is the future for cloud services">XMPP (a.k.a. Jabber) is the future for cloud services</a>.&#8221; Matt is right. Cloud architectures and large systems are moving away from the current HTTP / web services integration.</p>
<p><img src="http://dclips.fundraw.com/thumbdir/m1_abrams_main_battle_tank_01.jpg" alt="M1 Abrams" width="94" height="94" align="left" />Monstrous servers and clusters banging on each other, effectively pulling web pages in order to deliver another web page elsewhere, is like having M1 Abrams tanks outfitted with BB guns instead of cannons.</p>
<p>At <a href="http://www.iofy.com" title="iofy corporation">iofy</a> we&#8217;re using web services with HTTP. We don&#8217;t like SOAP, but we&#8217;re RESTfully clean. Our web services API is unintentionally somewhat like <a href="http://groups.google.com/group/twitter-development-talk/web/api-documentation" title="The Official Twitter API">Twitter&#8217;s API</a>. However, there is a key difference. We use callbacks.</p>
<p>Callbacks allow partners to integrate with iofy&#8217;s web services without having to poll for updates. Both <a href="http://developer.yahoo.com/shopping/" title="Yahoo's shopping API">Yahoo!</a> and <a href="http://www.flickr.com/services/api/" title="Flickr API">Flickr</a> do this for integrating customers.</p>
<p>We&#8217;re similar to Yahoo! in that the stores we power, such as <a href="http://www.thelanguagestop.com" title="The Language Stop">The Language Stop</a>, do not require persistent connections and would be inconvenienced by needing to implement anything larger than web service integration.</p>
<p>In order to keep things simple and fast (and not destroy your architecture with a polling only API) offer callbacks on top of polling. Any mid to large partner, or technically savvy smaller partner, will prefer the callbacks.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/01/25/xmpp-stands-for-scalability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Performance is everything</title>
		<link>http://solyoung.com/2008/01/20/performance-is-everything/</link>
		<comments>http://solyoung.com/2008/01/20/performance-is-everything/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 01:33:52 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[iofy]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/01/20/performance-is-everything/</guid>
		<description><![CDATA[<p><img src="http://users.ox.ac.uk/~ball0888/oxfordopen/thinker.jpg" width="240" height="320" align="right" />The recent <a href="http://www.scripting.com/stories/2008/01/18/faqIsDecentralizedTwitterJ.html" target="_blank" title="Dave Winer's FAQ's re: Decentralized Twitter">debates</a> about <a href="http://twitter.com/solyoung" target="_blank" title="my twitter feed">Twitter</a>&#8217;s performance has me thinking about iofy this weekend&#8230;</p>
<p>Way back when I started at <a href="http://www.iofy.com" target="_blank" title="iofy corporation">iofy</a> we had the challenge of creating PC and PocketPC applications that played secure audiobook content, displayed table of contents meta data and bookmarked. The applications needed to be under 200k, run on a 200MHz &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://users.ox.ac.uk/~ball0888/oxfordopen/thinker.jpg" width="240" height="320" align="right" />The recent <a href="http://www.scripting.com/stories/2008/01/18/faqIsDecentralizedTwitterJ.html" target="_blank" title="Dave Winer's FAQ's re: Decentralized Twitter">debates</a> about <a href="http://twitter.com/solyoung" target="_blank" title="my twitter feed">Twitter</a>&#8217;s performance has me thinking about iofy this weekend&#8230;</p>
<p>Way back when I started at <a href="http://www.iofy.com" target="_blank" title="iofy corporation">iofy</a> we had the challenge of creating PC and PocketPC applications that played secure audiobook content, displayed table of contents meta data and bookmarked. The applications needed to be under 200k, run on a 200MHz processor and be stable.A latent requirement was that the applications, to satisfy our reliability requirements, had to be statically linked so they could run from a chip without handling varying customer system configurations.  Statically linked Microsoft libraries and our code within 200k in a <em>real</em> application. What?</p>
<p><img src="http://www.cartoonstock.com/newscartoons/cartoonists/cwl/lowres/cwln92l.jpg" width="308" height="400" /><br/><br />
Optimize, optimize, optimize.</p>
<p><img src="http://www.iofy.com/iofy_images/pub_download_logo.jpg" alt="iofy download icon" width="145" height="97" align="right" />Now we&#8217;re launching our download service which takes our original offering from a <a href="http://www.iofy.com/support/icug.pdf" target="_blank" title="iofy chip documentation - PDF">single chip</a> on a single computer (or <a href="http://www.iofy.com/player/" target="_blank" title="iofy player">player</a>) to a service which offers <a href="http://www.iofy.com/platform/downloads.html">downloadable audiobook content</a>.</p>
<p>There are more performance areas to optimize than you can shake a stick at (client, servers, db access, feed syncing, backups, etc). We&#8217;ve stuck to standards and performance as principle design requirements (and we&#8217;ve swung intelligently with big sticks.)</p>
<p>As we roll out iofy&#8217;s download technology I&#8217;ll touch on standards we&#8217;ve stuck to and how they may apply to you. I&#8217;ll be touching on performance considerations we&#8217;ve addressed, especially with feed synchronization. There will be pointers on how you can best <a href="http://www.iofy.com/resellers/" target="_blank" title="resellers">integrate</a> your eCommerce system with iofy&#8217;s API to offer downloadable content.</p>
<p>This is an exciting time for our engineering team at iofy.  We&#8217;re seeing our latest hard work make its way to the <a href="http://www.thelanguagestop.com" target="_blank" title="An example site that offers downloadable iofy content">mainstream</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/01/20/performance-is-everything/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter announces Starling</title>
		<link>http://solyoung.com/2008/01/16/twitter-announces-starling/</link>
		<comments>http://solyoung.com/2008/01/16/twitter-announces-starling/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 03:36:25 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://solyoung.com/2008/01/16/twitter-announces-starling/</guid>
		<description><![CDATA[<p>Just after getting sucked in to plunking three comments down on Dave&#8217;s <a href="http://www.scripting.com/stories/2008/01/16/aDecentralizedTwitter.html" title="Decentralized Twitter">post</a> about decentralized Twitter I read up on <a href="http://dev.twitter.com/2008/01/announcing-starling.html" title="Starling Announcement">Twitter&#8217;s Starling open-source release</a>.  Were the developers at Twitter reading the minds of the community or what?  Or are they really that in sync with their customers?  Great news all around.  And a wise &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Just after getting sucked in to plunking three comments down on Dave&#8217;s <a href="http://www.scripting.com/stories/2008/01/16/aDecentralizedTwitter.html" title="Decentralized Twitter">post</a> about decentralized Twitter I read up on <a href="http://dev.twitter.com/2008/01/announcing-starling.html" title="Starling Announcement">Twitter&#8217;s Starling open-source release</a>.  Were the developers at Twitter reading the minds of the community or what?  Or are they really that in sync with their customers?  Great news all around.  And a wise move.</p>
<p>Primarily I&#8217;m happy to hear that they&#8217;ve got a solid block to base their system on, &#8220;When other parts of the Twitter site go down, Starling stays up.&#8221;  From that block they can build out and have a scalable system.</p>
<p>And we&#8217;re going to help them build it.  Developers and customers and companies desiring to tie in to the magic are going to help build upon that block.  Heck, I&#8217;ve been buried in queue management&#8230;  I&#8217;m looking forward to seeing what they&#8217;ve got under their hood.</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2008/01/16/twitter-announces-starling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iofy widget &#8211; from the new platform</title>
		<link>http://solyoung.com/2007/01/10/iofy-widget-from-the-new-platform/</link>
		<comments>http://solyoung.com/2007/01/10/iofy-widget-from-the-new-platform/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 14:45:00 +0000</pubDate>
		<dc:creator>Sol Young</dc:creator>
				<category><![CDATA[iofy]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://solyoung.com/2007/01/10/iofy-widget-from-the-new-platform/</guid>
		<description><![CDATA[<p>Something cool my team has been working on&#8230; The iofy widget. We use our latest 3.0 platform, providing download, syncronization, and drm (if desired).</p>
<p>The 3.0 platform allows a customer or partner to plug in content and make it available for download via our download manager. If desired, the content can be secured with industry &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Something cool my team has been working on&#8230; The iofy widget. We use our latest 3.0 platform, providing download, syncronization, and drm (if desired).</p>
<p>The 3.0 platform allows a customer or partner to plug in content and make it available for download via our download manager. If desired, the content can be secured with industry standard DoD level DRM and made available for purchase</p>
<p>Many people that make viable content do not have a method for monetized distribution. Many companies with content have problems with monetization.</p>
<p>In order to make a title available, a content provider simply provides an RSS feed to iofy. The content from that feed is converted and made available for mass consumption (if desired).</p>
<p>Problem solved?</p>
]]></content:encoded>
			<wfw:commentRss>http://solyoung.com/2007/01/10/iofy-widget-from-the-new-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

