<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Mac Minute</title>
	<atom:link href="http://www.macsims.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.macsims.com/blog</link>
	<description>The life and times of a guy named Mac.</description>
	<lastBuildDate>Wed, 12 Jan 2011 07:57:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Passing parameters (FlashVars) to Adobe Air at startup</title>
		<link>http://www.macsims.com/blog/2011/01/passing-parameters-flashvars-to-adobe-air-at-startup/</link>
		<comments>http://www.macsims.com/blog/2011/01/passing-parameters-flashvars-to-adobe-air-at-startup/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 07:41:09 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[FlashVars]]></category>
		<category><![CDATA[FlightXD]]></category>
		<category><![CDATA[Hudson]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/2011/01/passing-parameters-flashvars-to-adobe-air-at-startup/</guid>
		<description><![CDATA[The back story
(skip ahead to the solution)
So I have been doing quite a bit of work lately with continuous integration and auto-builds using Hudson (which I am really liking).  And one of my goals is to have applications abstracted in such a way that the same build that is used for local development can also [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 14pt;"><strong>The back story<br />
</strong></span>(<a href="#solution">skip ahead to the solution</a>)</p>
<p>So I have been doing quite a bit of work lately with continuous integration and auto-builds using <a href="http://hudson-ci.org/">Hudson</a> (which I am really liking).  And one of my goals is to have applications abstracted in such a way that the same build that is used for local development can also be used in QA, staging and deployment, but be fed different settings appropriate for each environment.  That way when you addressing issues that seem to always crop up when you deploy to live, you don&#8217;t have to wonder what&#8217;s different between the different builds you would normally have to make to incorporate the varying environment settings.</p>
<p><span id="more-35"></span>I primarily develop in <a href="http://www.adobe.com/products/flex/">Flex</a> these days, and I had been using the Config class of the <a href="http://flightxd.com/">FlightXD</a> framework to load a localConfig.xml settings file using the XMLConfig sub-class.  This class is very nice and simple in that you specify an xml and the values that are pulled from that file are accessible globally through a static reference to the Config class.  Although this was very easy and straight-forward, there were some draw-backs to loading a config file at run-time.  First of all, if say the URL to your services is loaded up with this file, you have to wait until the xml file has loaded and the values have been populated.  And as of right now, the XMLConfig class has no event to listen for to let you know when that has happened.  So I had to put in a hack to look for a &#8220;loadedDone&#8221; property (that was the last property in the xml) to be set every 100ms, and then proceed to initialize the application.  Even though this doesn&#8217;t have much of a delay, it&#8217;s enough to be annoying.</p>
<p>I next turned to FlashVars to load in my settings.  These are a little harder to work with since now the html wrapper file has to be different for each environment, but they have the significant advantage in that the values are immediately available at run-time.  Also, the Config class of the FlightXD framework also has a FlashVarsConfig sub class that can handle those for you as well.</p>
<p>So these are great for my Flex web-apps, but now I have a project that is an AIR app and I still want environment settings to be abstracted.  So after a few hours of Googling I came across several posts about getting arguments when the AIR app is launched from the command line, most notably &#8220;<a href="http://spreadingfunkyness.com/passing-parameters-to-adobe-air-at-startup/">Passing parameters to Adobe Air at startup</a>&#8221; from Cesare Rocchi&#8217;s &#8220;Spreading Funkyness&#8221; blog.  (Which I really think should be titled &#8220;Passing arguments to Adobe Air from the command line&#8221;.)  But no solutions similar to FlashVars. But in looking around at what is packaged with an AIR app when it is installed I noticed the application descriptor file application.xml, and after looking through that for a bit I found my solution.  At first I tried to add arguments to the reference to the swf file in &lt;content&gt;, but then the compiler complained about a bad URL, and then I knew what might work.</p>
<p><strong><span style="font-size: 14pt;">The Solution</span></strong></p>
<p>Each AIR project has a application descriptor file named after the project, like MyProject-app.xml. This file is automatically created when a Flex Builder or Flash Builder Flex Air project is created.  One of the nodes in this file is &lt;content&gt;.  It is a child of the &lt;initialWindow&gt; node. This is the path to the swf file used in the AIR application.  If this file was created by Flash Builder it will look like this:</p>
<pre>&lt;content&gt;[This value will be overwritten by Flash Builder in the output app.xml]&lt;/content&gt;</pre>
<p>When the AIR app gets compiled this line gets changed to look like:</p>
<pre>&lt;content&gt;MyProject.swf&lt;/content&gt;</pre>
<p>If we set the name of the swf directly in &lt;content&gt; we can then add URL parameters to the swf since &lt;content&gt; is really a URL reference.</p>
<pre>&lt;content&gt;MyProject.swf?myVar=thisvalue&lt;/content&gt;</pre>
<p>We can add multiple parameters by separating them with a &#8220;&amp;&#8221;, but remember, the application descriptor file is xml, so an ampersand needs to be escaped like &#8220;&amp;amp;&#8221;.</p>
<pre>&lt;content&gt;MyProject.swf?myVar=valueOne&amp;amp;anotherVar=valueTwo&lt;/content&gt;</pre>
<p>We can reference these values from within the AIR app using the parameters object which is a property of the base application.  So from the MyProject.mxml it would be this.parameters.</p>
<pre>this.parameters.myVar == "valueOne"</pre>
<pre>this.parameters.anotherVar == "valueTwo"</pre>
<p>So by setting these values here, I can slip in the values I need at build time in Hudson depending on the target environment, and then the modified application descriptor file is packaged into the AIR installer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2011/01/passing-parameters-flashvars-to-adobe-air-at-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Corn Bellys</title>
		<link>http://www.macsims.com/blog/2008/10/corn_bellys/</link>
		<comments>http://www.macsims.com/blog/2008/10/corn_bellys/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 05:53:59 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=24</guid>
		<description><![CDATA[Facepainting
]]></description>
			<content:encoded><![CDATA[<p>Facepainting<br />

<div class="ngg-imagebrowser" id="ngg-imagebrowser-1-24">

	<h3>facepainting</h3>

	<div class="pic">
<a href="http://www.macsims.com/blog/wp-content/gallery/face-painting/face-painting.jpg" title="All the kids getting their faces painted" class="shutterset_face-painting">
	<img alt="facepainting" src="http://www.macsims.com/blog/wp-content/gallery/face-painting/face-painting.jpg"/>
</a>
</div>
	<div class="ngg-imagebrowser-nav"> 
		<div class="back">
			<a class="ngg-browser-prev" id="ngg-prev-6" href="http://www.macsims.com/blog/2008/10/corn_bellys/?pid=6">&#9668; Back</a>
		</div>
		<div class="next">
			<a class="ngg-browser-next" id="ngg-next-1" href="http://www.macsims.com/blog/2008/10/corn_bellys/?pid=1">Next &#9658;</a>
		</div>
		<div class="counter">Picture 1 of 7</div>
		<div class="ngg-imagebrowser-desc"><p>All the kids getting their faces painted</p></div>
	</div>	

</div>	

</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2008/10/corn_bellys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>stripWhitespace for Actionscript 3 (AS3)</title>
		<link>http://www.macsims.com/blog/2008/04/stripwhitespace-for-actionscript-3-as3/</link>
		<comments>http://www.macsims.com/blog/2008/04/stripwhitespace-for-actionscript-3-as3/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 19:02:04 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=23</guid>
		<description><![CDATA[So I had a question about using my prototyped stripWhitespace function for Strings in AS3.  Since it was written for actionscript 2 it has a few different problems when using it in AS3.  First of all, variables are not typed at all, which is almost required in AS3.  Next, it uses prototyping, [...]]]></description>
			<content:encoded><![CDATA[<p>So I had a question about using my prototyped <a href="?p=17">stripWhitespace</a> function for Strings in AS3.  Since it was written for actionscript 2 it has a few different problems when using it in AS3.  First of all, variables are not typed at all, which is almost required in AS3.  Next, it uses prototyping, which in AC3 should really only be used in very special circumstances.  So I updated the function for use in AS3, using a utility class instead.  Take a look.<br />
<span id="more-23"></span></p>
<pre>package com.macsims.util
{
    public final class StringUtils
    {

        public static function stripWhitespace(string:String, options:String = null):String
        {
            // default is to strip all
            var result:String = string;
            var resultArray:Array;
            // convert tabs to spaces
            if(options == null || options.indexOf("t",0) &gt; -1)
                result = result.split("\t").join(" ");
            // convert returns to spaces
            if(options == null || options.indexOf("r",0) &gt; -1)
                result = result.split("\r").join(" ");
            // convert newlines to spaces
            if(options == null || options.indexOf("n",0) &gt; -1)
                result = result.split("\n").join(" ");
            // compress spaces
            if(options == null || options.indexOf("s",0) &gt; -1) {
                resultArray = result.split(" ");
                for(var idx:uint = 0; idx &lt; resultArray.length; idx++)
                {
                    if(resultArray[idx] == "")
                    {
                        resultArray.splice(idx,1);
                        idx--;
                    }
                }
                result = resultArray.join(" ");
            }
            return result;
        }

    }
}</pre>
<p>and you would use it like this:</p>
<pre>var myText:String = "This  text has    too   many      spaces.";
var betterText:String = StringUtils.stripWhitespace(myText);</pre>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2008/04/stripwhitespace-for-actionscript-3-as3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flex ColoredDataGrid Custom Component</title>
		<link>http://www.macsims.com/blog/2008/01/flex-coloreddatagrid-custom-component/</link>
		<comments>http://www.macsims.com/blog/2008/01/flex-coloreddatagrid-custom-component/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 08:02:03 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[ColoredDataGrid]]></category>
		<category><![CDATA[Custom Component]]></category>
		<category><![CDATA[DataGrid]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=20</guid>
		<description><![CDATA[So the other day I was using a DataGrid to show a data-set from an ArrayCollection, and I thought a great visual cue would be to highlight specific rows based upon the data like this:

But after digging and searching through the docs, discovered to my surprise that the DataGrid component did not have this capability. [...]]]></description>
			<content:encoded><![CDATA[<p>So the other day I was using a DataGrid to show a data-set from an ArrayCollection, and I thought a great visual cue would be to highlight specific rows based upon the data like this:</p>
<p><img style="margin: 4px; border: 1px solid black;" src="/blog/wp-content/images/datagrid3.png" border="1" alt="Datagrid3" hspace="4" vspace="4" /></p>
<p>But after digging and searching through the docs, discovered to my surprise that the DataGrid component did not have this capability.  So I did what every good developer does first, and started Googling, expecting to find someone who had faced this problem and solved it.<span id="more-20"></span></p>
<p>Although I did find several blog articles talking about changing the background of a DataGrid, usually using CSS, none of them were the magic bullet that I was looking for (cut and paste.)  But I did find reference to the protected function drawRowBackground in the DataGrid class.  After looking over this function in DataGrid.as I decided this was my ticket to getting the datagrid I wanted.</p>
<p>So I created the custom component ColoredDataGrid that extends DataGrid.  I created an override function for drawRowBackground to slip in my custom row color.</p>
<p><strong>So here&#8217;s how you use it:</strong>ColoredDataGrid adds two new properties to DataGrid:  rowColorField and rowColorFunction.</p>
<p><strong><em>rowColorField</em></strong> is like the dataField property and takes a String that references the name of a property on the row data object that contains a color value.  It&#8217;s best to be in the form of 0xFFFFFF, but pretty much anything that can convert to a uint will work.</p>
<p><strong><em>rowColorFunction</em></strong> is like labelFunction and takes a reference to a Function that should have a signature like this:</p>
<p style="text-indent: 20pt;"><span style="font-family: monaco; color: #3f5fbf; font-size: 10pt;">myRowColorFunction(item:Object, defaultColor:uint):uint</span></p>
<p><em>item</em> is the row&#8217;s data object for use in calculating the color.</p>
<p><em>defaultColor</em> is the color that would have been used.  This is useful when your datagrid has alternating row colors (which they will by default) and you would like to use that variation in the alternating color in your calculated color also.</p>
<p>Look here for a <a title="ColoredDataGrid Example" href="/flex/ColoredDataGrid/ColoredDataGrid.html" target="_blank">live example</a> of the ColoredDataGrid being used.  (The source is published, so right click and select &#8220;View Source&#8221;.)</p>
<p>And here you can <a title="ColoredDataGrid Source" href="/flex/ColoredDataGrid/ColoredDataGrid.zip" target="_blank">download the source for ColoredDataGrid</a>.</p>
<p>Let me know if you like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2008/01/flex-coloreddatagrid-custom-component/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>More Actionscript Prototypes</title>
		<link>http://www.macsims.com/blog/2006/06/more-actionscript-prototypes/</link>
		<comments>http://www.macsims.com/blog/2006/06/more-actionscript-prototypes/#comments</comments>
		<pubDate>Sat, 10 Jun 2006 03:39:16 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=18</guid>
		<description><![CDATA[So I have a few other prototypes in my toolbox that I usually use with every project. Nothing real wow about them, but I was really getting sick of setting _x and _y in two statements. If I&#8217;m setting one, I&#8217;m almost always setting the other, so why not do it one statement instead of [...]]]></description>
			<content:encoded><![CDATA[<p>So I have a few other prototypes in my toolbox that I usually use with every project. Nothing real wow about them, but I was really getting sick of setting _x and _y in two statements. If I&#8217;m setting one, I&#8217;m almost always setting the other, so why not do it one statement instead of two. So while I was at it I did the same for _width and _height. Anyway here they are. There&#8217;s a couple more String prototypes to boot. Take a peek.</p>
<p><span id="more-18"></span></p>
<pre>MovieClip.prototype.setPos = function(x,y) {
    this._x = x; this._y = y;
}
MovieClip.prototype.moveBy = function(x,y) {
    this._x += x; this._y += y;
}
MovieClip.prototype.setSize = function(w,h) {
    this._width = w; this._height = h;
}
MovieClip.prototype.sizeTo = function(w,h) {
    this._width += w; this._height += h;
}
MovieClip.prototype.setPosAndSize = function(x,y,w,h) {
    this._x = x; this._y = y;
    this._width = w; this._height = h;
}
String.prototype.replace = function(pattern, replacement) {
    return this.split(pattern).join(replacement);
}
String.prototype.trim = function(count) {
    return this.substr(0,this.length - count);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2006/06/more-actionscript-prototypes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actionscript stripWhitespace String prototype function for removing whitespace</title>
		<link>http://www.macsims.com/blog/2006/06/actionscript-stripwhitespace-string-prototype-function-for-removing-whitespace/</link>
		<comments>http://www.macsims.com/blog/2006/06/actionscript-stripwhitespace-string-prototype-function-for-removing-whitespace/#comments</comments>
		<pubDate>Fri, 09 Jun 2006 23:06:02 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=17</guid>
		<description><![CDATA[Here is a useful little actionscript prototype function I wrote to remove extra whitespace (spaces, tabs, returns, linefeeds) from strings.
Since Flash doesn&#8217;t ignore extra whitespace in HTML the way browsers do, it&#8217;s particularly useful in removing that extra whitespace in HTML you don&#8217;t want in a textfield.

String.prototype.stripWhitespace = function(options) {
    // default [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a useful little actionscript prototype function I wrote to remove extra whitespace (spaces, tabs, returns, linefeeds) from strings.<br />
Since Flash doesn&#8217;t ignore extra whitespace in HTML the way browsers do, it&#8217;s particularly useful in removing that extra whitespace in HTML you don&#8217;t want in a textfield.</p>
<p><span id="more-17"></span></p>
<pre>String.prototype.stripWhitespace = function(options) {
    <font color="#008000">// default is to strip all</font>
    var result = this;
    <font color="#008000">// convert tabs to spaces</font>
    if(options == undefined || options.indexOf("t",0) &gt; -1)
        result = result.split("\t").join(" ");
    <font color="#008000">// convert returns to spaces</font>
    if(options == undefined || options.indexOf("r",0) &gt; -1)
        result = result.split("\r").join(" ");
    <font color="#008000">// convert newlines to spaces</font>
    if(options == undefined || options.indexOf("n",0) &gt; -1)
        result = result.split("\n").join(" ");
    <font color="#008000">// compress spaces</font>
    if(options == undefined || options.indexOf("s",0) &gt; -1) {
        result = result.split(" ");
        for(idx in result) if(result[idx].length == 0)
            result.splice(idx,1);
        result = result.join(" ");
    }
    return result;
}</pre>
<p>I was importing XML data that contained HTML in CDATA elements. It was annoying that the extra whitespace was showing in my textfields, and I really didn&#8217;t want to go back and edit my XMLs to remove the extra whitespace by hand. So I wrote this to do it for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2006/06/actionscript-stripwhitespace-string-prototype-function-for-removing-whitespace/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Back in Rotterdam with Jeff and Celina</title>
		<link>http://www.macsims.com/blog/2006/04/back-in-rotterdam-with-jeff-and-celina/</link>
		<comments>http://www.macsims.com/blog/2006/04/back-in-rotterdam-with-jeff-and-celina/#comments</comments>
		<pubDate>Sat, 08 Apr 2006 21:21:37 +0000</pubDate>
		<dc:creator>KayLynn</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=16</guid>
		<description><![CDATA[We made it back to Rotterdam last night. We haven&#8217;t posted anything in awhile. Sorry. We were in Paris the last coouple of days. Wow! Mark you better start saving your money because I am going to convince Cami that she has to go see the Eiffel Tower. Definately a must! Dad we got you [...]]]></description>
			<content:encoded><![CDATA[<p>We made it back to Rotterdam last night. We haven&#8217;t posted anything in awhile. Sorry. We were in Paris the last coouple of days. Wow! Mark you better start saving your money because I am going to convince Cami that she has to go see the Eiffel Tower. Definately a must! Dad we got you some good chocolate in Switzerland. </p>
<p><span id="more-16"></span><br />
The riots did not affect us at all. We didn&#8217;t even see any signs of the riots in the part of town we were in. We stayed in a little hotel in the heart of the Rue Cler area. During the day the street only had pedestrians and little markets. At night it was more like a one way street. Of course that is my perspective. To the European eye I am sure that it appears to be able to handle at least two cars, a motorcycle, and at least a couple of other pedestrians. There are so many people in Paris.</p>
<p>We were able to see most of the sites that were on our list. Of course we had to save a couple to see next time. (It&#8217;s kind of like when you go on a date and you leave something in the guys car so that he has to see you again. Wink, wink, nudge, nudge.) So, I am telling Mac now that he will have to save his money for another trip to Europe. The view from the Eiffel Tower was totally worth the money. Go check out the pictures on the gallery. WE went at night!</p>
<p>We attended the temple in The Haag today with Jeff and Celina. Very nice. After we got home we changed our clothes and headed out on a bike ride to the local pancake house. We felt so dutch. We are loving our time her with Jeff, Celina, and Esther.</p>
<p>We are missing everyone at home. We love you Anna, Jon, and Nate. Thanks everyone for your help with the kids. We will see you all soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2006/04/back-in-rotterdam-with-jeff-and-celina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacOS X for Plain Vanilla PCs</title>
		<link>http://www.macsims.com/blog/2006/04/macos-x-for-plain-vanilla-pcs/</link>
		<comments>http://www.macsims.com/blog/2006/04/macos-x-for-plain-vanilla-pcs/#comments</comments>
		<pubDate>Sat, 08 Apr 2006 18:54:51 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[MacOS]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=14</guid>
		<description><![CDATA[Mark Stephens, AKA Robert X. Cringely, recently posted an article about Apple&#8217;s recent release of Boot Camp and the future of MacOS on the Intel platform where he states: 
I predict that Apple will settle on 64-bit Intel processors ASAP (with FireWire 800 please), and at that time will announce a product similar to Boot [...]]]></description>
			<content:encoded><![CDATA[<p>Mark Stephens, AKA <a href="http://en.wikipedia.org/wiki/Cringely">Robert X. Cringely</a>, recently posted an <a href="http://www.pbs.org/cringely/pulpit/pulpit20060406.html">article</a> about Apple&#8217;s recent release of Boot Camp and the future of MacOS on the Intel platform where he states: </p>
<blockquote><p>I predict that Apple will settle on 64-bit Intel processors ASAP (with FireWire 800 please), and at that time will announce a product similar to Boot Camp to allow OS X to run on bog-standard 32-bit PC hardware&#8230;</p></blockquote>
<p>Frank Boosman on his <a href="http://www.boosman.com/blog/">pseudorandom</a> blog <a href="http://www.boosman.com/blog/2006/04/cringely_on_os_x_for_pcs.html">disagrees</a> and challenged Cringely to a public bet.</p>
<p><strong>Here is my take on the subject:</strong></p>
<p>I think what most people are forgetting or simply don&#8217;t understand is that Apple is first and foremost a hardware company. they write software to support their hardware lines. iTunes was written to sell iPods (thus being cross-platform).</p>
<p><span id="more-14"></span><br />
MacOSX, iLife, Final Cut Studio and iWork are all written primarily to sell Macs. Otherwise you would see cross-platform versions to maximize software profits.</p>
<p>And let me remind you that Apple has already been down the OEM path with PowerPC Mac clones. It nearly put them under, until they brought Steve back. And guess what the first thing he did was. Kill the clone market.</p>
<p>Now many people decry &#8220;But Apple switched to Intel and doesn&#8217;t use proprietary hardware anymore!&#8221; True, but for many years Apple has had builds of there OS that ran on Intel. It was their secret life-line in case the PPC platform couldn&#8217;t or wouldn&#8217;t keep up in the desktop processor market. And that&#8217;s just what happened.</p>
<p>Now, as for Apple releasing Boot Camp. Makes sense to me. Eliminate another reason for people to migrate to Apple hardware. Let them run their WinXP, but also experience the MacOS, and see what OS they are really using after 6 months. It&#8217;s a formula for success.</p>
<p>It&#8217;s not a question of whether Apple could release Vanilla MacOS X Intel, they just choose not to.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2006/04/macos-x-for-plain-vanilla-pcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interlaken to Berg to Basel</title>
		<link>http://www.macsims.com/blog/2006/04/interlaken-to-berg-to-basel/</link>
		<comments>http://www.macsims.com/blog/2006/04/interlaken-to-berg-to-basel/#comments</comments>
		<pubDate>Wed, 05 Apr 2006 19:42:06 +0000</pubDate>
		<dc:creator>Mac</dc:creator>
				<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=13</guid>
		<description><![CDATA[We stayed at the Backpacker&#8217;s Inn last night. It&#8217;s great little hostel in Interlaken. The room was clean, beds were comfy and not having a bathroom and shower in the room really wasn&#8217;t a big deal. The bathroom was just across the hall and the showers were next to our room. It included a free [...]]]></description>
			<content:encoded><![CDATA[<p>We stayed at the Backpacker&#8217;s Inn last night. It&#8217;s great little hostel in Interlaken. The room was clean, beds were comfy and not having a bathroom and shower in the room really wasn&#8217;t a big deal. The bathroom was just across the hall and the showers were next to our room. It included a free breakfast and free wireless internet, which was awesome.</p>
<p><span id="more-13"></span><br />
I first tryed to get sunrocket to work by sharing my wireless internet. That didn&#8217;t work so I downloaded Skype and bought $10 of SkypeOut time, which is quite a bit considering it&#8217;s only 2.1 cents a minute for US calls. We then called home to check our voice messages and called a few other people. It actually worked very well. The iBook has built in speakers and a microphone so we didn&#8217;t need anything else.</p>
<p>We woke up about 7:30 this morning. Took showers and went down for breakfast. After packing up and checking out we spent a little bit of time walking around Interlaken taking pictures. Definately a place you could spend several days at. There are quite a few castles within a short distance and many things to do in the Alps. We wanted to take a tram up to one of the peaks, but it was a cold overcast day and we needed to get headed out.</p>
<p>At about 12:30 we headed off for Berg am Irchel. What should have been a 2 hour drive took the rest of the afternoon, although we went through some amazing country side. Our route took us through downtown Zurich were traffic moved at a crawl. (They have some pretty messed up freeways here.) We finally arrived in Berg at 4:30. It is really a cute little town just above Flaach. It was snowing but we took a bunch of picture and bought a few things at the tiny little store.</p>
<p>Then we came to Basel to stay for the night at the YMCA! Our flight to Paris is at 6:40 in the morning. That means we will be getting up at about 4 am! Well, need to wash some cloths and get to bed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2006/04/interlaken-to-berg-to-basel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bern Switzerland and the temple</title>
		<link>http://www.macsims.com/blog/2006/04/bern-switzerland-and-the-temple/</link>
		<comments>http://www.macsims.com/blog/2006/04/bern-switzerland-and-the-temple/#comments</comments>
		<pubDate>Wed, 05 Apr 2006 06:30:55 +0000</pubDate>
		<dc:creator>KayLynn</dc:creator>
				<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://www.macsims.com/blog/?p=12</guid>
		<description><![CDATA[We were able to attend the temple in Zolikofen yesterday. What a wonderful day. I would dare say perfect. We had the most enjoyable time. When we arrived at the temple they asked us to be the witness couple for the next session in French. You can imagine the tiny bit of hesitation that must [...]]]></description>
			<content:encoded><![CDATA[<p>We were able to attend the temple in Zolikofen yesterday. What a wonderful day. I would dare say perfect. We had the most enjoyable time. When we arrived at the temple they asked us to be the witness couple for the next session in French. You can imagine the tiny bit of hesitation that must have entered our minds. We let them know that we did not speak ANY french.</p>
<p><span id="more-12"></span><br />
The cute brother that was helping us started speaking English to us and told us he was from Bountiful. We agreed and were wisked off to get ready. Everyone at the temple was so helpful. The celestial room was so wonderful to sit and think about Grandma and Grandpa. The furniture was so much like the style that Grandma loved. I am sure that Grandma and Grandpa must have enjoyed their mission so very much. When we were done with the session I asked another sister for help. She was from SLC. She helped us with suggestions for were to eat and told us were to find a plug adapter.</p>
<p>As soon as we got some food we were off to City Zentrum of Bern. So many amazing buildings. It is very fun to be here but I am missing the cheap things that we have at home. I am so greatful for the church and for being able to attend the temple.</p>
<p>We love everyone. We will be in Interlaken and Berg am Irchel today.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macsims.com/blog/2006/04/bern-switzerland-and-the-temple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

