You are viewing tytso

Ted Tso
14 December 2010 @ 09:11 am

There’s been a lot of discussion regarding whether or not Nokia is Doomed or not.   The people who say Nokia are doomed basically point out that Nokia doesn’t have any attractive products at the high end, and at the low end the margins are extremely thin.  The high end products suffer from the Symbian being essentially dead (even Nokia is recommending that developers not develop native applications for Symbian, but to use Qt instead), and Nokia doesn’t have much of a development community following it, and it certainly does have much in the way of 3rd party applications, either targetting Symbian or Qt at the moment.

So what do I think of the whole debate between Tomi and Scoble?  First of all, I think there is a huge difference in American and European assumptions and perspectives, and a big question is whether the rest of the world will end up looking more like Europe or America vis-a-vis two key areas: cost of data plans, and whether phones become much more application centric.

Tomi took Apple to task in the comments section of his 2nd article for not having an SD card slot (how else would people share photos with their friends?) and for not supporting MMS in its earlier phones.   My first reaction to that was:  Um, isn’t that what photo-sharing sites are for?    Is it really that hard to attach a photo to an e-mail?  And then it hit me.   In Europe, data is still like MMS a few years ago — a place for rapacious carriers to make way too much money.  Many European telco’s don’t have unlimited data plans, and charge by the megabyte — and even if you’re lucky enough to live in a country which does have an American-like data plan, the cost of data roaming is still incredibly expensive.  In contrast, in the US, I can pay $30/month for an unlimited data plan, and I can travel 2000 miles south or west and it will still be valid.   Try doing that in Europe!   The US had consumer-friendly data plans much earlier than Europe did, and so perhaps it’s not surprising that Nokia has engineered phones that were far more optimized for the limitations caused by the Europe’s Wireless carriers.

The second area of debate where I think Scoble and Tomi are far apart is whether phones of the future are fundamentally about applications or well, making phone calls.   Here I don’t have proof that this is a fundamentally European vs. US difference, but I have my suspicions that it might be.   Tomi spent a lot of time dwelling on how Nokia was much better at making phone calls (i.e., better microphones, better radios, etc).   And my reaction to that was, “Who cares?  I rarely use my phone for making phone calls these days!”   And that was certainly one of the reasons why I gave up on Nokia after the E70 — its contacts database was garbage!   It was OK as a phone directory, but as a place for storing multiple addresses and e-mail addresses, it didn’t hold a candle to the Palm PDA.   And that’s perhaps the key question — how much is a smart phone and about being a “phone”, versus being a “PDA” (and these days I want a cloud-synchronized PDA, for my calendar, contacts, and todo lists), and how much is it about applications?

This is getting long, so I think I’ll save my comments about whether I think Meego will be an adequate savior for Nokia for another post.  But it’s worthwhile to talk here about Tomi’s comments about most smartphones being much cheaper than the “luxury” iPhone, and so it doesn’t matter that Nokia’s attempt in the higher end smart phones has been a continuous history of fail.   First of all, it’s worth noting that there are much cheaper Android phones available on the market today, which are price-competitive with Nokia’s low-end smartphones (i.e., available for free from T-Mobile in the States with a two year commitment).  Secondly, the history in the computer market over the last twenty years is that features inevitably waterfall into the cheaper models, and prices will tend to drop over time as well.  Apple started only with the iPod, but over time they added the iPod Nano and the iPod Shuffle.  And it would not surprise me if they introduce a lower-end iPhone as well in time as well.   It would shock me if they aren’t experimenting with such models even as we speak, and have simply chosen not to push one out to the market yet.  So even if you buy Tomi’s argument that the high-end smartphones don’t matter, and you only care about volume, and not about profit margins (talk to the people at Nokia that will need to be laid off to make their expenses match with their lowered revenue run rates; I bet they will care), the question is really about whether Nokia has time to execute on the Meego vision before it’s too late and the current application-centric smartphone ecosystems (Android and iPhone) start eating into the lower-end smartphone segment.   More on that in my next post.

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso

I received a trackback from Tim Bray’s Saving Data Safely post on the Android Developer’s blog to my Don’t fear the fsync! blog entry, so I guess the cat’s out of the bag.  Starting with Gingerbread, newer Android phones (starting with the Nexus S) will be using the ext4 file system.  Very cool!  So just as IBM used to promote Linux by saying that it was scalable enough to run on everything between watches and mainframes, I can now talk about ext4 as running in production on cell phones to Google data centers.

