Besides mouse gestures I've gotten so used to browsing via keyboard (especially when using Shift+arrow keys) that switching to another browser is nigh impossible, because I get irritated too easily.
And the builtin RSS reader is better than anything else I've come across (not that I spent that much time looking ;-))
I love the rss feed: no signing in, no opening tab upon tab upon tab, no silly magazine layout. Just the feed menu on the top of the page, the individual feeds displayed on the bottom- it's perfect.
"...most mobile PC makers did not think to themselves "how on earth are we going to go up against this""
What I've been hoping ever since yesterday is that someone should release an "iPad" with a heavily customized open source OS on it. Add some Amazon integration (ala iTunes for books/music), customize the main apps to suite the form factor and a semi-open repository/app store for extra apps.
Several such machines were demo'ed (usually by chip-manufacturers) at CES earlier this month. The marketing blitz around the iPad makes it much more likely for someone to take these and build an actual end user product. Possibly your telecoms provider would want to sell you one with a contract and their branding.
There appears to be a distinct lack of touch based 'remixes' of Android or Ubuntu though.
See? This syntax trouble is already lesson #1 you learn from pointers: The _address_ of some value and the _value itself_.
If you have a pointer (that is, the address), then you need to prefix it with a * in order to get the value in order to do useful things. If you have a value, you need to prefix it with & in order to get the value's address in order to pass it around more efficient (at least it will be more efficient if it is some large data blob).
Did anyone ever mention addresses and values and their difference when looking at Java from a users point? Not to me, to be honest.
Pointers are easy. I thought several people in our CS program how to use them in ~2 hours. What's hard for most people is thinking abstractly between what the code looks like and what happens when you run it.
Pointers are simply the first thing that forces most coders to consider that split. But, a reasonably competent JAVA developer moving to C can pick them up in little time. The problem is reading other peoples C code that looks more like line noise than structure. But, pointers are a tiny step along that path.
I'm currently working on a mp3tag-like tag editor for Linux called puddletag which you can find at puddletag.sourceforge.net. Don't download it yet though. I'm releasing a update tomorrow with a large number of bugfixes and improvements.