<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.3.2" --><rss 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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>computers should be less friendly</title>
	<link>http://blog.danmcweeney.com</link>
	<description>a collection of blogs, links and anything else that falls out of my head</description>
	<pubDate>Tue, 27 May 2008 14:12:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<image><link>http://creativecommons.org/licenses/by-nc-nd/2.5/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/danmcweeneySDN" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/danmcweeneySDN" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FdanmcweeneySDN" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>Links for 2008-07-22 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/343213289/dan_mcweeney</link><pubDate>Wed, 23 Jul 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-07-22</guid><content:encoded><![CDATA[<ul>
<li><a href="http://www.gamesradar.com/f/365-days-of-free-games/a-2008071714293190000">365 days of free games | GamesRadar</a><br/>
List of Free games</li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/343213289" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.gamesradar.com/f/365-days-of-free-games/a-2008071714293190000"&gt;365 days of free games | GamesRadar&lt;/a&gt;&lt;br/&gt;
List of Free games&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-07-22</feedburner:origLink></item><item><title>Links for 2008-07-21 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/342224732/dan_mcweeney</link><pubDate>Tue, 22 Jul 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-07-21</guid><content:encoded><![CDATA[<ul>
<li><a href="http://developer.mozilla.org/en/docs/XPCNativeWrapper#Limitations_of_XPCNativeWrapper">XPCNativeWrapper - MDC</a><br/>
How FF keeps protected scripts safe from the pages they are loaded in.</li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/342224732" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://developer.mozilla.org/en/docs/XPCNativeWrapper#Limitations_of_XPCNativeWrapper"&gt;XPCNativeWrapper - MDC&lt;/a&gt;&lt;br/&gt;
How FF keeps protected scripts safe from the pages they are loaded in.&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-07-21</feedburner:origLink></item><item><title>Links for 2008-07-09 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/331420396/dan_mcweeney</link><pubDate>Thu, 10 Jul 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-07-09</guid><content:encoded><![CDATA[<ul>
<li><a href="http://www.sciencedaily.com/releases/2008/07/080707192643.htm">Rare Microorganism That Produces Hydrogen May Be Key To Tomorrow's Hydrogen Economy</a><br/>
Wonder how much the high temp need of the microbe would effect production costs.  I assume you could used the H2 to keep the reactor heated but, how many organisms do you need just for that production?</li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/331420396" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.sciencedaily.com/releases/2008/07/080707192643.htm"&gt;Rare Microorganism That Produces Hydrogen May Be Key To Tomorrow's Hydrogen Economy&lt;/a&gt;&lt;br/&gt;
Wonder how much the high temp need of the microbe would effect production costs.  I assume you could used the H2 to keep the reactor heated but, how many organisms do you need just for that production?&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-07-09</feedburner:origLink></item><item><title>Links for 2008-06-20 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/316687669/dan_mcweeney</link><pubDate>Sat, 21 Jun 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-06-20</guid><content:encoded><![CDATA[<ul>
<li><a href="http://jakarta.apache.org/jmeter/">JMeter - Apache JMeter</a></li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/316687669" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://jakarta.apache.org/jmeter/"&gt;JMeter - Apache JMeter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-06-20</feedburner:origLink></item><item><title>Links for 2008-06-16 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/313550423/dan_mcweeney</link><pubDate>Tue, 17 Jun 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-06-16</guid><content:encoded><![CDATA[<ul>
<li><a href="http://labs.adobe.com/wiki/index.php/Apollo:Articles:Using_HTML_in_Flex-based_Apollo_Applications">AIR:Articles:Using HTML in Flex-based Adobe AIR Applications - Adobe Labs</a></li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/313550423" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://labs.adobe.com/wiki/index.php/Apollo:Articles:Using_HTML_in_Flex-based_Apollo_Applications"&gt;AIR:Articles:Using HTML in Flex-based Adobe AIR Applications - Adobe Labs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-06-16</feedburner:origLink></item><item><title>Links for 2008-06-09 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/308559003/dan_mcweeney</link><pubDate>Tue, 10 Jun 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-06-09</guid><content:encoded><![CDATA[<ul>
<li><a href="http://explanatorygap.net/2005/07/10/unlocking-files-recursively-from-the-command-line/">Unlocking files recursively from the command line. &laquo; mind the explanatory gap</a><br/>
See Title</li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/308559003" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://explanatorygap.net/2005/07/10/unlocking-files-recursively-from-the-command-line/"&gt;Unlocking files recursively from the command line. &amp;laquo; mind the explanatory gap&lt;/a&gt;&lt;br/&gt;
See Title&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-06-09</feedburner:origLink></item><item><title>Links for 2008-05-29 [del.icio.us]</title><link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/301011953/dan_mcweeney</link><pubDate>Fri, 30 May 2008 00:00:00 -0500</pubDate><guid isPermaLink="false">http://del.icio.us/dan_mcweeney#2008-05-29</guid><content:encoded><![CDATA[<ul>
<li><a href="http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/">Creating a Build Number With Ant and Subversion | Innovation On The Run</a><br/>
Getting a version number into your build with Ant</li>
</ul><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/301011953" height="1" width="1"/>]]></content:encoded><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/"&gt;Creating a Build Number With Ant and Subversion | Innovation On The Run&lt;/a&gt;&lt;br/&gt;
Getting a version number into your build with Ant&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dan_mcweeney#2008-05-29</feedburner:origLink></item><item>
		<title>Spirit</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/299088842/73</link>
		<comments>http://blog.danmcweeney.com/73#comments</comments>
		<pubDate>Tue, 27 May 2008 13:10:44 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[et alii]]></category>

		<category><![CDATA[innovation]]></category>

		<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/73</guid>
		<description><![CDATA[





&#8220;There is no strife, no prejudice, no national conflict in outer space as yet. Its hazards are hostile to us all. Its conquest deserves the best of all mankind, and its opportunity for peaceful cooperation may never come again. But why, some say, the moon? Why choose this as our goal? And they may well [...]]]></description>
			<content:encoded><![CDATA[<p>
<div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d41b077c-502a-4b81-b8ed-571f12599bdb" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 385px; padding-top: 0px">
<div id="9948bd6e-48f6-4b62-a7ad-9dba42a36786" style="margin: 0px; padding: 0px; display: inline;">
<div><a href="http://www.youtube.com/watch?v=6gr3mlBQR8M&amp;hl=en" target="_new"><img src="http://blog.danmcweeney.com/wp-content/uploads/2008/05/videoc0b1ec571b56.jpg" galleryimg="no" onload="var downlevelDiv = document.getElementById('9948bd6e-48f6-4b62-a7ad-9dba42a36786'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;385\&quot; height=\&quot;322\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/6gr3mlBQR8M&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;param name=\&quot;wmode\&quot; value=\&quot;transparent\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/6gr3mlBQR8M&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; wmode=\&quot;transparent\&quot; width=\&quot;385\&quot; height=\&quot;322\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt=""></a></div>
</div>
</div>
<blockquote><p>&#8220;There is no strife, no prejudice, no national conflict in outer space as yet. Its hazards are hostile to us all. Its conquest deserves the best of all mankind, and its opportunity for peaceful cooperation may never come again. But why, some say, the moon? Why choose this as our goal? And they may well ask why climb the highest mountain. Why, 35 years ago, fly the Atlantic? Why does Rice play Texas? We choose to go to the moon. <strong>We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.</strong> It is for these reasons that I regard the decision last year to shift our efforts in space from low to high gear as among the most important decisions that will be made during my incumbency in the Office of the Presidency.&#8221;</p>
</blockquote>
<p>Where has this type of spirit gone in our nation?&nbsp; Is it dead or just sleeping waiting for the right time to reemerge?&nbsp; It makes me sad I wasn&#8217;t around to see the US in it&#8217;s glory days, just in it&#8217;s seeming twilight, although this is a ray of hope:</p>
<p>&nbsp;</p>
<p><a href="http://blog.danmcweeney.com/wp-content/uploads/2008/05/230214main-phx-lander.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="450" alt="230214main_PHX_Lander" src="http://blog.danmcweeney.com/wp-content/uploads/2008/05/230214main-phx-lander-thumb.jpg" width="424" border="0"></a> </p>
<p><a href="http://www.nasa.gov/mission_pages/phoenix/images/press/PHX_Lander.html">Phoenix lander descends to Martian surface, shot from MRO</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=dpQoNH"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=dpQoNH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=1MK57H"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=1MK57H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=2VbWgh"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=2VbWgh" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/299088842" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/73/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F73</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/73</feedburner:origLink></item>
		<item>
		<title>Some Useful Flex/AIR Tidbits</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/275424331/69</link>
		<comments>http://blog.danmcweeney.com/69#comments</comments>
		<pubDate>Tue, 22 Apr 2008 14:03:21 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Adobe]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/69</guid>
		<description><![CDATA[Recently I had the &#8220;pleasure&#8221; of learning the ins and outs of building Flex and AIR applications via the SDK on a Linux machine.&#160; I wanted to do this for some of the libraries that underpin my project so that they could be built and tested automatically.&#160; So, I setup SVN, Trac and CruiseControl on [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had the &#8220;pleasure&#8221; of learning the ins and outs of building Flex and AIR applications via the SDK on a Linux machine.&nbsp; I wanted to do this for some of the libraries that underpin my project so that they could be built and tested automatically.&nbsp; So, I setup SVN, Trac and CruiseControl on a Ubuntu VM on my mac.&nbsp; To get started there are tons of resources about getting SVN and Trac setup under Apache on Ubuntu so, just Google for them.&nbsp; Setting up CruiseControl was really easy thanks to their good documents, I started with the source distro but, do whatever works.</p>
<p>Now, onto why I&#8217;m posting today, along the way I found some annoying things about how FlexBuilder played with the SDK.&nbsp; For instance, the .flexLibProperties file that is hidden in your FB project, is not the right format to be taken in as a parameter to &#8220;compc&#8221; ( the library compiler, which seems to require a list of class names to include ), so I wrote a quick Python script to convert that file into a config file that is readable by compc.&nbsp; Here is how to include it in your Ant script:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 300px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">

<span style="color: #0000ff">&lt;</span><span style="color: #800000">target</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">=&#8221;setupClassList&#8221;</span><span style="color: #0000ff">&gt;</span>
    <span style="color: #0000ff">&lt;</span><span style="color: #800000">exec</span> <span style="color: #ff0000">executable</span><span style="color: #0000ff">=&#8221;python&#8221;</span> <span style="color: #ff0000">failonerror</span><span style="color: #0000ff">=&#8221;yes&#8221;</span><span style="color: #0000ff">&gt;</span>
        <span style="color: #0000ff">&lt;</span><span style="color: #800000">arg</span> <span style="color: #ff0000">line</span><span style="color: #0000ff">=&#8221;${helperDir}/classFileConverter.py ${lib_root_dir}/.flexLibProperties classes.xml&#8221;</span><span style="color: #0000ff">/&gt;</span>
    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">exec</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;/</span><span style="color: #800000">target</span><span style="color: #0000ff">&gt;</span>


&nbsp;
</pre>
</div>
<p>It takes in two parameters so you can manipulate the output location of the new file.<br />Another odd part is that the application descriptor for an AIR project doesn&#8217;t get correctly populated.&nbsp; FB itself fills in the &lt;content&gt; tag for you when it goes to compile.&nbsp; If you look in your source directory the application descriptor has this string, &#8220;[This value will be overwritten by Flex Builder in the output app.xml]&#8221; instead of the name of the SWF.&nbsp; One more little python script:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 300px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">

<span style="color: #0000ff">&lt;</span><span style="color: #800000">exec</span> <span style="color: #ff0000">executable</span><span style="color: #0000ff">=&#8221;python&#8221;</span> <span style="color: #ff0000">failonerror</span><span style="color: #0000ff">=&#8221;yes&#8221;</span><span style="color: #0000ff">&gt;</span>
    <span style="color: #0000ff">&lt;</span><span style="color: #800000">arg</span> <span style="color: #ff0000">line</span><span style="color: #0000ff">=&#8221;${helperDir}/appDescrFix.py ../bin-debug/${app_descriptor}&#8221;</span><span style="color: #0000ff">/&gt;</span>
<span style="color: #0000ff">&lt;/</span><span style="color: #800000">exec</span><span style="color: #0000ff">&gt;</span>

<span style="color: #0000ff"></span><font color="#0000ff"></font>

</pre>
</div>
<p>&nbsp;</p>
<p>Of course, I am going to give you the scripts!&nbsp; Here are the links:<br /><a href="http://www.danmcweeney.com/static/mxmlcHelpers/classFileConverter.py">.flexLibProperties Converter</a><br /><a href="http://www.danmcweeney.com/static/mxmlcHelpers/appDescrFix.py">Application Descriptor Fixer</a></p>
<p>&nbsp;</p>
<p>If someone knows a much easier way to do this just using the command line tools and/or Ant, I&#8217;d love to hear it!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=VbAarJG"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=VbAarJG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=yTOvv3G"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=yTOvv3G" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=DY6weZg"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=DY6weZg" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/275424331" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/69/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F69</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/69</feedburner:origLink></item>
		<item>
		<title>New Year, New Gig</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/214003822/63</link>
		<comments>http://blog.danmcweeney.com/63#comments</comments>
		<pubDate>Wed, 09 Jan 2008 21:11:31 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[et alii]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/63</guid>
		<description><![CDATA[
My&#160;blog has been quiet and I&#8217;ve been off Twitter for close to a month now, mostly due to taking some well needed time off after the SAP Fellowship but also weighing a pretty big choice I had to make.
Stay at Colgate-Palmolive or leave for a job working for Adobe in a new product group creating [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Photo Sharing" href="http://www.zooomr.com/photos/danmcweeney/978846/"><img style="margin: 0px 5px 5px 0px" height="147" alt="San Francsico" src="http://static.zooomr.com/images/978846_f99441a1dd.jpg" width="198" align="left"></a>
<p>My&nbsp;blog has been quiet and I&#8217;ve been off Twitter for close to a month now, mostly due to taking some well needed time off after the <a href="http://weblogs.sdn.sap.com/pub/wlg/6253" target="_blank">SAP Fellowship</a> but also weighing a pretty big choice I had to make.</p>
<p>Stay at Colgate-Palmolive or leave for a job working for Adobe in a new product group creating a new enterprise software offering.&nbsp; A new job certainly has its risks especially when compared to the stable home I have made for myself at Colgate.&nbsp; However, with some good advice from my friends I have decided to leave Colgate to pursue the opportunity with Adobe.</p>
<p>Working at Colgate has allowed me to do so much and&nbsp;opened so many doors for me.&nbsp; &nbsp;I cannot begin to express how much I appreciated all the support through the years the company&#8217;s management has give me.&nbsp; I&#8217;ve traveled ( and taken pictures )&nbsp;all over the world from <a href="http://picasaweb.google.com/daniel.mcweeney/India">India</a> to <a href="http://www.zooomr.com/photos/danmcweeney/sets/27365/" target="_blank">Bangkok</a> to <a href="http://www.zooomr.com/photos/danmcweeney/sets/27366/" target="_blank">Dublin</a>.&nbsp; I got to learn what makes a business like Colgate run from both the IT and business side.&nbsp; I&#8217;ve presented in front of thousands of people in both the <a href="http://picasaweb.google.com/daniel.mcweeney/TechEdLasVegas">US </a>and <a href="http://picasaweb.google.com/daniel.mcweeney/TechEdLasVegas">EU</a>.&nbsp; These experiences cannot be learned from a book and having this as my first job out of school was a great experience.</p>
<p>However, working for Adobe is going to be a great new chapter in my life &#8212; getting to see how software goes from just an idea on a whiteboard to a full fledged product is going to quite an adventure and I look forward to the challenge.</p>
<p>Thanks again to Colgate and more importantly all the Colgate people that made my time there so enjoyable.</p>
<p>For those of you keeping track my last day at Colgate will be Jan 18th and I will start at Adobe that following&nbsp;Monday, Jan 21st.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=slc46UD"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=slc46UD" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=wIxjlCD"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=wIxjlCD" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=QiNPZid"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=QiNPZid" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/214003822" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/63/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F63</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/63</feedburner:origLink></item>
		<item>
		<title>Crack Addicted Invisible Hand</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/197767741/62</link>
		<comments>http://blog.danmcweeney.com/62#comments</comments>
		<pubDate>Sun, 09 Dec 2007 23:25:49 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[SAP]]></category>

		<category><![CDATA[innovation]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/62</guid>
		<description><![CDATA[In Scoble&#8217;s blog Why enterprise software isn’t&#160;sexy, he asks a simple question, &#8220;Any of you have any ideas on how to make business software sexy?&#8221;&#160; A lot of my fellow Enterprise Irregulars have taken Robert to task about this, saying that it is in reality sexy:
&#8220;[B]eauty and sexiness is in the eye of the beholder&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>In Scoble&#8217;s blog <a href="http://scobleizer.com/2007/12/09/why-enterprise-software-isnt-sexy/">Why enterprise software isn’t&nbsp;sexy</a>, he asks a simple question, &#8220;Any of you have any ideas on how to make business software sexy?&#8221;&nbsp; <a href="http://blogs.zdnet.com/Howlett/?p=253">A</a> <a href="http://craig.cmehil.com/2007/12/why-enterprise-software-isnt-sexy.html">lot</a> <a href="http://123suds.blogspot.com/2007/12/enterprise-software-not-significant.html">of</a> <a href="http://www.anshublog.com/2007/12/enterprise-software-sexy-like-diane.html">my</a> <a href="http://blogs.zdnet.com/projectfailures/?p=524">fellow</a> <a href="http://ei.wordframe.net/">Enterprise Irregulars</a> have taken Robert to task about this, saying that it is in reality sexy:</p>
<blockquote><p>&#8220;[B]eauty and sexiness is in the eye of the beholder&#8230; [seeing] <a href="http://florence20.typepad.com/renaissance/2005/12/technology_inno_1.html">UPS</a> give each one of its drivers a DIAD - and they did it years before the recent wave of personal gadgets - with GPS, wifi, scanning and other technologies. And with a battery that lasts all day. Can our iPhones do that?&#8221;</p>
</blockquote>
<p><a href="http://dealarchitect.typepad.com/deal_architect/2007/12/damn-proud-to-b.html">Vinnie</a> does a great job showing how underneath the ugly exterior enterprise software is amazing and sexy.&nbsp; Most of these posts are all missing the important comparison Scoble is making that Nick Carr picks up on <a href="http://www.roughtype.com/archives/2007/12/michael_krigsma.php">here</a>:</p>
<blockquote><p>perpetuating a false dichotomy between the friendliness of consumer apps and the seriousness of business apps, all that Krigsman is doing is giving enterprise vendors cover for continuing to produce software that&#8217;s difficult and unpleasant to use</p>
</blockquote>
<p>The <a href="http://blogs.zdnet.com/projectfailures/?p=524">post from Michael Krigsman</a>(which although Nick beats up on chooses not to link to)&nbsp;talks about, how all this isn&#8217;t relevant because enterprise software is &#8220;intended to “enable core business processes” with a high degree of reliability, security, scalability, and so on.&#8221;</p>
<p>Enterprise vendors need to be keenly aware of the consumer market but, SAP&#8217;s&nbsp;customers don&#8217;t pay them&nbsp;to run around like Scoble and chase every new technology/website that comes out.&nbsp; They pay them to make measured,&nbsp;smart choices with what they create and how they spend their R&amp;D money.&nbsp; Their customers do indeed expect the software they create to have a &#8220;a high degree of reliability, security, scalability.&#8221;</p>
<p>Enterprise vendors have an advantage&nbsp;&#8211;&nbsp;they can ride on top of the frothy startup market cherry picking things that work well and will deliver value back to an enterprise&#8217;s bottom line.&nbsp;&nbsp;In the consumer tech industry, the invisible hand of the market is addicted to crack and has the attention span of a two year old.&nbsp; The consumer market is chaotic, jumpy and prone to fickleness.&nbsp; Online companies/ideas are created and destroyed everyday, and it is up to Scoble and other followers of tech to survey what&#8217;s out there, they need the thousands of readers.&nbsp; The two industries have totally different business models, Twitter needs millions of users to monetize their software, SAP is very profitable on about&nbsp;40k &#8220;users&#8221; world wide.</p>
<p>This shows the Enterprise software market is much more focused and so is their advertising.&nbsp; <a href="http://blogs.zdnet.com/BTL">Dan Farber</a> does an excellent job of handling this topic and refocusing the discussion on what Gates actually said:</p>
<blockquote><p>The business computing market, which is way bigger than the consumer computing market, no one pays attention to it. Even in the Wall Street Journal, and you think, oh, this is the paper they’re going to tell me about business computing; no, it’s all about consumer computing</p>
<p>LiveSide.net - <a href="http://www.liveside.net/blogs/opinion/archive/2007/12/09/bill-gates-mix-n-mash-and-the-future-of-microsoft.aspx">Bill Gates, Mix n Mash, and the future of Microsoft</a></p>
</blockquote>
<p>Dan goes on to point out <a href="http://blogs.zdnet.com/BTL/?p=7285">why ZDnet covers enterprise topics</a>:</p>
<blockquote><p>We recognize that in the 21st century you cannot easily separate the two, given technology is deeply embedded in work and personal lives&#8230; [T]he financial equation is not just about page views or number of readers–more important is the quality of readers we draw into the ZDNet orbit</p>
</blockquote>
<p>Who am I to contradict Dan when it comes to the determination of advertising revenue &#8212; after all he is the Editor in Chief of ZDnet.&nbsp; In the advertising arena you can also point to things like SAP sponsoring <a href="http://www.sap.com/about/company/sports/player/index.epx">golf stars</a>, <a href="http://www.sap.com/about/company/sports/roddick/index.epx">tennis pros</a>, <a href="http://www.sap.com/about/company/sports/mclaren/index.epx">formula one cars</a>, <a href="http://www.sap.com/about/company/sports/index.epx">etc</a>.&nbsp; Who watches these things?&nbsp; CIOs, and other TLA execs who make these decisions.&nbsp; If SAP&nbsp;cared about CPM they would advertise with NASCAR.&nbsp; Let&#8217;s just give SAP the benefit of the doubt that they understand their market more then Scoble.</p>
<p>I couldn&#8217;t agree more that Enterprise vendors need to make things easier to use and an all around friendlier experience but, they need to be smart and measured because that&#8217;s what their customers want.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=hNsf3yC"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=hNsf3yC" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=DlwSrSC"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=DlwSrSC" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=lmLdC4c"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=lmLdC4c" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/197767741" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/62/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F62</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/62</feedburner:origLink></item>
		<item>
		<title>Please don’t chase Waterfalls</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/195942533/60</link>
		<comments>http://blog.danmcweeney.com/60#comments</comments>
		<pubDate>Thu, 06 Dec 2007 06:44:41 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[Methods]]></category>

		<category><![CDATA[SDN blogger]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/60</guid>
		<description><![CDATA[There have been&#160;a couple of blogs recently about the waterfall method and it&#8217;s usefulness: one from The CIO Weblog, which linked to Eugene Nizker at CIO Magazine&#160;which points to an IBM article by Dr. Kruchten&#160;on the subject.
For some reason none of these blogs comes right out and says the obvious.&#160; Software development methodologies are like [...]]]></description>
			<content:encoded><![CDATA[<p>There have been&nbsp;a couple of blogs recently about the waterfall method and it&#8217;s usefulness: one from <a href="http://www.cio-weblog.com/50226711/did_the_waterfall_model_fail.php">The CIO Weblog</a>, which linked to <a href="http://advice.cio.com/eugene_nizker/why_the_waterfall_failed">Eugene Nizker at CIO Magazine</a>&nbsp;which points to an IBM article by <a href="http://www.ibm.com/developerworks/rational/library/4626.html">Dr. Kruchten</a>&nbsp;on the subject.
<p>For some reason none of these blogs comes right out and says the obvious.&nbsp; Software development methodologies are like religions:&nbsp; everyone has one and they all hate everyone else&#8217;s for no reason except they aren&#8217;t their sworn religion.&nbsp; In real life, this is dangerous, expensive and prone to the types of failures noted in the blogs.
<p>I haven&#8217;t worked in industry for 35+ years like <a href="http://advice.cio.com/user/eugene_nizker">Mr. Nizker</a> but after a few projects it became obvious to me when you can use agile methods and when waterfall is the most appropriate.&nbsp; Let&#8217;s try and do what none of the other blogs tried to do and break it down.<br />
<h3>&#8220;Roll-out&#8221;</h3>
<p>A very common thing in large companies (this was found via the <a href="http://www.cio-weblog.com/">CIO Weblog</a> right?) is to take a newly developed solution and push it all over the world to standardize a business process.&nbsp; These systems are the perfect candidate for the waterfall method.&nbsp; The users can look at a system and see the gaps and let the people in charge of creating their &#8220;copy&#8221; of the system know about the changes.&nbsp; This allows the &#8220;developers&#8221; to take the requirements in advance and while creating this new &#8220;copy&#8221; of the system add the modifications required for the new location.&nbsp; Once the system is ready it can be easily tested with prior business cases and be easily validated for the new location.&nbsp;&nbsp; I guess this is the &#8220;deterministic&#8221; task talked about by <a href="http://advice.cio.com/eugene_nizker/why_the_waterfall_failed">CIO Magazine</a>.<br />
<h3>&#8220;I think I need&#8230;&#8221;</h3>
<p>Everything else falls into this category.&nbsp; The category where the person defining the system has only half of a clue about what they need or want.&nbsp; I do like the way Mr. Nizker classifies these problems, &#8220;[there is a] volatile reality, which changes on them every day [and] the systems we develop influence [that] reality.&#8221;&nbsp; It&#8217;s sort of the <a href="http://www.aip.org/history/heisenberg/p08.htm">Heisenberg uncertainly principal</a> of IT systems.&nbsp; Until we start to peel back the layers the people trying to define the system don&#8217;t know the extent of their own delusion.&nbsp; You should think of it like therapy we must slowly work to the actual root of the problem.&nbsp; You can only do this in an iterative manner until the user has seen the solution they have no clue what their problem even is.
<p>It is all about using the right tool for the job and being able to tell the different before you start.&nbsp; Just as using the iterative method is overkill for a roll-out style project, the&nbsp;waterfall spells total doom for the iterative project.&nbsp; I rarely have a hard time deciding which tool to use.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=I04nVKC"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=I04nVKC" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=fmero6C"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=fmero6C" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=g6NGfKc"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=g6NGfKc" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/195942533" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/60/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F60</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/60</feedburner:origLink></item>
		<item>
		<title>Feed Implosion</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/193968394/59</link>
		<comments>http://blog.danmcweeney.com/59#comments</comments>
		<pubDate>Sun, 02 Dec 2007 17:46:14 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[et alii]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/59</guid>
		<description><![CDATA[Not sure what the heck is going on with my feed right now.  I switched over to use the Feedsmith plugin on my Wordpress install so I could start to get the most out of Feedburner.  However, it seems that now all my delicious links are getting reposted a few times each.  [...]]]></description>
			<content:encoded><![CDATA[<p>Not sure what the heck is going on with my feed right now.  I switched over to use the Feedsmith plugin on my Wordpress install so I could start to get the most out of Feedburner.  However, it seems that now all my delicious links are getting reposted a few times each.  I have turned off the Link Splicer from Feedburner, hopefully that will make it stop.</p>
<p>Sorry all.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=iHNcgEC"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=iHNcgEC" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=p7jmMrC"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=p7jmMrC" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=1kDehmc"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=1kDehmc" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/193968394" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/59/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F59</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/59</feedburner:origLink></item>
		<item>
		<title>Community Activism</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/192012246/58</link>
		<comments>http://blog.danmcweeney.com/58#comments</comments>
		<pubDate>Wed, 28 Nov 2007 19:48:47 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[SDN blogger]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/58</guid>
		<description><![CDATA[The SDN leadership have done a great thing, they have linked their &#8220;points&#8221; incentive program to a good world cause, School Feeding.&#160; From Chief Evangelist Mark Finnern&#8217;s blog Food for Points:
The whole community collected around 2.5 million points last year.
If we reach the same amount of points next year, we will have 100K Euro. (If [...]]]></description>
			<content:encoded><![CDATA[<p>The SDN leadership have done a great thing, they have linked their &#8220;points&#8221; incentive program to a good world cause, <a href="http://www.wfp.org/food_aid/school_feeding">School Feeding</a>.&nbsp; From Chief Evangelist Mark Finnern&#8217;s blog <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/7898">Food for Points</a>:</p>
<blockquote><p>The whole community collected around 2.5 million points last year.
<p>If we reach the same amount of points next year, we will have 100K Euro. (If we don&#8217;t, we will walk in shame.)
<p>If we reach 3.0 million points, SAP will donate 150K Euro.
<p>Now if we even reach 3.5 million points, the amount will rise to the maximum of 200K Euro. </p>
</blockquote>
<p>From the World Food Programme&#8217;s web site:</p>
<blockquote><p>It costs just 10 US cents a day to give a child a cup of porridge at school. An additional nine US cents a day provides a child with a nutritional package, including basic health and sanitation support.</p>
</blockquote>
<p>1 Pt * ( # of Euros / # of Points ) *&nbsp; ( 1&nbsp;USD / .67 EUR ) * ( child / .1 USD ) = Conversion</p>
<p>Roughly translated back to points that means for every point you earn on SDN you will feed between .6 and .85 children for one day.&nbsp; With the average blog post getting around 50 points, one blog can feed 30-40 children that day.</p>
<p><strong>“One person can make a difference and every person should try.” John Fitzgerald Kennedy</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=QDdturB"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=QDdturB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=XzDZYpB"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=XzDZYpB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=6Mq2qVb"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=6Mq2qVb" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/192012246" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/58/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F58</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/58</feedburner:origLink></item>
		<item>
		<title>SAP Web Services in Flex Builder</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/184846890/57</link>
		<comments>http://blog.danmcweeney.com/57#comments</comments>
		<pubDate>Wed, 14 Nov 2007 19:52:43 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[ABAP]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[SDN blogger]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/57</guid>
		<description><![CDATA[SAP web services are really complex, tables inside rows inside tables inside structures.&#160; I&#8217;ve been fielding an increasing number of questions about using these in the forum so, instead of answering everyone separately here are a few examples from simple to complex.
Let&#8217;s start off with one of the simpler examples just to get the hang [...]]]></description>
			<content:encoded><![CDATA[<p>SAP web services are really complex, tables inside rows inside tables inside structures.&nbsp; I&#8217;ve been fielding an increasing number of questions about using these in the forum so, instead of answering everyone separately here are a few examples from simple to complex.</p>
<p>Let&#8217;s start off with one of the simpler examples just to get the hang of it.&nbsp; Use SAPLink and install this <a href="http://zclguialvgrid.googlecode.com/files/FUGR_ZSDN_TESTS.slnk">function group</a> and generate a web service from the one function in it.&nbsp; Now, lets write some Flex code to call this.</p>
<h3>Import Statements</h3>
<p>A few people have asked me to add the import statements to this.&nbsp; For reference if you go to the object that has the error, move your cursor to the end of the word hold control and press space the import will be added for you automatically, welcome to the wonderful world of a good IDE.&nbsp; But the following in a &lt;mx:Script&gt; block between the &lt;mx:Application&gt; tags.</p>
<div class="wlWriterEditableSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:cfad4a30-9b29-416c-93d9-133e8c4b2b76" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color: white">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #000000">import mx.rpc.AbstractOperation;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.LoadEvent;
import mx.rpc.soap.WebService;</span></div>
</pre>
</div>
<h2>Simplest Example</h2>
<h3>Step 1 - Get your WSDL</h3>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:177a0323-a5da-495a-b187-ee5972c3502e" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 703px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080; ">1</span> <span style="color: #0000FF; ">private</span><span style="color: #000000; "> function callWebService():</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">{
</span><span style="color: #008080; ">2</span> <span style="color: #000000; ">    fooService </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> WebService();
</span><span style="color: #008080; ">3</span> <span style="color: #000000; ">    fooService.wsdl </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">http://localhost/sap/bc/srt/rfc/sap/Z_TEST_CHANGING_PARAM?sap-client=300&amp;wsdl=1.1</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">;
</span><span style="color: #008080; ">4</span> <span style="color: #000000; ">    fooService.addEventListener(LoadEvent.LOAD, loadListener);
</span><span style="color: #008080; ">5</span> <span style="color: #000000; ">    fooService.addEventListener(ResultEvent.RESULT, resultTrigger);
</span><span style="color: #008080; ">6</span> <span style="color: #000000; ">    fooService.addEventListener(FaultEvent.FAULT,fault);
</span><span style="color: #008080; ">7</span> <span style="color: #000000; ">    fooService.loadWSDL();
</span><span style="color: #008080; ">8</span> <span style="color: #000000; ">}</span></div>
</pre>
</div>
<p><strong>Line by Line:</strong></p>
<ol>
<li>Declare a function that will start the whole process</li>
<li>Create a WebService object, this should be global or at least visible to the other methods ( you&#8217;ll need it later )</li>
<li>Point the WS to the location of the WSDL</li>
<li>Add an EventListener for when the Loading of the WSDL is complete</li>
<li>Add an EventListener for the results coming back from the call</li>
<li>Add an EventListener for any errors that occur</li>
<li>Tell the WS to load the WSDL</li>
</ol>
<h3><font face="Verdana">Step 2 - Set Some Parameters</font></h3>
<p><div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:438555d6-8ee2-4317-b461-6b80d6189730" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 694px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080; ">1</span> <span style="color: #0000FF; ">private</span><span style="color: #000000; "> function loadListener(</span><span style="color: #0000FF; ">event</span><span style="color: #000000; ">:LoadEvent):</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">{
</span><span style="color: #008080; ">2</span> <span style="color: #000000; ">    var op:AbstractOperation </span><span style="color: #000000; ">=</span><span style="color: #000000; "> fooService.getOperation(</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">Z_DOUBLE_ROWS</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">);
</span><span style="color: #008080; ">3</span> <span style="color: #000000; ">    var input:Object </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Object();
</span><span style="color: #008080; ">4</span> <span style="color: #000000; ">    input.TEST </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Array();
</span><span style="color: #008080; ">5</span> <span style="color: #000000; ">    input.TEST.push(</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">foo</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">);
</span><span style="color: #008080; ">6</span> <span style="color: #000000; ">    input.TEST.push(</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">bar</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">);
</span><span style="color: #008080; ">7</span> <span style="color: #000000; ">    op.arguments </span><span style="color: #000000; ">=</span><span style="color: #000000; "> input;
</span><span style="color: #008080; ">8</span> <span style="color: #000000; ">    op.send();
</span><span style="color: #008080; ">9</span> <span style="color: #000000; ">}</span></div>
</pre>
</div>
<p><strong>Line by Line:</strong></p>
<ol>
<li>Declare a function who handles the event you subscribed to in the Step&nbsp;1 line 4.</li>
<li>Get the Operation from the WSDL file.&nbsp; This is one of those &#8220;standard&#8221; ways of doing things.&nbsp; If you look at your WSDL file you will see that it could have more then one operation in it, this gets the particular operation you want to call.</li>
<li>Create a dynamic object that will hold the inbound parameters to your WS.&nbsp; In this case the parameter TEST is a table of strings.</li>
<li>Here we create what Flex builder thinks is how to hold&nbsp; a table, an Array.</li>
<li>Then we push each &#8220;row&#8221; of the table into the array again, in this case it&#8217;s just one string at a time.</li>
<li>See Line 5</li>
<li>We then map the input object to the arguments of the WS.</li>
<li>Send our request including all the input data to the server</li>
</ol>
<h3>Step 3 - Look at the Output</h3>
<p><div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:d2cd3332-1cb8-4784-b329-fe14eb61a44c" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 694px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080; ">1</span> <span style="color: #0000FF; ">private</span><span style="color: #000000; "> function resultTrigger(</span><span style="color: #0000FF; ">event</span><span style="color: #000000; ">:ResultEvent):</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">{
</span><span style="color: #008080; ">2</span> <span style="color: #000000; ">    var item:String;
</span><span style="color: #008080; ">3</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> each(item </span><span style="color: #0000FF; ">in</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">event</span><span style="color: #000000; ">.result){
</span><span style="color: #008080; ">4</span> <span style="color: #000000; ">        trace(item);
</span><span style="color: #008080; ">5</span> <span style="color: #000000; ">    }
</span><span style="color: #008080; ">6</span> <span style="color: #000000; ">}</span></div>
</pre>
</div>
<p><strong>Line by Line</strong></p>
<ol>
<li>Define a function to handle the event from section 1 line 5</li>
<li>Declare on object to hold each result</li>
<li>Loop at each item in the result list, which happen to be strings.</li>
<li>Print them out to the debug console</li>
</ol>
<p>I will talk about more advanced parsing of the result set later on.</p>
<h2>Inbound Table Parameter</h2>
<p>First, get your WSDL, in this case I will be using the FM BAPI_FLIGHT_GETLIST from the SFLIGHTS example we are all so fond of.&nbsp; You should run this FM a few times to make sure you have data on the ABAP side, I will be passing in a date range to this FM so, you might want to find two dates that return some data for you. ( I named my WebService &#8220;Z_GET_FLIGHT_LIST&#8221; )</p>
<h3>Step 1 - Get Your WSDL</h3>
<p>This is the same exact thing you did before, just with a different WSDL.</p>
<h3>Step 2 - Set some Parameters</h3>
<p>There is a strange behavior with ABAP WebServices where if you have a table that is both Input and Output you must pass it as part request to get it filled.&nbsp; You&#8217;ll see in a second:</p>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:69c09289-32e6-49d6-bf4d-a6302ba552cb" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 697px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080; ">1</span> <span style="color: #0000FF; ">private</span><span style="color: #000000; "> function loadListener(</span><span style="color: #0000FF; ">event</span><span style="color: #000000; ">:LoadEvent):</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">{
</span><span style="color: #008080; ">2</span> <span style="color: #000000; ">    var op:AbstractOperation </span><span style="color: #000000; ">=</span><span style="color: #000000; "> fooService.getOperation(</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">BAPI_FLIGHT_GETLIST</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">);
</span><span style="color: #008080; ">3</span> <span style="color: #000000; ">    var input:Object </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Object();
</span><span style="color: #008080; ">4</span> <span style="color: #000000; ">    input.FLIGHT_LIST </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Array();
</span><span style="color: #008080; ">5</span> <span style="color: #000000; ">    input.RETURN </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Array();
</span><span style="color: #008080; ">6</span> <span style="color: #000000; ">    op.arguments </span><span style="color: #000000; ">=</span><span style="color: #000000; "> input;
</span><span style="color: #008080; ">7</span> <span style="color: #000000; ">    op.send();
</span><span style="color: #008080; ">8</span> <span style="color: #000000; ">}</span></div>
</pre>
</div>
<p><strong>Line by Line</strong></p>
<ol>
<li>Define a function that handles the event</li>
<li>Get the right operation</li>
<li>Dynamic input object</li>
<li>You have to pass blank parameters to the WS so that the Web Application Server will fill them</li>
<li>See line 4</li>
<li>Same as last time</li>
<li>Same here</li>
</ol>
<p><strong><font face="Trebuchet MS"></font></strong></p>
<h3>Set Table Parameters</h3>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:aa159222-3442-4c18-aa83-e3ec8a1d1097" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 707px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080; ">1</span> <span style="color: #000000; ">    var dateRangeRow:Object </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Object();
</span><span style="color: #008080; ">2</span> <span style="color: #000000; ">    input.DATE_RANGE </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Array();
</span><span style="color: #008080; ">3</span> <span style="color: #000000; ">    dateRangeRow.SIGN </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">I</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">;
</span><span style="color: #008080; ">4</span> <span style="color: #000000; ">    dateRangeRow.OPTION </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">EQ</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">;
</span><span style="color: #008080; ">5</span> <span style="color: #000000; ">    dateRangeRow.LOW </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">2002-12-20</span><span style="color: #000000; ">&quot;</span><span style="color: #000000; ">;
</span><span style="color: #008080; ">6</span> <span style="color: #000000; ">    dateRangeRow.HIGH </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;&quot;</span><span style="color: #000000; ">;
</span><span style="color: #008080; ">7</span> <span style="color: #000000; ">    input.DATE_RANGE.push(dateRangeRow);</span></div>
</pre>
</div>
<p><strong>Line by Line ( add this between lines 5 and 6 from the prior example )</strong></p>
<ol>
<li>Create a new dynamic object that holds a Row of the DATE_RANGE table</li>
<li>Create an array called DATE_RANGE which will map to the DATE_RANGE input parameter</li>
<li>Set each field dynamically</li>
<li>More fields</li>
<li>More fields</li>
<li>More fields ( don&#8217;t need to pass this one because it&#8217;s blank )</li>
<li>Push this row into the array</li>
</ol>
<h3>Step 3 - Look at the Output</h3>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:75a8b0ec-b550-49fc-b543-b28156dc611e" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 701px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080; ">1</span> <span style="color: #0000FF; ">private</span><span style="color: #000000; "> function resultTrigger(</span><span style="color: #0000FF; ">event</span><span style="color: #000000; ">:ResultEvent):</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">{
</span><span style="color: #008080; ">2</span> <span style="color: #000000; ">    var row:Object;
</span><span style="color: #008080; ">3</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> each (row </span><span style="color: #0000FF; ">in</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">event</span><span style="color: #000000; ">.result.FLIGHT_LIST){
</span><span style="color: #008080; ">4</span> <span style="color: #000000; ">        trace(row.AIRLINE </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; "> </span><span style="color: #000000; ">&quot;</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> row.CITYFROM);
</span><span style="color: #008080; ">5</span> <span style="color: #000000; ">    }
</span><span style="color: #008080; ">6</span> <span style="color: #000000; ">}</span></div>
</pre>
</div>
<p><strong>Line by Line</strong></p>
<ol>
<li>Function, again.</li>
<li>Use a place holder dynamic object</li>
<li>Loop at the table called FLIGHT_LIST ( looks like ABAP doesn&#8217;t it? )</li>
<li>Print to the console the fields you want ( looks like ABAP doesn&#8217;t it? )</li>
</ol>
<p>Disclaimer: There are a number of ways to call WebServices in Flex, I believe this is the most complete and &#8220;standard&#8221; way to call them, if not someone please point me to Adobe docs that show the most correct way.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=mFEWSoB"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=mFEWSoB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=IlCtHQB"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=IlCtHQB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=7nHJS4b"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=7nHJS4b" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/184846890" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/57/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F57</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/57</feedburner:origLink></item>
		<item>
		<title>Life Hub "Spec"</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/180227205/56</link>
		<comments>http://blog.danmcweeney.com/56#comments</comments>
		<pubDate>Mon, 05 Nov 2007 19:27:49 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[Life Hub]]></category>

		<category><![CDATA[innovation]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/56</guid>
		<description><![CDATA[I want a Life Hub.&#160; Don&#8217;t worry I still want a phone/PDA, iPod, camera and computer.&#160; I&#8217;m one of those people that believes a device that does &#8220;everything&#8221; doesn&#8217;t do any of them particularly well.&#160; I want something that I can carry around that plugs me into my or your&#160;devices and shares my data with [...]]]></description>
			<content:encoded><![CDATA[<p>I want a Life Hub.&nbsp; Don&#8217;t worry I still want a <a href="http://na.blackberry.com/eng/devices/series-detail.jsp?navId=H0,C201">phone</a>/PDA, iPod, camera and computer.&nbsp; I&#8217;m one of those people that believes a device that does &#8220;everything&#8221; doesn&#8217;t do any of them particularly well.&nbsp; I want something that I can carry around that plugs me into my or your&nbsp;devices and shares my data with them.
<p>When I sit in my car, I want my Life Hub to connect up to my music interface device which connects to my car so the controls are mapped to the steering wheel and the music comes out the speakers.
<p>When I go to the office, I want my Life Hub to connect to my work phone and register my cell number so my work phone will ring with calls placed to my cell phone.
<p>When I take a picture with my camera, I want it saved on my Life Hub.&nbsp; I want to be able to browse those pictures on my smart phone and email them to my friends.&nbsp; Kind of like <a href="http://www.scripting.com/stories/2007/11/05/rememberTheSocialCamera.html">Dave&#8217;s social camera</a>.&nbsp; If I so chose my Life Hub can broadcast to others the picture I just took, without or without the tagging my camera added.
<p>Why do I need 97 different syncing programs to get my Outlook Calendar, Google Calendar, and iCal Calendar to line up!&nbsp; Aren&#8217;t these just visualizations of the same data set?&nbsp; If I had my calendar on my Life Hub, I could just access it from there.&nbsp; Who cares where I&#8217;m sitting, at my home machine, work machine or at the Library.
<p>So, what is a Life Hub, basically a&nbsp;high capacity solid state memory drive (&nbsp;Intel&nbsp;is looking to get up to <a href="http://www.ecommercetimes.com/story/56265.html">160GB in the next few years</a>&nbsp;)&nbsp;with a very high bandwidth wireless connection.&nbsp; It has a UI that lets you &#8220;allow&#8221; devices to connect for a period of time and access certain types of data on your Life Hub, read and/or write.&nbsp; The idea is that this thing should eventually be small enough to fit on a key chain, think thumb drive on crack &#8212; in reality it could be your key chain!&nbsp; Ever seen someone unlock and start their Prius without taking a key out?
<p>If it had strong encryption you could store your X-Rays and patient files on the drive.&nbsp; What if you could allow your doctor to review a certain set of them for a period then when they are done zap the records back to you?&nbsp; Why should Microsoft control your <a href="http://www.healthvault.com/">health records</a>, or even <a href="http://computerworld.com/action/article.do?articleId=9043038&amp;command=viewArticleBasic">Google</a> for that matter?&nbsp; Today Adobe PDFs can be locked so they are only viewed for a period of time.
<p>Is all this possible today?&nbsp; Some of it &#8212; some of it is also hard,&nbsp;standardizing the wireless protocol for instance.&nbsp; Currently, there is no wireless standard that rivals Firewire for throughput sending a RAW image from today&#8217;s DSLR cameras, BlueTooth just won&#8217;t do.
<p>I have no idea how to solve these problems or “the chicken and the egg problem” of this only being useful if there are devices out there that can connect to it.&nbsp; I do know that I want one.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=eAf0UxB"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=eAf0UxB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=GC2eLDB"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=GC2eLDB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=hHYXI1b"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=hHYXI1b" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/180227205" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/56/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F56</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/56</feedburner:origLink></item>
		<item>
		<title>Banana Cream Bribe</title>
		<link>http://feeds.feedburner.com/~r/danmcweeneySDN/~3/175643593/55</link>
		<comments>http://blog.danmcweeney.com/55#comments</comments>
		<pubDate>Fri, 26 Oct 2007 20:50:03 +0000</pubDate>
		<dc:creator>dan</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<category><![CDATA[et alii]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/55</guid>
		<description><![CDATA[I guess if you want a bug fixed in the Flex SDK the best thing to do is send a Banana Cream Pie.&#160; If you open the About Flex Builder 3 and wait till the end you see the special thanks section:

Looks pretty normal till you wait for the last line to scroll by:

Don&#8217;t know [...]]]></description>
			<content:encoded><![CDATA[<p>I guess if you want a bug fixed in the Flex SDK the best thing to do is send a Banana Cream Pie.&nbsp; If you open the About Flex Builder 3 and wait till the end you see the special thanks section:</p>
<p><a href="http://blog.danmcweeney.com/wp-content/uploads/2007/10/special-thanks.png" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="220" alt="special_thanks" src="http://blog.danmcweeney.com/wp-content/uploads/2007/10/special-thanks.png" width="472" border="0"></a></p>
<p>Looks pretty normal till you wait for the last line to scroll by:</p>
<p><a href="http://blog.danmcweeney.com/wp-content/uploads/2007/10/cream-pie.png" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="220" alt="Cream_Pie" src="http://blog.danmcweeney.com/wp-content/uploads/2007/10/cream-pie-thumb.png" width="472" border="0"></a></p>
<p>Don&#8217;t know what the deal is with Zuckerman&#8217;s Mom but, hey if you need that bug fixed in the SDK just send a pie over.</p>
<p><strong><u>UPDATE 11/02:</u></strong></p>
<p>Deepa&nbsp;Subramaniam from the Flex SDK team was kind enough to shed some light on this for me:</p>
<blockquote><p>Banana Cream Pie is a favorite treat of the FlexBuilder folks. Us SDK&#8217;ers are more partial to Peanut Brittle&#8230;.<br />sugar = our friend. </p>
</blockquote>
<p>So it turns out if you have a Flex Builder issue, Banana Cream Pie, if it&#8217;s a SDK problem Peanut Brittle c/o Deepa.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=2RfIxzA"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=2RfIxzA" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=x1ROFWA"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=x1ROFWA" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/danmcweeneySDN?a=qAFixVa"><img src="http://feeds.feedburner.com/~f/danmcweeneySDN?i=qAFixVa" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/danmcweeneySDN/~4/175643593" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/55/feed</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=danmcweeneySDN&amp;itemurl=http%3A%2F%2Fblog.danmcweeney.com%2F55</feedburner:awareness><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/</creativeCommons:license><feedburner:origLink>http://blog.danmcweeney.com/55</feedburner:origLink></item>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=danmcweeneySDN</feedburner:awareness><lastBuildDate>Wed, 23 Jul 2008 00:00:00 -0500</lastBuildDate></channel>
</rss>