How much am I worried about Tim Bray’s caution to Android programmers that they use fsync() correctly?   Not a lot.  Sure, they should make sure they use fsync(), or if they want to be clever, sync_file_range(), to make sure files are appropriately written to disk (or, in Android’s case, to flash).   But unlike Ubuntu’s running on random PC’s, with users downloading the latest (possibly buggy) Nvidia drivers, handset manufacturers test their systems very carefully before they let them ship.  So if there are any problems, they tend to be found before the phone ships to end-users.  So at least in my experience, my Nexus One has been very reliable; it’s never crashed on me.   So the chances of random crashes when you exit the 3D game (as one Ubuntu user reported — and considered acceptable?!? — I’d be roasting Ubuntu and/or Nvidia under a slow fire if that was a reliably reproducible bug, not considering it par for the course) are very remote.   And fsync() is important if systems crash or aren’t shut down cleanly.  Still, if users are randomly ripping out their batteries to turn off their cell phone in a hurry, because they’re too impatient to wait for a controlled shutdown, then sure, we might have problems, and it’s a good reason for application writers to use fsync() correctly.

By the way, I had nothing to do with the choice to use ext4 on Android.  So if you’re curious about why ext4 was chosen, I can’t say anything authoritatively, since I wasn’t consulted before the decision was made (although obviously I’m delighted).   As far as I can tell after the fact, one of the reasons for choosing ext4 was better performance, especially in the light of dual-core ARM CPU’s which are becoming available in large quantities in the near future; YAFFS is single threaded, so it would have been a bottleneck on dual-core systems.  Why not btrfs?   Well, for all of btrfs’s features, it’s not out of beta yet, and Gingerbread is shipping today.  (Well, in less than a week to Best Buy, if we want to be precise.)

This is another reason why I’m glad to see ext4 being used on Android is that it validates my decision to keep working on ext4 2-3 years ago, even though newer filesystems like btrfs were promised to be coming down the pike.   As I’ve said many times before, file systems are like fine wine, and they take many years to mature.  So having ext4 ready today is a great way of giving more choices to developers and system administrators about what file system they want to use.

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso
06 December 2010 @ 11:19 pm

Richard Tibbetts has called me out for conflating Web 2.0 startups with all startups in my recent blog posting, “Google has a problem retaining great engineers? Bullcrap”. His complaint was that I was over generalizing from Web 2.0 startups to all startups.

He’s right, of course. The traditional “technology startup” by definition does have a large amount technology work that needs to be done, in addition to the business development work. However, things have changed a lot even for technology startups. Consider a company like Sequent Computer Systems, which started in 1983. At the time the founders had a key idea, which was to use multiple commodity intel CPU’s to create first SMP, and then later, NUMA minicomputers. But in order to do that, they had to design, build and manufacture a huge mount of hardware, as well as develop a whole new Unix-derived operating system, just to bring that core idea to market.

These days, the founder or founders will have a core idea, which they will hopefully patent, to prevent competitors from replicating their work, just as before. However, these days there is a huge selection of open source software so there is much less technology that needs to be re-developed / re-invented in order to bring that idea to market. From Linux and BSD at the operating system level, to databases like MySQL, Apache web servers, etc., there is an awful lot for the startup to chose from. This is all goodness, of course. But it means that most of the technology developed in a typical startup will tend to be focused on supporting the core idea that was developed by the founder. If a company is focused on databases, they probably won’t be interested in supporting me to do my file system work. Why should they? There’s lots of open source file systems they can use; one of them will probably meet their needs.

So while it’s obvious that you can do technology at large variety of companies, of different sizes, I don’t think it’s arrogance to say that there are certain types of technology that can only be done at Google, or maybe at a very small subset of other companies. I’m pretty confident, for example, that Google has the world’s largest number of computers in its various data centers around the world. That means there are certain things that don’t make sense at other companies, but which absolutely makes sense at our scale. In addition, Google’s business model means allows us to pursue open source projects such as Chrome and Android that wouldn’t make sense at other companies. With Android in particular, it means that multiple firmware updates for any given handset model, if it causes people to use the web more and drive more advertising revenue, makes sense and so it’s something we can pursue — in comparison to Nokia, which gets its revenue from hardware sales, so a firmware update that extends the life of a handset is actually a bad thing for them; better to force you to upgrade an handset every year or two.

