<?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>randomnoise &#187; Software</title>
	<atom:link href="http://blog.acmelab.org/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.acmelab.org</link>
	<description>random noises emanating from the boston area</description>
	<lastBuildDate>Mon, 15 Jun 2009 16:03:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Palm silencing curious devs</title>
		<link>http://blog.acmelab.org/2009/06/15/palm-silencing-curious-devs/</link>
		<comments>http://blog.acmelab.org/2009/06/15/palm-silencing-curious-devs/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 16:03:04 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=210</guid>
		<description><![CDATA[You knew it was going to happen, but did we ever imagine the hackers to be culpable? Palm is silencing the Pre Dev Wiki by &#8220;politely&#8221; warning them to not discuss tethering, as it may anger The Sprint Gods. Palm needs every developer to extol the awesomeness of this device and the wholesomeness of the [...]]]></description>
			<content:encoded><![CDATA[<p>You knew it was going to happen, but did we ever imagine the hackers to be culpable? Palm is silencing the <a href="http://predev.wikidot.com/tethering">Pre Dev Wiki</a> <a href="http://www.prethinking.com/home/2009/6/15/sprint-warns-against-palm-pre-tethering-hacking.html">by &#8220;politely&#8221; warning them to not discuss tethering</a>, as it may anger The Sprint Gods.</p>
<p>Palm needs every developer to extol the awesomeness of this device and the wholesomeness of the company. They need them to lure people away from the iPhone. Sprint needs every subscriber. If they plan on getting them with the Pre, they need some good apps and a reason to move the early adopters &#8212; the ones that want to hack in tethering &#8212; over from other carriers.</p>
<p>The beginning of the end, I say &#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/06/15/palm-silencing-curious-devs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Palm will screw up the Pre, the news edition</title>
		<link>http://blog.acmelab.org/2009/06/08/how-palm-will-screw-up-the-pre-the-news-edition/</link>
		<comments>http://blog.acmelab.org/2009/06/08/how-palm-will-screw-up-the-pre-the-news-edition/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 21:43:25 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=207</guid>
		<description><![CDATA[Okay, not real news. That &#8220;blog&#8221; kind of news. But funny, nonethenless. Gizmodo: Reality check: iPhone vs Palm Pre launch Techcrunch: You call 50,000 Palm Pres Sold a success? Investors don&#8217;t think so. Boston Globe: Palm Pre good, but it&#8217;s no iPhone Yowsahs.]]></description>
			<content:encoded><![CDATA[<p>Okay, not real news. That &#8220;blog&#8221; kind of news. But funny, nonethenless.</p>
<ul>
<li>Gizmodo: <a href="http://i.gizmodo.com/5282976/reality-check-iphone-vs-palm-pre-launch">Reality check: iPhone vs Palm Pre launch</a></li>
<li>Techcrunch: <a href="http://www.techcrunch.com/2009/06/08/you-call-50000-palm-pres-sold-a-success-investors-dont-think-so/">You call 50,000 Palm Pres Sold a success? Investors don&#8217;t think so.</a></li>
<li>Boston Globe: <a href="http://www.boston.com/business/technology/articles/2009/06/11/palm_pre_good_but_falls_short_of_iphone/">Palm Pre good, but it&#8217;s no iPhone</a></li>
</ul>
<p>Yowsahs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/06/08/how-palm-will-screw-up-the-pre-the-news-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Palm will screw up the Pre, the waiting for WWDC edition</title>
		<link>http://blog.acmelab.org/2009/06/08/how-palm-will-screw-up-the-pre-the-waiting-for-wwdc-edition/</link>
		<comments>http://blog.acmelab.org/2009/06/08/how-palm-will-screw-up-the-pre-the-waiting-for-wwdc-edition/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 13:57:47 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=205</guid>
		<description><![CDATA[Let&#8217;s recap some highlights while we all wait for 10AM PT for the other shoe to drop on Palm. Palm releases the Pre at CES in January &#8217;09. No one buys either a Sprint phone or a Palm device for 6 months. Not that&#8217;s good for revenue. Palm has a rumored 6 month exclusive distribution [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s recap some highlights while we all wait for 10AM PT for the other shoe to drop on Palm.</p>
<ul>
<li>Palm releases the Pre at CES in January &#8217;09. No one buys either a Sprint phone or a Palm device for 6 months. Not <em>that&#8217;s</em> good for revenue.</li>
<li>Palm has a rumored 6 month exclusive distribution agreement with Sprint. Then, supposedly, Verizon and AT&amp;T get into the mix. So, current, under-contract Verizon and AT&amp;T customers that might even want the Pre won&#8217;t switch because it is coming in 6 months to their current carrier. Whoops.</li>
<li>Palm&#8217;s ridiculous launch date this past Saturday. Seriously, WWDC could lay the biggest egg and still, all the press got there Sunday night to party and haven&#8217;t written a single word about Palm Pre since, oh, Saturday afternoon.</li>
</ul>
<p>So how can Apple really put Palm&#8217;s corpse in the ground?</p>
<ul>
<li>Steve Jobs comes to WWDC. Just a peek. No keynote. Just a, &#8220;hey there&#8221;. The faithful will be whipped into such a frenzy that they literally will wipe the Pre off the face of the earth with their crazed chanting and swaying.</li>
<li>Apple undercuts the $199 w/rebate price with the iPhone, as rumored, at $99. Pow!</li>
<li>AT&amp;T offers some sweet rate plans that are designed to retain would-be-Pre customers.</li>
</ul>
<p>Oh well, it&#8217;s been a good run! I like the hardware (minus the reported self-mutilation-sharp keyboard). Just don&#8217;t trust the company. Me, I&#8217;m waiting for the Monday late afternoon lawsuit.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/06/08/how-palm-will-screw-up-the-pre-the-waiting-for-wwdc-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Palm will screw up the Pre, part II</title>
		<link>http://blog.acmelab.org/2009/06/04/how-palm-will-screw-up-the-pre-part-ii/</link>
		<comments>http://blog.acmelab.org/2009/06/04/how-palm-will-screw-up-the-pre-part-ii/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 04:38:30 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=202</guid>
		<description><![CDATA[&#8230; the external world starts to wonder as well. CrunchGear: Here’s what’s wrong with the Palm Pre The New York Times: Sprint and Palm: Don&#8217;t Expect a Pre Frenzy Interesting. I especially like the bit where the chin of the phone actually causes palm pain for some users.]]></description>
			<content:encoded><![CDATA[<p>&#8230; the external world starts to wonder as well.</p>
<ul>
<li>CrunchGear: <a title="Here’s what’s wrong with the Palm Pre" rel="bookmark" href="http://www.crunchgear.com/2009/06/04/heres-whats-wrong-with-the-palm-pre/">Here’s what’s wrong with the Palm Pre</a></li>
<li>The New York Times: <a href="http://bits.blogs.nytimes.com/2009/06/03/sprint-and-palm-dont-expect-a-pre-frenzy/">Sprint and Palm: Don&#8217;t Expect a Pre Frenzy</a></li>
</ul>
<p>Interesting. I especially like the bit where the chin of the phone actually causes palm pain for some users.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/06/04/how-palm-will-screw-up-the-pre-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Palm will screw up the Pre, part Ia</title>
		<link>http://blog.acmelab.org/2009/06/03/how-palm-will-screw-up-the-pre-part-ia/</link>
		<comments>http://blog.acmelab.org/2009/06/03/how-palm-will-screw-up-the-pre-part-ia/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 02:59:03 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=198</guid>
		<description><![CDATA[It isn&#8217;t just me. Check out this Businessweek article! More to come tonight, hopefully.]]></description>
			<content:encoded><![CDATA[<p>It isn&#8217;t just me. Check out this <a href="http://is.gd/NImN">Businessweek article</a>!</p>
<p>More to come tonight, hopefully.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/06/03/how-palm-will-screw-up-the-pre-part-ia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Palm will screw up the Pre, part I</title>
		<link>http://blog.acmelab.org/2009/06/01/how-palm-will-screw-up-the-pre/</link>
		<comments>http://blog.acmelab.org/2009/06/01/how-palm-will-screw-up-the-pre/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 21:20:21 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=166</guid>
		<description><![CDATA[Or, &#8220;How the Pre will not save Palm&#8221;. Or, &#8220;How the Pre was dead before it started.&#8221; Or, &#8220;How the Pre was unfortunately conceived of by Palm, Inc.&#8221; Palm, Inc. has been on the proverbial corporate respirator for a really, really, long time. We all remember the days when it was just the Pilot 1000 [...]]]></description>
			<content:encoded><![CDATA[<p>Or, &#8220;How the Pre will not save Palm&#8221;.<br />
Or, &#8220;How the Pre was dead before it started.&#8221;<br />
Or, &#8220;How the Pre was unfortunately conceived of by Palm, Inc.&#8221;</p>
<p>Palm, Inc. has been on the proverbial corporate respirator for a really, really, long time. We all remember the days when it was just the Pilot 1000 and U.S. Robotics, and they were the only game in town for personal, portable, and usable.</p>
<p>Fast forward through 3Com, licensing of the OS, Handspring, the Palm spinoff, and a raft of Clie&#8217;s, Treo&#8217;s, Tungsten&#8217;s. The invention of Graffiti, the lawsuits around Graffiti, and then the other skirmish v. Microsoft because of the word &#8220;Palm&#8221;.</p>
<p>Then the acquisition of Handspring, the spinoff of PalmSource, the absorption of Be, the integration as palmOne, and then the rebranding as Palm, Inc.. Whew.</p>
<p>Do you get the feeling that The Powers That Be spent a lot of time on licensing, restructuring, and trying (in vain) to find their way, all the while basically forgetting to work on making cool, usable stuff? Or, really, releasing new product? Oh, the Palm Foleo? Yeah, you get my point. Combine their history of incompetence, and you begin to think, really, has any company needed their yet-to-be-launched product to succeed more than Palm needs the Pre?</p>
<p>So how can they screw this up? The Pre looks to be cool technology, but Palm has taken their stupendous lead in the handheld market from 1996 and turned itself into a washed-up has-been, watching  iPhone, Windows Mobile, Blackberry, and even Android pretty much take their lunch money. I anticipate this to be a flop for Palm, and I expect it to go down in style.</p>
<p>So here it is, in no particular order, the first installment of &#8220;Ways in which Palm will mess this all up&#8221;:</p>
<p><strong>1. The idiotic launch date.</strong></p>
<p>Palm&#8217;s decision to &#8220;launch&#8221; the Pre (and I say &#8220;launch&#8221; in quotes because everyone knows everything about this handset and even the Sprint service &#8212; there are no surprises here, or even anticipation, really) on the Saturday (huh? weekend?) before the Monday of the industry&#8217;s most anticipated launch party, Apple&#8217;s WWDC. How can this timing be a good idea? Even if the Pre is the best product in the world &#8212; and I mean can slice cheese, do your laundry, brew beer, and get you dates &#8212; the press and the blogosphere will have a grand total of about 48 hours to tell us about it. On a weekend. That&#8217;s if they had anything new to say about it. Really, it&#8217;ll just be bloggers with endless unboxing videos. Everyone else has already seen the pictures, watched the videos, and read the reviews from the professionals. No minds get changed with the &#8220;launch&#8221;. There won&#8217;t be 2-month-long lines outside Sprint stores for the Pre.</p>
<p>Even if WWDC is a huge flop, the press will still be obligated to cover it. All that news (postitive or negative, but really just 227 unboxing videos) about the Pre? Lost below the fold Monday morning. Hell, I&#8217;ll take the bet that if WWDC doesn&#8217;t announce <em>a single new product idea</em>, even if Apple comes out and shows YouTube videos on the screen for 3 hours as as keynote and doesn&#8217;t even get John Mayer to play live, the coverage will be ten times that of the Pre. Sorry, Palm, the Apple PR juggernaut will not be derailed by your Saturday &#8220;launch&#8221;.</p>
<p>The only logical reason I can understand for the timing is so that Palm has a half-decent excuse when their sales figures are disappointingly low and the &#8220;shortages&#8221; of Pre devices lasts about 3 hours. My bet? No more shortages, oh, about 11:15AM PST Monday morning. The first article with a quote from a Palm employee blaming the WWDC shadow for lagging Pre interest on about June 19.</p>
<p>They realized that they showed their hands too early to get a stock price bump, and that any wave of enthusiasm has run out. There is no surprise, there is no pent-up demand. There is only the stark reality that this is just another smartphone competing in a ever-crowded segment. No lifestyle upsell like Apple, no suit-and-tie corporate backing like Blackberry or Windows Mobile. Just a decent piece of technology on a languishing carrier (Sprint) without any applications. Just like the others, except without the existing codebase, userbase, and application store. Nope, just the last gasp from a dead company.</p>
<p>So yeah, I&#8217;d launch as close to WWDC as possible. &#8220;Look, it wasn&#8217;t our fault. Who knew that Apple would launch a new generation of iPhone/iTablet/iMac/MacBook? Why don&#8217;t you love us? It isn&#8217;t our fault. It isn&#8217;t our fault.&#8221; Somehow, I don&#8217;t think that will resonate with shareholders.</p>
<p><strong>2. Palm, Inc. stole some intellectual property for the Pre and will get sued for it on June 8.</strong></p>
<p>I thought this up at a bar with some of my former students. Sounds like a plausible way Palm would get the wind knocked out of their biggest product launch in ages, right? The story goes something like this:</p>
<p>Somewhere in the mess of acquisitions, licensing, and spinoffs, Palm engineers &#8220;borrow&#8221; some piece of technology for their core webOS without permission. A total D-League move for sure, but hey, these engineers didn&#8217;t think they would actually make product launch (see Palm OS Cobalt). And to make matters worse, it&#8217;ll be something a bit obvious, and it will be owned by a huge player. Say, like Cisco, Microsoft, or even Apple. It&#8217;ll be something core to the operating system, like pinch zooming or how they handle device rotation, and definitely core the experience. Either way, it&#8217;ll be a huge blow because Company X will have been sitting on their hands until they decide to knock them out with a lawsuit a couple days after launch.</p>
<p>But, in true Palm fashion, they get the sucker punch first, then the left hook next. The lawsuit will break after the WWDC keynote, and we will realize that Apple will have made a big deal about the partnership with Company X. Oh yeah. This is how it should go down. Hell, Company X should be Apple itself. I can see it already. The WWDC keynote showcases some interaction that Palm touted two days prior, followed by a picture of the granted patent application for Apple. As Jobs would say, &#8220;Boom!&#8221;</p>
<p><strong>3. The Sprint customer service kills it all.</strong></p>
<p>Not exactly in their hands, but still their doing, Sprint becomes the weakest link. In the best case, Sprint is hit hard by the surge in demand for the Pre. Sprint employees, being Sprint employees, can&#8217;t handle the demand and are completely crushed. In-store customers get bogged down in up-sells and spend 2 hours trying to activate their phones. Actual lines form at stores, but not because the phones are in such demand. Combine this with the incompetent online ordering system and the unique ability of Sprint to get your plan completely wrong even with a form submitted via the Internet, we start to see picture of a horrible first-time-buyer experience. Delayed orders, data plans not attached to rate plans, botched number port-ins. Egads. You can&#8217;t trust Sprint to handle their existing customers. If they get a bunch in one morning, God help them.</p>
<p>And that&#8217;s the best case.</p>
<p>&#8230; more to come.</p>
<p><em>Got some ideas? Leave &#8216;em in the comments.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/06/01/how-palm-will-screw-up-the-pre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>An Android news day</title>
		<link>http://blog.acmelab.org/2009/04/27/an-android-news-day/</link>
		<comments>http://blog.acmelab.org/2009/04/27/an-android-news-day/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 14:51:30 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=160</guid>
		<description><![CDATA[Lots of Android news today. Cupcake (v1.5) for Android Developer Phone is official from HTC Vodafone Spain is launching the HTC Magic today, apparently Italy&#8217;s TIM is getting the HTC Magic Samsung officially announces the I7500 Android phone in Korea Awesome. If you haven&#8217;t played with the 1.5 release (Cupcake), I would definitely do it.]]></description>
			<content:encoded><![CDATA[<p>Lots of Android news today.</p>
<ul>
<li><a href="http://www.htc.com/www/support/android/adp.html">Cupcake (v1.5) for Android Developer Phone is official from HTC</a></li>
<li><a href="http://www.talkandroid.com/964-vodafone-spain-htc-magic/">Vodafone Spain is launching the HTC Magic today, apparently</a></li>
<li><a href="http://www.androidcentral.com/htc-magic-coming-italys-tim">Italy&#8217;s TIM is getting the HTC Magic</a></li>
<li><a href="http://www.androidcentral.com/samsung-i7500-be-samsungs-first-android-device">Samsung officially announces the I7500 Android phone in Korea</a></li>
</ul>
<p>Awesome. If you haven&#8217;t played with the 1.5 release (Cupcake), I would definitely do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/04/27/an-android-news-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cupcake for everone. And it&#8217;s good.</title>
		<link>http://blog.acmelab.org/2009/04/19/cupcake-for-everone-and-its-good/</link>
		<comments>http://blog.acmelab.org/2009/04/19/cupcake-for-everone-and-its-good/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 04:01:07 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=158</guid>
		<description><![CDATA[Oh, how I love xda-developers. The ugly web forum hangout for all HTC-related hackery. I&#8217;ve been there since the early days with my Audivox SMT5600 (aka HTC Typhoon), and on through with a T-Mobile SDA (aka HTC Tornado), T-Mobile MDA (aka HTC Wizard), my current Sprint Touch (aka HTC Vogue), and HTC Touch Pro courtesy [...]]]></description>
			<content:encoded><![CDATA[<p>Oh, how I love <a href="http://forum.xda-developers.com/">xda-developers</a>. The ugly web forum hangout for all HTC-related hackery. I&#8217;ve been there since the early days with my Audivox SMT5600 (aka HTC Typhoon), and on through with a T-Mobile SDA (aka HTC Tornado), T-Mobile MDA (aka HTC Wizard), my current Sprint Touch (aka HTC Vogue), and HTC Touch Pro courtesy of Microsoft, and now a stack of Android Developer Phones (HTC Dream).</p>
<p>Forthcoming from Vodafone in a month or so is the Vodafone Magic (HTC Sapphire). It will come standard with a new build of the Android platform, dubbed &#8220;cupcake&#8221;. Some <a href="http://forum.xda-developers.com/showthread.php?t=498026">lovely person on xda-developers</a> <a href="http://haykuro.theiphoneproject.org/">has ported</a> the <a href="http://code.google.com/p/sapphire-port-dream/">firmware and radio images</a> to work with rooted G1&#8242;s (links below). This is so good. There are two versions floating around. The &#8220;G&#8221; version is based on a Google build, and an &#8220;H&#8221; version sourced from HTC normally destined for the Chunghwa phone. If you&#8217;re going to do this, go full-boat and get the HTC-branded, and more fully-featured &#8220;H&#8221; version.</p>
<p>You can search the Internet for lots of side-by-side comparisons of the <a href="http://htcsource.com/index.php/Android/Sapphire/Magic-Android-built-on-T-Mobile-G1.html">Google</a> and <a href="http://htcsource.com/index.php/Android/HTC-s-Magic-Andrid-build-walkthrough.html">HTC</a> builds, and you can find lots of stuff about the cupcake branch. But all you really need to know is that the HTC build comes out-of-the-box with push notifications for all Google services (Mail/Calendar/Contacts/Talk), as well as Exchange (Mail/Calendar/Contacts). HTC just put this phone on the &#8220;enterprise&#8221; map. After a simple setup process and a few minutes of playing with it, the Exchange synchronization seems flawless. Push notifications are instant, everything is configurable like you would expect on a Windows Mobile platform. Since Android uses a platform dialer and contacts manager, you can select both which contacts get synchronized (Google only, Exchange only, both, etc.), and/or show only select groupings. Same goes for the calendar. So awesome, and so right.</p>
<p>Cupcake will make Android my next phone without a doubt. Just as soon as they release a CDMA EV-DO Rev. A model for the Sprint network, because you can pry my Sprint SERO plan from my cold, dead, hands.</p>
<p>For the curious, the Exchange client identifies as:</p>
<p>Device ID: HTCAnd7e7413d6<br />
User Agent: Android-EAS/0.1</p>
<p>Links:</p>
<ul>
<li><a href="http://forum.xda-developers.com/showthread.php?t=498026">Original xda-developers thread by haykuro</a></li>
<li><a href="http://haykuro.theiphoneproject.org/">haykuro&#8217;s blog</a></li>
<li><a href="http://code.google.com/p/sapphire-port-dream/">Google Code project with all the firmware and instructions</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2009/04/19/cupcake-for-everone-and-its-good/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Entourage 2008 can&#8217;t see emails with a plus (&#8220;+&#8221;) in the subject.</title>
		<link>http://blog.acmelab.org/2008/10/19/entourage-2008-cant-see-emails-with-a-plus-in-the-subject/</link>
		<comments>http://blog.acmelab.org/2008/10/19/entourage-2008-cant-see-emails-with-a-plus-in-the-subject/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 02:55:26 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=134</guid>
		<description><![CDATA[Many people that use Macs need to use Entourage because their company utilizes Microsoft Exchange. That&#8217;s fine with me, as Exchange seems to be a perfectly functional (when someone else is running it) calendaring/email/addressbook &#8220;enterprise&#8221; thing. Plus, Mail.app is such a frustratingly bad piece of software. But this (probably) bug in Entourage is really silly. [...]]]></description>
			<content:encoded><![CDATA[<p>Many people that use Macs need to use Entourage because their company utilizes Microsoft Exchange. That&#8217;s fine with me, as Exchange seems to be a perfectly functional (when someone else is running it) calendaring/email/addressbook &#8220;enterprise&#8221; thing. Plus, Mail.app is such a frustratingly bad piece of software. But this (probably) bug in Entourage is really silly.</p>
<p>Try sending yourself an email with the plus sign, &#8220;+&#8221; in the subject. Outlook can see it. Webmail can see it, but Entourage has no friggin&#8217; idea it is there. The receipt of the mail triggers the sync of the inbox, but nothing shows up! What the hell?</p>
<p>Now, to find where the heck the bug submission button is&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2008/10/19/entourage-2008-cant-see-emails-with-a-plus-in-the-subject/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mac OS X + OpenVPN bridge + SSH Tunnel = VPN goodness</title>
		<link>http://blog.acmelab.org/2008/07/20/mac-os-x-openvpn-bridge-ssh-tunnel-vpn-goodness/</link>
		<comments>http://blog.acmelab.org/2008/07/20/mac-os-x-openvpn-bridge-ssh-tunnel-vpn-goodness/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 02:55:38 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.acmelab.org/?p=127</guid>
		<description><![CDATA[Ah, the beauty of open source software. This is a long post that started with a simple problem. At work, we live behind the Great Olin Firewall (GOF). I checked out some code from an internal Subversion repository over HTTP. Now, I&#8217;m outside the GOF and I want to commit some important changes. We have [...]]]></description>
			<content:encoded><![CDATA[<p>Ah, the beauty of open source software. This is a long post that started with a simple problem. At work, we live behind the Great Olin Firewall (GOF). I checked out some code from an internal Subversion repository over HTTP. Now, I&#8217;m outside the GOF and I want to commit some important changes. We have an SSH gateway, and SSH has a built-in SOCKS5 proxy. Cool, that should work, right? Nope. While you can use tsocks or proxychains, or some other transparent proxy service to get most of the way there, it isn&#8217;t the whole thing. I learned a lot from <a href="http://blog.isshen.com/articles/2006/12/16/how-to-do-http-ssh-with-subversion">this page</a>, but proxychains doesn&#8217;t compile well on OS X. Ugh. And tsocks doesn&#8217;t tunnel DNS requests on OS X.</p>
<p>Now, the GOF is a Nortel piece that uses a custom hash function for the username running and standards-based IPSec VPN. Boo. That means it won&#8217;t work with any third-party VPN client. You have to use the Contivity piece of garbage. Bonus that this piece of garbage is written by Apani, and is now no longer actively supported. Double ugh. So here is what I need:</p>
<ul>
<li>VPN access to the work network</li>
<li>Tunneled through SSH</li>
<li>Ability to redirect DNS lookups through the VPN</li>
<li>Free, as in speech</li>
</ul>
<p>What you&#8217;ll need to do this:</p>
<ul>
<li>Root on a linux server inside the firewall</li>
<li>Mac on the outside</li>
</ul>
<p>There, not so hard? Thankfully, the Intarwebs and a little hacking last night delivered the goods. In short, I used OpenVPN, a few scripts, and a little luck. Here&#8217;s how.</p>
<p><strong><em>Server</em></strong></p>
<ol>
<li>I used Ubuntu Dapper inside a Xen virtual machine. Worked great.</li>
<li>apt-get install openvpn openssl bridge-utils</li>
<li>cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn</li>
<li>Follow the directions for generating keys at the <a href="http://openvpn.net/index.php/documentation/howto.html#pki">OpenVPN HOWTO</a></li>
<li>Copy the keys to the right places, as from the above HOWTO. I put my keys in /etc/openvpn/keys</li>
<li>Use the following configuration file for your server. This assumes an ethernet bridge will be built (later) and that you have a DHCP server somewhere on the LAN to give out IP addresses to VPN clients<br />
<code><br />
proto tcp-server<br />
dev tap0<br />
ca /etc/openvpn/keys/ca.crt<br />
cert /etc/openvpn/keys/server.crt<br />
key /etc/openvpn/keys/server.key<br />
dh /etc/openvpn/keys/dh1024.pem<br />
mode server<br />
tls-server<br />
client-to-client<br />
keepalive 10 120<br />
cipher BF-CBC<br />
comp-lzo<br />
persist-key<br />
persist-tun<br />
status openvpn-status.log<br />
verb 3</code></li>
<li>Create the ethernet bridge Debian-style by adding the following lines to your /etc/network/interfaces:<br />
<code><br />
auto br0<br />
iface br0 inet dhcp<br />
pre-up openvpn --mktun --dev tap0<br />
bridge_ports eth0 tap0<br />
</code></li>
<li>Restart network with <code>/etc/init.d/network stop</code> and <code>/etc/init.d/network start</code></li>
<li>Now you should still have internet connectivity, and eth0 and a br0 bridge</li>
</ol>
<p><strong><em>Client</em></strong></p>
<ol>
<li>Get and install OpenVPN 2.x. I used Macports, so I just fired up ports like: <code>sudo port install openvpn2</code></li>
<li>Grab and install the <a href="http://www-user.rhrk.uni-kl.de/~nissler/tuntap/">tun/tap driver for Mac OS X</a></li>
<li>Reboot, or force install the kernel extensions</li>
<li>Make sure you have the client encryption keys from above, and use the following client configuration:<br />
<code>client<br />
dev tap<br />
proto tcp-client<br />
remote localhost<br />
tls-client<br />
ca /opt/local/etc/openvpn/keys/ca.crt<br />
cert /opt/local/etc/openvpn/keys/mchang.crt<br />
key /opt/local/etc/openvpn/keys/mchang.key<br />
cipher BF-CBC<br />
comp-lzo<br />
nobind<br />
persist-key<br />
persist-tun<br />
up /opt/local/etc/openvpn/tap-up-down.sh<br />
down /opt/local/etc/openvpn/tap-up-down.sh<br />
verb 3<br />
</code></li>
<li>Grab the openvpn-tap-up-down.sh script from the <a href="http://openvpn.net/archive/openvpn-users/2006-10/msg00120.html">bottom half of this mailing list posting</a>, or download it right here: <a href="http://blog.acmelab.org/wp-content/uploads/2008/07/tap-up-down.sh">tap-up-down.sh</a></li>
<li>Install that tap-up-down.sh in /opt/local/etc/openvpn and chmod +x it so it can be executed</li>
</ol>
<p><em><strong>Fire it up</strong></em></p>
<p>Now we&#8217;re ready to start this thing up, over an SSH tunnel, kind of like describe <a href="http://www.classy.dk/hacks/archives/002287.html">in this post</a>.</p>
<ol>
<li>Fire up your ssh, tunneling the OpenVPN port like<br />
<code>ssh -L 1194:vpn.your.domain.com:1194 ssh-gateway.your.company.com</code></li>
<li>Where ssh-gateway.your.company.com is your ssh gateway, and vpn.your.domain.com specifies the tunnel endpoint at the VPN server you have just set up.</li>
<li>Turn on OpenVPN on the server like<br />
<code>openvpn --conf /etc/openvpn/bridge.conf</code></li>
<li>Turn on OpenVPN on the client like<br />
<code>sudo openvpn2 --config /opt/local/etc/openvpn/client.conf</code></li>
<li>You should see, on both sides, OpenVPN authenticating and then starting up.</li>
</ol>
<p>Now, you should be able to ping any machine on the remote subnet. I wanted to be able to get to anything on the internal network through the VPN, so I manually added a route to all of the internal network (10.0.0.0/8) through the VPN server&#8217;s default gateway. Like this:<br />
<code><br />
route add 10.0.0.0/8 10.49.27.1</code></p>
<p>Of course, substitue the IP of the VPN server&#8217;s gateway to the rest of the network for 10.49.27.1. That, combined with the handy script from Ben Low, allows all DNS lookups for the internal network to go to the internal DNS servers, routed through the VPN.</p>
<p>Some notes:</p>
<ol>
<li>On the server side, everything is pretty much normal. I can&#8217;t seem to use the &#8220;push redirect-gateway&#8221; through this system, as a) either the OS X port of OpenVPN doesn&#8217;t support it (unlikely), or b) the gateway information is a little borked as it is going over an SSH tunnel. Either way, I just manually add the route to the default gateway.</li>
<li>For some reason, the tap0 driver does not go into DHCP mode by default. You have to force it using the ipconfig program, which is done for you in the tap-up-down.sh script.</li>
<li>On the client side, Mac OS X has a very complex name resolution service. Very cool if you get under the hood, as seen in these <a href="http://lists.apple.com/archives/Macnetworkprog/2005/Jun/msg00011.html">two</a> <a href="http://lists.apple.com/archives/Macnetworkprog/2005/Sep/msg00047.html">threads</a> on the Apple developer mailing list. The end result is that when you get the DHCP lease from the internal LAN DHCP server, the <code>tap0</code> device gets some service keys that record the DNS servers pushed from the LAN DHCP server. After the <code>tap0</code> driver comes up through OpenVPN, you can see this by running <code>scutil</code> from the command line, and executing<br />
<code>get State:/Network/Service/DHCP-tap0<br />
d.show</code></li>
<li>Now, OS X needs to have a <code>SupplmentalMatchDomains</code> key associated with these DNS entries before it will actually consult them as part of the name resolution service. The script does that for you. You can see its effects after the VPN starts up by running <code>scutil --dns</code></li>
</ol>
<p>There you go. Now poke holes in your own Great Corporate Firewall!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.acmelab.org/2008/07/20/mac-os-x-openvpn-bridge-ssh-tunnel-vpn-goodness/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

