mike at halcrow.us
Sat Dec 9 14:47:29 MST 2006
-----BEGIN PGP SIGNED MESSAGE-----
On Fri, Dec 08, 2006 at 04:46:25PM -0700, Michael Torrie wrote:
> I question whether whether there's anything (maybe besides video)
> that a 400 MHz arm processor can do that the old 16 MHz palm
> processor could do back in the day.
Count audio in there too; I would bet a fair sum that 16MHz general
purpose processors cannot decode Ogg Vorbis in real time. And I
wouldn't mind so much if my PDA could act as a trusted device to do
things like digital signatures and encryption (securely checking and
sending email on the device comes to mind); modular exponentiation
would be downright painful on a 16MHz general purpose processor.
To-do lists, calendars, simple (insecure) messaging, and maybe a mini
book reader would do fine with the old devices. If that's all you
want, fine. But then you don't deserve the coveted title of ``computer
geek.'' I want 400MHz PDA's. I want 3GHz multi-core PDA's. I want a
month's worth of power on a single charge. I want holographic
storage. I want a full-fledged all-in-one handheld computing device
that can record 50 hours of terrestrial HDTV atsc channels and project
the content onto my retina while turning my car left at the next
traffic signal while detecting and avoiding the dog that ran out into
> Trying to shoe-horn big OSs (like Linux or Windows CE) into a PDA
> isn't always great, in my opinion.
``Linux'' is a kernel, not an operating system. When we're talking
about the systems category of embedded devices, that ain't just
rhetoric. The Linux kernel can be quite lean and mean; you just have
to know how to shave off the parts you don't want, and you have to do
it in the right way. An investigation of the structure of the kernel
code will reveal its surprising pliability. In addition, there are
tons of out-of-tree patches floating around that, while not very
beneficial for general-purpose computing, can work wonders in
high-performance or realtime environments.
So why do we see problems in products that run the Linux kernel? I
have my speculations.
You need a degree of expertise in the engineering team that puts Linux
into a PDA. The engineers and architects should be fully equipped to
write their own OS from scratch, but to save money, they can gain
quite a bit from building off the core Linux kernel. When you try to
do too much with too little development resources (``Hey! We can save
money on real experts by cobbling together commodity parts into a
gismo and plopping Linux onto it!''), problems like drawing too much
power or failing to have a responsive UI happen.
Of course, a product development failure can occur for many reasons,
but I would suspect that a root problem is not having the right people
for the task of putting the kernel on the particular device for use in
a particular environment. ``Linux'' is not magic fairy-dust technology
that you can sprinkle onto any problem; you still need real engineers
who know what they are doing. I fear that there are too many people in
the marketplace who view Linux as a fix-all solution that will somehow
transform the world into a giant fluffy technology panacea
because... well, it's *Linux*! Then they under-invest in real
engineering talent, which they thought they could replace with a
handful of this ``free software'' leached off the community, and the
results are almost always regrettable.
Michael A. Halcrow
Security Software Engineer, IBM Linux Technology Center
GnuPG Fingerprint: 419C 5B1E 948A FA73 A54C 20F5 DB40 8531 6DCA 8769
The wonderful thing about a dancing bear is not how well he dances,
but that he dances at all.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the PLUG