So I think Richard misunderstood me if he thought I was trying to make the argument that Google is the only place where you can do interesting technical work. That’s obviously not true, of course. But I do think there are many examples of technical work which don’t make business sense to do at smaller companies, and startups in particular have to be very much focused on bringing the founder’s idea to market, and all else has to be subordinated to that goal.  And one of the most interesting developments is how the combination of commoditized and standardized hardware, and comoditized software in the form of open source, has changed the game for startups.

For most startups, though, open source software is something that they will use, but not necessarily develop except in fairly small ways.   Many of the economic arguments in favor of releasing code as open source, and dedicating a significant fraction of an engineer’s time to serve as a OSS project maintainer or kernel subsystem maintainer, are ones that make much more sense at a very large company like Google or IBM.   That’s not because startups are evil, or deficient in any way; just the economic realities that at a successful startup, everything has to be subordinated to the central goal of proving that they have a sustainable, scalable business model and that they have a good product/market fit.  Everything else, and that includes participating in an open source community, is very likely a distraction from that central goal.

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso
02 December 2010 @ 04:56 pm

Bruce Schneier has written an absolutely powerful essay in his blog, with the modest proposal that in response to the security worries at the Washington Monument, we should close it.

If you haven’t read it yet, run, don’t walk, to his blog and read it.  Then if you live in the States, write to your congresscritters, and ask them to reinsert the backbone which they have placed in a blind trust when they got elected, and tell the TSA that they have a new mandate; to provide as much security as possible without compromising our freedom, privacy, and American Ideals.   Right now, they have an impossible job, because they have been asked to provide an absolute degree of security.  And in trying to provide the impossible, the terrorists have already won…

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso

Once again, there’s been another story about how Google is having trouble retaining talent.   Despite all Eric Schmidt’s attempts to tell folks that Google’s regretted attrition rate has not changed in seven years, this story just doesn’t want to seem to die.   (And those stories about Google paying $3.5 million and $7 million to keep an engineer from defecting to Facebook?   As far as I know, total bull.  I bet it’s something made up by some Facebook recruiter who needed to explain how she let a live prospect get away.  :-)

At least for me, the complete opposite is true.   There are very few companies where I can do the work that I want to do, and Google is one of them.   A startup is totally the wrong place for me.   Why?  Because if you talk to any venture capitalist, a startup has one and only one reason to exist: to prove that it has a scalable, viable business model.   Take for example.   As Business Week described, while they were proving that they had a business model that worked, they purchased their diapers at the local BJ’s and shipped them via Fedex.   Another startup, Chegg, proved its business model by using to drop ship text books to their first customers.  (The venture capitalist Mark Maples talked about this in a brilliant talk at the Founders Showcase; the Chegg example starts around 20:50 minutes in, but I’d recommend listening to the whole thing, since it’s such a great talk.)   You don’t negotiate volume discounts with textbook publishers, or build huge warehouses to hold all of the diapers that you’re going to buy until you prove that you have a business model that works.

Similarly, you don’t work on great technology at a startup.  Startups, by and large, aren’t about technology — at least, not the Web 2.0 startups like Facebook, Foursquare, Twitter, Groupon, etc.   They are about business model discovery.  So if you are fundamentally a technologist at heart, whose heart sings when you’re making a better file system, or fixing a kernel bug, you’re not going to be happy at a startup.   At least, not if the startup is run competently.   If you have the heart of an entrepreneur, and you are willing to roll the dice (since 9 out of 10 startups go belly up; those are the ones that failed to find a viable business model), then sure, go for a startup.  And understand that your job will be to make something that works well at a small scale, quick, dirty, and cheap.  If that means using some proprietary software, then that’s what you should do.  Hopefully you’ll get lucky and win the IPO lottery.

