<?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>Terminal.app &#187; Apple</title>
	<atom:link href="http://terminalapp.net/category/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://terminalapp.net</link>
	<description>And the Cosmic AC said, &#34;LET THERE BE LIGHT!&#34; And there was light.</description>
	<lastBuildDate>Wed, 20 Oct 2010 21:58:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>That&#8217;s why we do what we do</title>
		<link>http://terminalapp.net/thats-why-we-do-what-we-do/</link>
		<comments>http://terminalapp.net/thats-why-we-do-what-we-do/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 21:58:35 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=354</guid>
		<description><![CDATA[More than Lion, iLife or the new awesome MacBook Air, the one thing I liked best about today&#8217;s Apple event was that sentence, pronounced by Steve Jobs during the iLife presentation: &#8220;That&#8217;s why we do what we do&#8221;. Why? Today &#8230; <a href="http://terminalapp.net/thats-why-we-do-what-we-do/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>More than Lion, iLife or the new awesome MacBook Air, the one thing I liked best about today&#8217;s Apple event was that sentence, pronounced by Steve Jobs during the iLife presentation: &#8220;That&#8217;s why we do what we do&#8221;. Why?</p>
<p>Today I left a meeting a few minutes after the beginning of the Back to my Mac event. I went to my car to drive home, and before turning on the engine, I grabbed my iPhone, launched Safari and tuned in to the live video feed. I placed the phone somewhere on my car where I could listen to it, and took off. During all the 20 minute drive home, I could listen to the event (I didn&#8217;t watch it, because, well, I was driving!), and only twice did the iPhone pushed it back a few seconds to recover (immediately) from dropped packets. I then got home, and switched to the Mac using my fiber connection.</p>
<p>Putting all this in perspective, Steve and his team were speaking in Cupertino, a bunch of equipment was capturing the event, encoding it and streaming it to half a world away, to a (fast) moving car on a freeway, where I was receiving it with a powerful, stunning device that has more CPU power than any computer I had when I was a kid and still fits in my pocket. And the quality was perfect.</p>
<p>Yes, this is why all of us, in this industry, in this passion, do what we do.</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/thats-why-we-do-what-we-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad &#8211; Why not flying solo?</title>
		<link>http://terminalapp.net/ipad-why-not-flying-solo/</link>
		<comments>http://terminalapp.net/ipad-why-not-flying-solo/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 22:57:49 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[time capsule]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=167</guid>
		<description><![CDATA[OK, I admit it, I don&#8217;t see why the iPad would be an useful device. For me. On the street, I have my iPhone, at home, I have my Mac. So why do I need a third device? For nothing, &#8230; <a href="http://terminalapp.net/ipad-why-not-flying-solo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>OK, I admit it, I don&#8217;t see why the iPad would be an useful device. For me. On the street, I have my iPhone, at home, I have my Mac. So why do I need a third device? For nothing, probably. But that&#8217;s me.</p>
<p>What I find paradoxical is that most people who are buying iPads are the ones who need it less. It&#8217;s the people who love gadgets, and those people already have everything &#8211; iPhones, laptops, desktops, you name it. What will they be able to do with an iPad that can&#8217;t be done with every other piece of electronics they have? Nothing.</p>
<p><span id="more-167"></span>But, as many people said and wrote between the iPad first announcement and this weekend where it finally started to reach the buyers hands, the iPad may open the computing world to a whole new class of users. Those are the users who do not use computers. The older people, the computer illiterate people, or those who simply don&#8217;t have patience or will to learn about operating systems, files and folders, network configuration, installing software and updates, and all the stuff needed to use and maintain a computer. iPad opens a new range of possibilities for those folks, allowing them to consume and create content and sharing it. Or does it?</p>
<p>Unfortunately, this amazing possibility is set aside by one simple fact: iPad <em>needs</em> a computer to work. In fact, <a href="http://www.appleinsider.com/articles/10/04/03/first_look_ipad.html">according to the early reports</a>, the very first thing you are required to do as soon as you fire up your iPad for the first time is to hook it up to your computer. Which means you <em>must</em> have a computer.</p>
<p>But&#8230; why? The iPad is a computer by itself. Technically, there&#8217;s no reason at all for it to need any help from an external computer. It can boot. It can connect to any wireless network, download whatever it needs from the cloud, and install it. What the heck, my Mac does that on it&#8217;s own. Why won&#8217;t the iPad do it?</p>
<p>Of course, there&#8217;s another problem: the data. The main reason the iPad (and the iPhone) is required to be plugged to a computer during installation is to create the necessary bond between both machines so data can be synced and backed-up. If only there was some autonomous device that could talk to the iPad and backup it&#8217;s data… well, there is. The Apple&#8217;s very own <a href="http://www.apple.com/timecapsule/">Time Capsule</a>, of course! And with 150 Mbps of wireless bandwidth between them, there&#8217;s more than enough horsepower to provide a seamless, continuous backup of the data stored in the iPad flash drive.</p>
<p>What made me fall in love with computers when I was a small kid was the fact that computers enabled. They enabled people to do so much more that could be done previously. They enabled me to write good-looking reports on my Mac Plus that stunned my school teachers. To edit images and sounds in a way that could only be done by artists with expensive equipment. To build simple applications and games with Hypercard that actually worked. To reach other people and talk to them, and to have passionate arguments about mostly everything. To download software so I could do even more stuff. To post my own websites with information I created to help other people, and ultimately, my software, that would enable others to do what they needed and wanted.</p>
<p>So… my suggestion: reach those who can&#8217;t or won&#8217;t use a computer, and tell them there&#8217;s a new way to enter the digital world. There&#8217;s a new way to create. There&#8217;s a new way to enable and be enabled. A way they can understand, a way they can feel comfortable with, a way they may even end up loving. Give them an iPad that flies solo. Give them a magic box that they place somewhere in their house that keeps their data safe. Give them what you gave me on that day my father brought that strange beige expensive box home. Do it!</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/ipad-why-not-flying-solo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Apple 2009 wish list</title>
		<link>http://terminalapp.net/apple-2009-wish-list/</link>
		<comments>http://terminalapp.net/apple-2009-wish-list/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 00:31:09 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Generic]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[WebObjects]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=70</guid>
		<description><![CDATA[It&#8217;s a brand new year. So here&#8217;s my wish list for Apple: Please fix the wireless driver that causes my Mac to crash about 10% of the times I turn Airport off. Please fix the trackpad driver, or whatever is &#8230; <a href="http://terminalapp.net/apple-2009-wish-list/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a brand new year. So here&#8217;s my wish list for Apple:</p>
<ul>
<li>Please fix the wireless driver that causes my Mac to crash about 10% of the times I turn Airport off.</li>
<li>Please fix the trackpad driver, or whatever is causing the trackpad to behave strongly erratic during about 30 seconds after waking the Mac up.</li>
<li>Please fix the damn copy/paste bug that makes the paste command paste the previously copied object and not the most recent one. This is specially irritating when you cut a piece of text, paste and you realize you are pasting something else, and that your supposedly cut piece of text is lost forever, unless you can undo and get it back.</li>
<li>Please fix the irritating bug that causes an iChat window to keep being the active one even after I click Safari, making its window go in front of iChat&#8217;s. That&#8217;s specially annoying when I type apple-W to close the Safari window, and the ichat one goes away.</li>
<li>Please provide replacement keyboards for people who has pre-unibody MacBook Pros that, you know, actually sense a keystroke every time the key goes all the way down, without the need to almost punch the key.</li>
<li>Please fix whatever is causing my father&#8217;s MacBook Pro to keep waking up and going back to sleep when the lid is closed and the charger on, despite I had already turned off every god damn thing that could wake it up, including the lid open event.</li>
<li>Speaking about the charger, please provide chargers where the charge light doesn&#8217;t go off for some unknown reason. It still works, but it doesn&#8217;t inspire a lot of confidence in it ans it&#8217;s safety.</li>
<li>Please provide granular updates to Mac OS X Server. Please please please pretty please.</li>
<li>Please care a little more about the entreprise and IT markets, namely your own web application technology (WebObjects, of course).</li>
</ul>
<p>Thank you, guys! You must hate me but you&#8217;re nice people anyway. Sometimes.</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/apple-2009-wish-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MacBook Pro 17 vertical blue line</title>
		<link>http://terminalapp.net/macbook-pro-17-vertical-blue-line/</link>
		<comments>http://terminalapp.net/macbook-pro-17-vertical-blue-line/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 22:58:04 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=44</guid>
		<description><![CDATA[I&#8217;m really pissed off. Short story: MacBook Pro 17, HD display, bought this February. Blue line appeared today. I still remember when Apple hardware would work for more than six months.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really pissed off. Short story: MacBook Pro 17, HD display, bought this February. Blue line appeared today. I still remember when Apple hardware would work for more than six months.</p>
<p><a href='http://terminalapp.net/wp-content/uploads/2008/07/blueline.jpg'><img src="http://terminalapp.net/wp-content/uploads/2008/07/blueline-300x225.jpg" alt="" title="Blue line" width="300" height="225" class="alignnone size-medium wp-image-45" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/macbook-pro-17-vertical-blue-line/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>iPhone mania</title>
		<link>http://terminalapp.net/iphone-mania/</link>
		<comments>http://terminalapp.net/iphone-mania/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 23:54:29 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Generic]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=41</guid>
		<description><![CDATA[iPhone iPhone iPhone iPhone. iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone! iPhone iPhone iPhone iPhone&#8230; iPhone iPhone iPhone iPhone. iPhone? iPhone iPhone iPhone iPhone iPhone iPhone. iPhone iPhone iPhone iPhone iPhone iPhone! iPhone iPhone iPhone iPhone :) iPhone &#8230; <a href="http://terminalapp.net/iphone-mania/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>iPhone iPhone iPhone iPhone. iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone!</p>
<p>iPhone iPhone iPhone iPhone&#8230; iPhone iPhone iPhone iPhone. iPhone? iPhone <a href="http://www.apple.com/iphone">iPhone</a> iPhone iPhone iPhone iPhone. iPhone iPhone iPhone iPhone iPhone iPhone! iPhone iPhone iPhone iPhone :) iPhone iPhone.</p>
<p>iPhone iPhone iPhone. iPhone iPhone iPhone iPhone iPhone! iPhone iPhone? iPhone iPhone iPhone? iPhone? iPhone!</p>
<p>iPhone iPhone iPhone iPhone iPhone. iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone iPhone. iPhone. iPhone iPhone iPhone.</p>
<p>iPhone.</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/iphone-mania/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Back from USA</title>
		<link>http://terminalapp.net/back-from-usa/</link>
		<comments>http://terminalapp.net/back-from-usa/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 23:01:07 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[WebObjects]]></category>
		<category><![CDATA[WOWODC WWDC 2008 WebObjects LEWOStuff Houdah Stanford]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=39</guid>
		<description><![CDATA[Well, I&#8217;m back from another WOWODC and WWDC. I&#8217;m still really tired, but some quick notes: As David LeBer already mentioned, Pascal did an amazing job organizing WOWODC all by himself. Great room (a bit cold on the first day &#8230; <a href="http://terminalapp.net/back-from-usa/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;m back from another WOWODC and WWDC. I&#8217;m still really tired, but some quick notes:</p>
<ul>
<li>As <a href="http://davidleber.net/?p=319">David LeBer already mentioned</a>, Pascal did an amazing job organizing <a href="http://www.wocommunity.org/wowodc08/">WOWODC</a> all by himself. Great room (a bit cold on the first day ;) ), large windows and sunlight on the halls. Food (well&#8230; not that good, but after all, it&#8217;s USA!) and caffeine provided frequently. Very very nice. Suggestion for the next year: a bigger (and brighter) screen, and eventually plasma screens among the room to make it easy for people in the back to read the code.</li>
<li>I learned a lot about WO frameworks out there (like <a href="http://projectwonder.blogspot.com/">Wonder</a>, <a href="http://code.google.com/p/houdah-webobjects-frameworks/">Houdah</a> and specially <a href="http://homepage.mac.com/andrewlindesay/le/page_lestuff.html">LEWOStuff</a> that I did not know before). I met for the first time some very talented people, and of course, all the folks from the previous conferences. It&#8217;s great to be able to have technical discussions and know different views on the same problems from all those skilled and experienced people out there, face to face.</li>
<li><a href="http://developer.apple.com/wwdc/">WWDC</a> had some interesting news on many stuff. As you know, I cannot talk about the stuff under NDA, so I shall only say that some interesting stuff is being done on the WO side. Also, as you all know by now, the <a href="http://www.apple.com/iphone/">iPhone is now 3G</a>, includes a GPS, the price was slashed, and will be available in many countries of the world. I just hope the service providers slash the data roaming prices, because that makes the iPhone useless when you go to foreign countries. Finally, <a href="http://www.apple.com/macosx/snowleopard/">Snow Leopard</a> was announced, and, as already expected, the focus is not on new features, but on a big cleanup of the OS infrastructure. Not only this are great news for us, developers, but also shows some courage from Apple and a lot of respect for their users. They want to focus the next year on improving the quality of their OS, rather than packing it up with some new features just to win the race against the competition.</li>
<li>As a side note, the <a href="http://www.mactech.com/">MacTech</a> people was giving away some magazines for free to the people who were <a href="http://www.flickr.com/photos/velouriadark/2571799198/">standing</a> <a href="http://www.flickr.com/photos/velouriadark/2570973867/">in line</a> <a href="http://www.flickr.com/photos/velouriadark/2571799478/">during the morning</a>. I took the time to read most of it during my flight, and I really liked it. I was a MacTech subscriber in the past, but I cancelled it because, during my graduation, I didn&#8217;t have time to read it (it&#8217;s good to graduate on a place where you actually don&#8217;t have time to learn, isn&#8217;t it?). Maybe I&#8217;ll subscribe it again now.</li>
<li>Not related to the conferences themselves, we went to visit the bay area surroundings on Friday afternoon. We did the classic trip to the Apple and Google campuses, because we are all geeks, but we also went to the Stanford and Berkeley campuses. The Standford campus totally blow me away. You have to see it to believe it. From now on, I&#8217;ll laugh, really laugh, every time I hear a faculty from my university stating that we actually have a campus. The Berkeley campus did not impress me much. It&#8217;s more urban style, more crowded and dense. I prefer the Stanford way, with space, a huge amount of space, tons and tons of space, really. Almost made me want to return to the univ! :)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/back-from-usa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WWDC and WOWODC 2008</title>
		<link>http://terminalapp.net/wwdc-wowodc-2008/</link>
		<comments>http://terminalapp.net/wwdc-wowodc-2008/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 14:13:54 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[WebObjects]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[wowodc]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://terminalapp.net/?p=38</guid>
		<description><![CDATA[It&#8217;s that time of the year&#8230; packing up to leave tomorrow, as I will attend WOWODC and WWDC 2008 in San Francisco. See you there!]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time of the year&#8230; packing up to leave tomorrow, as I will attend <a href="http://www.wocommunity.org/wowodc08/">WOWODC</a> and <a href="http://developer.apple.com/wwdc/">WWDC</a> 2008 in San Francisco. See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/wwdc-wowodc-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Accessing Mac virtual hosts from a Parallels VM</title>
		<link>http://terminalapp.net/accessing-mac-virtual-hosts-from-a-parallels-vm/</link>
		<comments>http://terminalapp.net/accessing-mac-virtual-hosts-from-a-parallels-vm/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 23:26:05 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://terminalapp.net/accessing-mac-virtual-hosts-from-a-parallels-vm/</guid>
		<description><![CDATA[I finally moved to an Intel machine. Despite the dramatic speed improvement in everything Java-related, namely Eclipse, there&#8217;s another big advantage: being able to run IE on Windows using a virtual machine. Unfortunately, that&#8217;s something every web developer must do &#8230; <a href="http://terminalapp.net/accessing-mac-virtual-hosts-from-a-parallels-vm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I finally moved to an Intel machine. Despite the dramatic speed improvement in everything Java-related, namely Eclipse, there&#8217;s another big advantage: being able to run IE on Windows using a virtual machine. Unfortunately, that&#8217;s something every web developer must do to ensure his or her application will work on the most used (and crappy) browser on earth.</p>
<p>I installed Parallels and created two virtual machines, one for IE 6 and another one for IE 7. This way I&#8217;m sure there are no weird problems between those two versions (having more than an IE version on Windows can only be accomplished by hacks, and hacks are bad). Also I can install Visual Web Developer Express Edition on each of the VMs, and use either IE 6 or 7 to debug.</p>
<p>My apps run inside virtual hosts on Mac OS X apache, under a fake DNS name. On Mac OS X it&#8217;s easy to add the DNS entry to the /etc/hosts file, under the 127.0.0.1 entry. This way, your DNS name will always point to your mac, and you&#8217;ll be able to reach your virtual host.</p>
<p>I wanted to do the same from inside Windows running on Parallels. An easy way would be to edit the Windows hosts file, adding the Mac OS X public IP to the file. But that will only work if the OS X IP doesn&#8217;t change. My Intel mac is an MBP, and I change the network I use often, so I needed a little more flexibility. So, this is the way I found to do this:</p>
<ol>
<li>Configure your VM to use Shared Networking. This wall, Parallels extensions installed on your Mac will create a NAT network where your virtual machine will be hooked into.<br/><br />
<a href='http://terminalapp.net/wp-content/uploads/2008/03/parallels.png' title='Paralleles Configuration Screen'><img src='http://terminalapp.net/wp-content/uploads/2008/03/parallels.thumbnail.png' alt='Paralleles Configuration Screen' /></a></li>
<li>Open Mac System Preferences, and look for the &#8220;Parallels NAT&#8221; network port. This is an interesting one, because it allows the Mac itself to be connected to the virtual NAT network, using an IP on the NAT subnet. Write down that IP: this will be the IP you&#8217;ll use to access the Mac virtual hosts from within the virtual machines.<br/><br />
<a href='http://terminalapp.net/wp-content/uploads/2008/03/systempreferences.png' title='System Preferences'><img src='http://terminalapp.net/wp-content/uploads/2008/03/systempreferences.thumbnail.png' alt='System Preferences' /></a></li>
<li>Finally, edit Windows hosts file. This file is located on \WINDOWS\system32\drivers\etc\hosts. Add a line with the IP (in my case, 10.211.55.2) and the name of the virtual host, just like you do on the Mac.<br/><br />
<a href='http://terminalapp.net/wp-content/uploads/2008/03/notepad.png' title='Windows hosts file'><img src='http://terminalapp.net/wp-content/uploads/2008/03/notepad.thumbnail.png' alt='Windows hosts file' /></a></li>
</ol>
<p>That&#8217;s it. Now you can access your Mac virtual hosts from Windows, whatever the Mac IP is. Ick, what&#8217;s a Windows screenshot doing in my blog!?</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/accessing-mac-virtual-hosts-from-a-parallels-vm/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Migrating to Leopard Server</title>
		<link>http://terminalapp.net/migrating-to-leopard-server/</link>
		<comments>http://terminalapp.net/migrating-to-leopard-server/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 23:41:33 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X Server]]></category>

		<guid isPermaLink="false">http://terminalapp.net/migrating-to-leopard-server/</guid>
		<description><![CDATA[This was it. I spent the easter weekend migrating GAEL&#8216;s Xserve to Leopard Server. It all went well, although some more or less serious issues poped up. Our server is used mainly for hosting web content and applications (php, perl, &#8230; <a href="http://terminalapp.net/migrating-to-leopard-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This was it. I spent the easter weekend migrating <a href="http://gael.ist.utl.pt">GAEL</a>&#8216;s Xserve to Leopard Server. It all went well, although some more or less serious issues poped up.</p>
<p>Our server is used mainly for hosting web content and applications (php, perl, and of course, WebObjects). It also handles some <a href="http://subversion.tigris.org/">Subversion</a> repositories and some other minor stuff.</p>
<p>I did the standard procedure I always do when migrating a machine to a new OS version: clone the hard drive to an external firewire disk, format the internal hard drive, install new OS and migrate data. I usually use migration assistant, but of course, this is a server, it&#8217;s a little more complicated than that.</p>
<p>While my memory is still fresh, here&#8217;s some notes about it, not necessarily by any specific order.</p>
<p><strong>RAID Formatting</strong></p>
<p>Our Xserve has two 80 GB hard drives configured in software RAID 1 (mirroring). As Apple sometimes does some tweaks and changes on the RAID software and drivers, I decided to destroy the RAID and create a new one. So I did: I booted from the Leopard Server DVD, destroyed the RAID and tried to make a new one. I had some problems with that, though. Disk Utility was not allowing me to create the new RAID. I don&#8217;t recall the error exactly, but it had something to do with not being able to mount a volume or RAID slice. I quit Disk Utility and launched it again, and then the RAID creation went fine. I just love to see those two blue leds blinking in sync!</p>
<p><strong>Installation and System Updates</strong></p>
<p>Installation itself went without any issues. Our Xserve has a graphics card, so it was like any regular desktop Mac, click click choose click and wait. The system installed correctly, rebooted, configuration assistants, answered all the questions, network working, etc. Perfect. Then, I went to grab all the system updates. I installed it this weekend, so I had a few updates waiting, namely the 10.5.2 combo update. Then something weird happened &#8211; after installing all the available updates, the machine rebooted 3 times in a row instead of just one. I know some updates that came out lately require 2 reboots in a row, but I never had seen 3. When the server finally came to life, I manually rebooted it again 2 or 3 times more, just to see if it was booting OK. Apparently, everything is fine. I checked the logs, and they were inconclusive. So, does anyone know if 3 reboots in a row is normal for all the updates that came out so far for a G5 Xserve running Leopard?</p>
<p><strong>SSH</strong></p>
<p>This is a fast one, but&#8230; sshd comes with PermitRootLogin defaulting to &#8220;yes&#8221;. Oh come on, guys!</p>
<p><strong>User Migration</strong></p>
<p>This is one of the most serious issues that I find with Mac OS X Server migration. I had seen this when migrating from Panther Server to Tiger Server, and it&#8217;s still a problem. The thing is: you cannot migrate passwords. You can use Workgroup Manager to export all the user information&#8230; except passwords. That means all the user passwords will have to be reset on the new server. Of course, I don&#8217;t expect the real passwords to be exported &#8211; specially because they are hashed, so it&#8217;s impossible to recover them. But the hash itself could be exported and imported again.</p>
<p>This presents a very serious issue to system administrators and users. Of course, if you have thousands of users, you should use multiple LDAP servers dedicated to the authentication services, and you can clone them at will, making sure that you never loose information and the service never stops. But when you have about 30 users like we do, that is overkill. Even so, it&#8217;s a real pain in the ass to reset all those passwords, because some users are actually not in our office. They are external users, either from the other university campus (although that&#8217;s not too bad, I actually live closer to that campus that the one I work in, so I can drive by and take care of that stuff), or, worse, from people in some companies that are working remotely with us.</p>
<p>I believe migrations like this should be transparent to the user, and this little detail make them very very opaque.</p>
<p><strong>64 bits hell</strong></p>
<p>Having a full 64 bits OS running on a 64 bits machine can only be a good thing, right? Well&#8230; maybe not.</p>
<p>I&#8217;m a little crazy and my organizational skills might be very well defined by the word &#8220;chaos&#8221;, but I&#8217;m not crazy enough to do this in the space of two days without having tested all this stuff first and document the important details. So, before trashing our G5 Xserve, I grabbed an old PowerMac G4, installed Leopard Server and all the stuff that really needs to work. The most experienced of you should be smiling by now. Although it seems that the only important difference between both CPUs for the matters we are discussing is just speed, there&#8217;s a really important one: 32 bits VS 64 bits. The G5 is a full 64 bits CPU, and the G4 is 32 bits. Up to Tiger, this is not a problem at all, because most of the OS was also running in 32 bits. This included most services, like DBs and Apache. On Leopard, everything (or close to that) is compiled to four different architectures: PowerPC 32 and 64 bits, and Intel 32 and 64 bits. We&#8217;ll come back to this in a minute.</p>
<p>Mac OS X Server is bundled with MySQL, PHP and Apache, but not with PostgreSQL. As I prefer PostgreSQL to MySQL by far, I tend to use PostgreSQL with all the applications I can, including my own WebObjects applications. So, I compiled and installed PostgreSQL on the server. As I also need PHP applications to access PostgreSQL databases, I had to download PHP source code and recompile it with PostgreSQL support (you gotta love a language where you have to recompile the whole damn thing to add support to a DB&#8230;). But, to compile PHP with support to MySQL (and PostgreSQL) I need to have the MySQL headers and dynamic libraries. Well, Mac OS X Server is bundled with MySQL binaries, but not the headers or libraries. As there were no binaries available for PowerPC 10.5 on the MySQL page, I also had to grab the source and recompile all this stuff.</p>
<p>This is where problems started. I recompiled MySQL, and put it working after some struggle (I really hate MySQL). Then I recompiled PHP. Installed it, added the LoadModule directive to the apache config file, and restarted apache. Bum. Explosions. Apache would not start. It said that the PHP module was compiled for the wrong architecture. I started to thing, WTF, are you telling me that my Xserve just compiled PHP&#8230; for Intel? Why did this work on the test G4 box? Well, what other architecture could it be? :P I started googling for the problem and I got it: apache is compiled for all the four architectures I referred above, and it always runs with the most appropriate one for the machine. In the Xserve case, it uses the PowerPC 64 binaries. The problem is that PHP had been compiled for 32 bits only. Ok, no problem. Go to PHP dir, make clean, poke around with the environment variables, recompile the thing for 64 bits. Bum. More explosions. Guess what, MySQL was NOT compiled for 64 bits! Ok ok, one more level deep in the stack, go to MySQL directory, blablabla, recompile and&#8230; BUM! Yet another explosion. Now this one was more complicated. Apparently some of the libraries on the MySQL source code package were not being compiled for 64 bits. So, no 64 bits MySQL means no 64 bits PHP that means no runnable PHP with 64 bits apache that means falling back to Apple&#8217;s branded PHP that means&#8230; no PostgreSQL.</p>
<p>From what I saw on the Net, convincing MySQL to compile on 64 bits was not a road I wanted to go into. Also, <a href="http://www.entropy.ch/phpbb2/viewtopic.php?p=10862&#038;sid=e360a5347de4022da06403f3ce50faf2">one of the pages I found </a>about the &#8220;wrong architecture&#8221; problem when starting Apache actually suggested to go in the opposite direction: grab Apache source code and recompile it in 32 bits. Using the mention configure command (./configure &#8211;enable-layout=Darwin &#8211;enable-mods-shared=all) I compiled the exactly same Apache version that Apple bundles with Leopard Server, and installed it over the Apple branded one. That made it all work, now on 32 bits. Of course, if you follow this trick, please keep in mind that this may break in future system updates. If some Apple system update replaces apache, it will not start unless you recompile it again for 32 bits only, or remove the PHP module.</p>
<p>This 64 bits mess is actually a very nasty problem, and makes me think what I&#8217;m actually gaining in all this. And the answer is: zero. My server has one GB of RAM, and will probably never have more than 4. If, for some reason, we actually need to boost the memory so far, it certainly won&#8217;t be because of Apache. It gets me thinking about actually how many people will actually <em>need</em> apache to run in 64 bits mode. If it&#8217;s more that 1% or 2% of the Xserve users, I&#8217;ll be very amazed. And what do I loose? A lot. Not all the open source projects compile easily in 64 bits mode (I know MySQL that comes with Mac OS X Server is compiled for 64 bits, but for some reason the needed fixes for that are not in the public MySQL source code tree), Apache may stop working at all in the next system update, and I had a lot of extra work. Maybe Apple should provide an easy way to switch this kind of stuff between 32 and 64 bits mode at will. Having only one OS version to all the architectures is interesting, but solving the problems that it creates is not.</p>
<p><strong>Wrapping up</strong></p>
<p>Everything is working now, after an entire weekend spent behind many terminal windows. Unfortunately, I have to say that my opinion about Mac OS X Server is not the best one. I have been working lately with FreeBSD. My experience with FreeBSD is way, way less than the experience I have with Mac OS X, so there are probably many downsides in FreeBSD I had not yet to deal with. That being said, I think Mac OS X Server is a very easy to use OS, as long as you keep using the tools Apple provided. As soon as you need different tools, specially the ones that tinker with Apache, you&#8217;ll start regretting liking computers in the first place. And surprisingly, you start to find that it&#8217;s actually <em>easier</em> to do it in a FreeBSD server. Every software I installed so far in FreeBSD (including WebObjects) was installed in a very easy and straightforward, painless way. Just browse the ports tree, make install clean and there it is. No crazy problems, everything is made to work with everything. And the default configurations are usually safer than Apple&#8217;s.</p>
<p>It makes sense: although FreeBSD guys don&#8217;t do beautiful GUIs and assistants, they work hard to make sure the system Works. All of it, including all the ports. And most important, not just it works, but it <em>works together</em>. If I had to use a word to define FreeBSD, I would pick &#8220;consistency&#8221; without hesitation. Even WebObjects, which does not have an &#8220;official&#8221; port on the FreeBSD port tree actually installs easier in FreeBSD than in OS X (due to the hard work of Quinton Dolan that created a FreeBSD port of WO). And face it: probably all the software you need exist in the port tree. It&#8217;s HUGE. And if it doesn&#8217;t, you can always install it using the classic UNIX way.</p>
<p>The Apple way is different. Apple picks a very small range of software, compiles and packages it in a very easy to use OS. It&#8217;s really easy, way more than FreeBSD in many ways. The problems appear when you conclude that the bundled software is not enough, and you want to install your own. And when that happens, you are completely on your own. You&#8217;ll start fighting Apple sometimes weird configurations and file system structure, you may run in binary architecture incompatibilities like I did, and so on. And you&#8217;ll probably need to do this, because what comes bundled with OS X Server is probably far from enough to get the job done.</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/migrating-to-leopard-server/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>drawImage performance on Leopard</title>
		<link>http://terminalapp.net/drawimage-performance-on-leopard/</link>
		<comments>http://terminalapp.net/drawimage-performance-on-leopard/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 16:54:31 +0000</pubDate>
		<dc:creator>Miguel Arroz</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[WebObjects]]></category>

		<guid isPermaLink="false">http://terminalapp.net/drawimage-performance-on-leopard/</guid>
		<description><![CDATA[A not very fast but handy way to downscale images in a WebObjects application is using Java 2D APIs, with code like this: BufferedImage reducedImage = new BufferedImage(newX, newY, BufferedImage.TYPE_INT_RGB); Graphics2D g = reducedImage.createGraphics(); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED); &#8230; <a href="http://terminalapp.net/drawimage-performance-on-leopard/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A not very fast but handy way to downscale images in a WebObjects application is using Java 2D APIs, with code like this:</p>
<p><code><br />
BufferedImage reducedImage = new BufferedImage(newX, newY, BufferedImage.TYPE_INT_RGB);<br />
Graphics2D g = reducedImage.createGraphics();<br />
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);<br />
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);<br />
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);</p>
<p>g.drawImage(originalImage, 0, 0, newX, newY, 0, 0, originalImage.getWidth(), originalImage.getHeight(), null);<br />
g.dispose();<br />
</code></p>
<p>Although not blazing fast, this is enough for many applications. I could reduce a 7 Mega-Pixels image to something like 250 pixels wide in about one second, or less, in my PowerBook G4. But this was in Tiger.</p>
<p>In Leopard, as some of you may have noticed (and if you have applications deployed on Leopard Server, be aware) this is incredibly slow. When I say slow, I say five minutes, or even more, with the CPU being used at 100% during that time.</p>
<p>There are two reasons that lead to this. The first (which is not a problem in itself, but it&#8217;s a cause of the problem): Apple switched from Quartz to Sun2D graphics engine as the default one for Java applications on Leopard. So, all your image manipulation is being done using the Sun pipeline now. This would not be a problem, except for the second reason: <del datetime="2008-03-18T17:58:17+00:00">the Apple JVM implementation has a bug that is slowing Sun&#8217;s pipeline drawImage method to a crawl</del>. Actually, that was not the real reason. I testes this on FreeBSD (using Diablo JDK) and the speed was similar to Leopard&#8217;s. Sun2D is REALLY slow, to the point of being useless. I&#8217;m now using ImageMagick.</p>
<p>The only solution for now is forcing the application to use Quartz engine. You can do that using the command line option -Dapple.awt.graphics.UseQuartz=true. And, of course, <a href="http://bugreporter.apple.com">file a bug</a> on this!</p>
]]></content:encoded>
			<wfw:commentRss>http://terminalapp.net/drawimage-performance-on-leopard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