But if your primary interest is to doing great engineering work, then you want go to company that has a proven business model.  Google has enough scale that I can sleep well knowing that improvements I am making to Linux and the ext4 file system are saving enough money for the company that Google is making a profit on me.  That is, the value Google is getting out of my work is worth many multiples of my total compensation.   And that’s a position that every engineer should strive for, since that’s how you can be confident that you will remain gainfully employed.   The fact that I can do what I love, and go to conferences, and all of my work is open source — that’s just total icing on the cake.  :-)

Originally published at Thoughts by Ted. Please leave any comments there.

Tags: , ,
Ted Tso
01 November 2010 @ 10:52 pm

Thanks to Eric Whitney’s benchmarking results, I have my money shot for my upcoming 2011 LCA talk in Brisbane, which will be about how to improve scalability in the Linux kernel, using the case study of the work that I did to improve scalability via a series of scalability patches that were developed during 2.6.34, 2.6.35, and 2.6.36 (and went into the kernel during subsequent merge window).

These benchmarks were done on a 48-core AMD system (8 sockets, 6 cores/socket) using a 24 SAS-disk hardware RAID array.  Which is the sort of system which XFS has traditionally shined on, and for which ext3 has traditionally not scaled very well at.  We’re now within striking distance of XFS, and there’s more improvements to ext4 which I have planned that should help its performance even further.   This is the kind of performance improvement that I’m totally psyched to see!

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso
12 September 2010 @ 04:52 pm

There has been much made of recent reports that roughly half of Americans have an unfavorable view of Islam.  And as usual, there are those who will try to claim that Muslims really aren’t all that bad, and that Sharia is just set of nice, abstract principles which are all about the protection of life, family, education, religion, property, and human dignity.   And on the other side, we have people pointing out that using Sharias as justification, there are countries which are stoning women and chopping off poor people’s hands and then forbidding Muslims from arguing about whether such things are just.

Worst yet, some of the more public “moderate Muslims”, such as Iman Rauf, refuse to criticize organizations such as Hamas, on the ground that he is a “bridge builder”, and it wouldn’t help to criticize Hamas’s terrorist activities as being anti-Isalmic.  OK, so let’s grant for the sake of argument the claims that Shariah really is far more than just criminal sanctions, but mainly about exhorting people to live a moral life, and that of the 1,081 pages of the two-volume Arabic text which Sherman A. Jackson (the Arthur F. Thurnau Prfessor of Arabic and Isalamic Studies at the University of Michigan) used to study Shariah, only 60 pages were devoted to criminal sanctions (i.e., the stoning and the cutting off of hands), and only 19 were devoted to Jihad.   Let’s even further grant the claims made by Humaira Awais Shahid that most Muslims reject “Political Islam” and are not even arabs.   OK.   But that case, wouldn’t there be more Imans publically disavowing the people who advocate terrorism and suicide bombs as not being Islamic?   Not all of them are bridge-builders, are they?   And if so, some of them might be better deployed towards saying what Islam is not, and saying that perhaps people who espouse those beliefs are being profoundly unIslamic — and saying this loudly outside of their Mosques.

Oh, I understand that many Muslims feel that they shouldn’t be asked to repudiate the sins of “a few crazy terrorists”; just as all Christians shouldn’t be held accountable for disturbed crazy rants of a small-time “pastor” from Gainsville, Florida.   But at the same time, it seems to me that Islamic leaders should be eager to say, loudly, that what is being done in the name of their religion in Iran and Nigeria is wrong, and to denounce it.   Maybe, some would say, that they are doing that and the media isn’t paying attention to them.   Well, the Media is surely paying attention to people like Iman Rauf, and he refuses to denounce Hamas!   I would gently suggest to those Islamic leaders who feel that they and their faith haven’t been given a fair shake, to hire a better PR agency; and make sure that active denunciations of that which they claim does not represent true Islam is shouted from the rooftops; published in press releases; made in press conferences.   And actively denounce your fellow Muslims that you feel are shaming your religion, instead of complaining about American Islamophobia.   Trying to pretend that there is absolutely no truth in why Americans might be afraid of terrorists who have been hiding under the mantle of your religion is not going to help your cause.

There may be truth in the fact that many Americans don’t know as much as they should about Islam and Shariah.  And there may be truth that American unswerving support of Israel, despite the fact that they acted in profound and unjust ways against the Palestinians, is not only morally and ethically wrong, but has hurt American interests.  I certainly believe that to be to true; I am no friend to fundamentalists of any stripe, whether they are Christian, Jewish, or Islamic; and I think the Jewish fundamentalists have almost completely taken over the Israeli political discourse.  But all of that is irrelevant if the goal is reduce people’e negative views towards Islam.   And in any case, if you really believe that attacking innocents, and coercing religion by threatening Muslims who have fallen away from their faith with the death penalty is wrong, then it’s wrong regardless of whether those innocents happened to vote for politicians who have been influenced by way too much money from AIPAC.   So instead of trying to lecture Americans about their uncritical support of Israel, why not just stand witness to the fact that killing innocents is wrong, and that people who do that are not Islamic, no matter what they claim or how impressive their turban might happen to be?   And maybe it might be a good idea to speak out against those who would lend support, whether moral, or financial or logistical, to people who do these unIslamic things in the name of Islam?    And it may not be enough to say it once; it needs to be said again and again.  Which is why it’s important to hire a good PR agency.

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso

This is so very, very, wrong — enough so that my first thought was, “this web site brought to you by China and the letters ‘M’, ‘S’, and ‘S’”.

I’m curious how many people were stupid enough to use this to generate keys that they actually use in production, but I’m afraid the answer would seriously depress me.

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso
17 March 2010 @ 11:38 am

I just came across this story ( today, and given my name, and given that I fancy myself a bit of a foodie, who could resist?  (Not that I considered the deep-fried, dunked-in-sugar-syrup mess that passes for General Tso’s chicken in most fast food Chinese restaurants to be gourmet food, mind you!)

Here’s the first thing you should know: The general had nothing to do with his chicken. You can banish any stories of him stir-frying over the flames of the cities he burned, or heartbreaking tales of a last supper, prepared with blind courage, under attack from overwhelming hordes. Unlike the amoeba-like mythologies that follow so many traditional dishes, the story of General Tso’s chicken is compellingly simple. One man, Peng Chang-kuei — very old but still alive — invented it.

But what’s “it”? Because while chef Peng is universally credited with inventing a dish called General Tso’s chicken, he probably wouldn’t recognize the crisp, sweet, red nuggets you get with pork fried rice for $4.95 with a choice of soda or soup. All that happened under his nose. It all got away from him…

Originally published at Thoughts by Ted. Please leave any comments there.

Ted Tso

I recently came across the Transitive Grace Period Public License (alternate link) by Zooko Wilcox-O’Hearn.  I fonud it interesting because it’s very similar — almost identical — to something I had first starting floating about ten years ago.  I called it the Temporary Proprietary License (TPL).  I’m sure this is a case of “great minds think alike”.  One things that I like about my write up is that I gave some of the rationale behind why this approach is a fruitful one:

A while ago, I was talking to Jim Gettys at the IETF meeting in Orlando, and the subject of software licensing issues came up, and he had a very interesting perspective to share about the X Consortium License, and what he viewed as bugs in the GPL.

His basic observation was this: Many companies made various improvements to the X code, which they would keep as proprietary and give them a temporary edge in the marketplace. However, since the X code base was continually evolving, over time it became less attractive to maintain these code forks, since it would mean that they would have to be continually merging their enhancements into the evolving code base. Also, in general, the advantage in having the proprietary new feature or speed enhancement typically degraded over time. After all, most companies are quite happy if it takes 18-24 months for their competitor to match a feature in their release.

So sometime later, the companies would very often donate their previously proprietary enhancement to the X consortium, which would then fold it into the public release of X. Jim Gettys’ complaint about the GPL was that by removing this ability for companies to recoup the investment needed to make major developmental improvements to Open Source code bases, companies might not have the incentive do this type of infrastructural improvements to GPL’ed projects.

Upon reflection, I think this is a very valid model. When Open Vision distributed the Kerberos Administration daemon to MIT, they wanted an 18 month sunset clause in the license which would prevent commercial competitors from turning around and bidding their work against them. My contract with Powerquest for doing the ext2 partition resizer had a similar clause which kept the resizing code proprietary until a suitable timeout period had occurred, at which point it would be released under the GPL. (Note that by releasing under the GPL, it prevents any of Partition Magic’s commercial competitors from including it in their proprietary products!)

For more, read the full proposal.

Originally published at Thoughts by Ted. Please leave any comments there.