I just turned 48 yesterday, and am still going strong as a professional (& hopbbyist!) programmer.
There are different benefits to being young - under 25ish say, and more experienced. The advantage to being young (and very inexperienced, even if you believe otherwise!) is that you have a huge amount of enthusiasm and energy and everything is new and therefore exciting and challenging to you. You'll be willing to work crazy hours for months on end to get an interesting project completed. This is what companies like! I remember working 16-17 hours a day 7 days a week for a few months at one stage (for a small company), with commeasurate results!
OTOH, when you get older and hopefully more experienced (of course you'll be somewhat more experienced, but how much more so depends on how lucky/smart you've been in getting increasingly challenging jobs to work on over the years) the lack of raw hours you are probably willing/capable of putting into can be MUCH more than compensated for by the experience you bring to bear. I'm sure I can finish complex projects at least 10x as fast as a new hire simply by working smarter - better design, no bugs, etc. Some projects the new hire would never complete due to being out of their depth. As a more senior developer you'll get paid more than the entry level guy, but no where near the multiple that your productivity - when called for - justifies. Figure 3x the salary for that potential 10x+ productivity, so you're also a good deal to the company assuming that you are that good.
Where ageism is going to kick in is where you have neither the benefit of youth nor of experience - if you're an older programmer, expecting a senior programmer position/salary, and a 9-5 work day, but without the talent/experience that justifies it. As long as you don't mind starting at age 35 at the salary of a fresh college grad, and appear to have similar energy/enthusiasm then there's no reason companies should not be willing to give you a chance.
But connectivity in the brain is far from universal - it's mostly localized and hierarchical, and signal transmission along neurons is painfully slow - certainly a function of connection length. I don't see any reason why a 2-D chip can't easily implement dense local connections and less dense long-distance connections that are maybe slower due to going thru some switching fabric.
No - the chemical environment is largely to do with emotions - overall neural activity is suppressed/enhanced/etc by the chemical environment of neurotransmitters released as a function of emotion. The chemical environment doesn't really change what the brain does (that's a function of neural connections) - just mildly modulates the overall function.
It's hard to say what a computer equivalent would be - there really isn't one. Perhaps the closest would be an environmental factor like like reducing the amount of physical memory causing a program to run slower, or maybe having a subsystem fail and cause retries (this is your brain on drugs!).
Well, similarly you could simulate a ditigal circuit at the logical level or you could do it at an analog level trying to mimic the analog, and even quantum, characteristics of each semiconductor junction... The lower level simulation is certainly more accurate, and takes all the nuances into consideration, but in the end what does it buy you compared to the higher level simulation?
It's not as if we're scratching our heads wondering how our primitive understanding of neurons as summation devices, and neural networks as functionally determined by connectivity has failed - far the opposite. This model has been tremendously successful at understanding how real neural curcuits work and what they do, and recently Jeff Hawkins (with a bunch of hard-core neurological research backing him up) has recently proposed exactly such a network level understanding of the entire cortex in his "On Intelligence" book.
Given the inherently hierarchical nature of the 3-D world and the inherently incremental nature of evolution (meaning that evolution occurs at hierarchical levels), I would be flabbergasted if the brain doesn't also adhere to these same fundamental principles - if anything we should be looking at higher levels than the basic functionality of the neuron in order to understand the whole, not at a lower more nuanced level (a level where one tends to find more AI-deniers like Roger Penrose rather than serious cognitive scientists).
What the apps want is not "put this data on the disk, NOW", but "put this data on the disk sometime, but do NOT kill the old data until that is done".
I kind of agree, but only partly. The latter is really what journalling should be providing - making IO operations atomic so they either succeed or, if interupted, get undone so that the prior consistent state is restored.
The reason I only partly agree is because I think what most apps really want is transaction support, not just atomic writes - in the simplest case they're the same, but in general a transaction (an atomic application level operation) may consist of a number of file system operations, not just one.
The reason people want journalling/atomic writes isn't really because they're useful at the application level (you may still be left with an application-level inconsistent file state - a partially comitted transaction) but rather because it ensures the integrity of your file system after a crash.
(1) Never point to a structure before it has been initialized
Which surely includes writing data before meta-data (and write the data someplace other than where the old meta-data is pointing), which is what Linus was saying.
fsync() (sync all pending driver buffers to disk) certainly has a major performance cost, but sometimes you do want to know that your data actually made it to disk - that's an entirely different issue from journalling and data/meta-data order of writes which is about making sure the file system is recoverable to some consistent state in the event of a crash.
I think sometimes programmers do fsync() when they really want fflush() (flush library buffers to driver) which is about program behavior ("I want this data written to disk real-soon-now", not hanging around in the library buffer indefinitely) rather than a data-on-disk guarantee.
IMO telling programmers to flatly avoid fsync is almost as bad as having a borked meta-data/data write order - progammers should be educated about what fsync does and when they really want/need it and when they don't. I'll also bet that if the file systems supported transactions (all-or-nothing journalling of a sequence of writes to disk), maybe via an ioctl(), that many people would be using that instead.
Actually, it's interesting to note that the Smart Car, which is driven in the US (just saw one at work yesterday in the parking lot) is smaller than the Tata Nano (in fact considerably smaller - about 2 feet shorter!) :
Of course the Smart Car costs about 10x the price of the Nano and has considerably worse gas comsumption, so there's less reason for Auto/Oil industry lobbyists to try to regulate it to death.
But looking at what it's designed for, it appears to be very well thought-out. Anyone that's driven in europe can understand why you need a narrow car because of the streets.
Presumably you're American, hence geographically impaired, but FYI India is in Asia, not Europe.
So why doesn't the difference between the native graphics API's on Windows and Mac or Linux similarly prevent you or anyone else from writing graphical applications? You either decide what platform you're targetting and use the API's for that platform, or if you want cross-platform you choose cross-platform (incl. threading) tools. Doh!
From a conceptual point of view how difficult is it anyway to switch from one platform's implementation of the standard "threads+mutexs+condition variables" model to the exact same model on another platform?!
Why should a company choose to hire you as an entry-level programmer rather than a fresh computer science graduate? At the end of the day getting hired is about competition, so if you realistically think you can do as well as anyone else at the salary level you expect then go for it.
OTOH if you don't have the skills to compete, it's hardly realistic to expect that a few months will make any difference or compensate for the lack of a 4 year Comp-Sci degree.
The simplest way to make the switch if it's at all possible is to make a lateral move at your current company, or at least try to get your job changed to include some significant development so that in a year or so you can put that on your resume.
I find it vastly amusing the amount of press that browser "speed" gets (compared to trivialities, like, say, "usability in peoples' computer-based work patterns").
To an extent they're related...
Speed doesn't just mean rendering speed (where they're all good enough) - it also includes JavaScript speed where you can never be fast enough (websites/applications - such as slashdot - will continue to push the limits of what's possible with current speed), and overall responsiveness.
One huge advantage of Chrome over Firefox is that Chrome (I believe IE8 has this too) has a process per tab so your whole browser doesn't lock up when you have something slow to load in one tab. This was a huge usability issue for me - one of my major browser usage patterns is opening up eBay search results one per tab, and it sucks when you've got 20-30 tabs open then the browser locks up because someone has a slow loading/hanging graphic linked to in their eBay listing.
I went to a lecture on the QL only a few years ago by my local computer preservation society. Apparently it had a windowed interface and a pre-emptively multitasking OS - took PCs years (decades even, depending on if you were a home user!) to catch up. I understood the QL was Sinclair's attempt at a business machine, don't know how much success they had.
I can't recall it having much success, but it was certainly ambitious and ahead of it's time - it also had a 32 bit CPU (68008) when most everything else was still 8 or 16 bit. Kinda like the Apple Lisa (prescursor to the Mac) which was totally ahead of it's time as a commerical product (based on Xerox's new-fangled graphical "windows-mice-icons" user interface), and created quite a buzz, but flopped horribly (slow as molasses and cost 10,000 UK pounds - quite a tidy sum back c.1980).
Yeah - those early "storage" media were more than just for transporting your program around. They were also patchable. Fixing typos on punched cards was always fun - you fed a fresh card into the machine and held down the auto-repeat duplicate button which sounded like a machine gun as it sucked in the old/new cards and punched the new one up to the point of the error where you'd start typing again. I loved that noise!
I also remember burning programs onto EPROMs for early machines like the BBC Micro or embedded projects. You could edit those to a limited extent too... rather than so back and fix the source and reassemble for minor changes you'd just load the bad ROM image into the EPROM programmer and patch the hex directly and burn a new one...
This was another of Sinclair's cheap and cheerful designs that never took off - it was used on the Sinclair MX and QL (remember that? - thought not!) computers. The stringy floppy was a small form factor hybrid between a floppy and tape drive. The tapes themself were about the size of a compact flash drive, although a bit fatter, and what they contained was a continuous loop of tape three-dimensionally arranged so that the bulk of it was looped around one spindle, and the other end was looped around another... I'm not sure what the point of it was really meant to be other than the physical small size.. I guess the endless tape loop was meant to give it some advantage.
I was getting the same thing with my 2.8GHz P4 under Mozilla, but it seems to have gone away since I recently (week ago) switched to SeaMonkey, so it may have more to do with slow JavaScript implementations than clock speed (although obviously a combination of the two).
so then the question is, what do you do for the rest of the nine-and-a-half years?
Apparently Sony believe they've kept the PS3 hard enough to learn to develop for that the learning curve stretches out 9 1/2 years, so that ever-more interesting titles appear during the console's lifetime.
The obvious conclusion is that any PS3 titles put out much before the 9 1/2 years are up don't fully utilize the hardware, and buyers should therefore hold off purchasing! The PS3 itself is also apparently a waste of money since it's been deliberately handicapped to essentially be overpowered/underutilized (& hence overpriced) for the bulk of it's lifetime!
Maybe TV manufacturers could follow Sony's lead - make it so damn difficult to change channel that your're still discovering new channels 10 years after you bought the set! It'd make life more interesting for cars too - rather than the boredom of right away knowing everything your car can do, wouldn't it be more interesting it it took 5 years to learn how to use the brakes!:-)
I've got a feeling Sony were inspired by women on this one!
This really makes the choices obvious for authors, as well as for the dim-witted authors guild:
Either you:
a) Think you can profitably produce and market an audio book version of your work, or
b) Realize the audio book market for your work is too small to be profitable, and you'd be better off taking advantage of Kindle's no-cost-to-you TTS enhanced sales of your e-Book, or
c) Both of the above. The truth being that TTS is decades away from sounding anything like an emotive prosodic human reading, and that the market overlap between true human read audio books and robotic sounding TTS is miniscule.
***
As far as how TTS will improve, I can only see two long-term possibilities that will allow it to approach human quality:
1) It'll be based on a human-level AI where it can interpret the text as well as a human. It'll happen, but not for a long time.
2) An expert system approach, based partly on language/speech expertise, and partly on limited semantic analysis (e.g. based on something like Cyc) where plain text can be analyzed and marked up with prosody/voicing/emotional, etc, annotation to be interpreted by a suitable enhanced TTS engine. This doesn't need to be done in real-time - e-Books and other content could be offline processed into this enhanced form. This option wouldn't result in as nuanced a performance as a human one (because it'd be based on minimal understanding of the text), but it could be a major step up from the minimal prosodic/etc rules built into TTS engines today, and the current lack of emotional/voicing control. We're still talking years if not decades of research and development though.
No - what's so hard to grasp about designing a system to evolve, or even to evolve a specific characteristic by controlling selection pressures (e.g. genetic airplane wing design for lower drag)?
They are completely different devices built and optimized for different uses.
The kindle: - Has an e-ink reflective display that you can read in bright sunlight - Has a battery life measured in days (or longer) - Weighs about 10oz and is 1/3" thick
The netbook: - Has a fast backlit display that sucks power continuously, and gets washed out in bright light - Has a fast CPU that sucks power - Sucks power - battery life of a few hours - Weighs 2-3lb or more
Sure the netbook is general purpose, but that generality comes at the cost of excluding the display/power/weight advantages that make the Kindle a far better bet if what you actually want to do is read books/PDFs/etc on the couch, plane, beach or elsewhere.
I would expect it'll be much longer that ten years for a computer to perform a book anywhere remotely as well as a person. If the book had all the prosodic/intonational/emotional/voice mark-up necessary that'd be a different story, but given a plain unmarked-up e-Book the computer would need to have full understanding of what it was reading to do an equivalent job, which is something still a LONG way out in the future (as for that matter is decent TTS at all - even given a desired emotion or voice current TTS technology basically can't do it - you need a formant-based synthesizer to do that, and they have been basically abandoned as a comemrcial approach since the current state of the art is that they sound about as human as Stephen Hawking (who uses one).
1. Audiobook rights constitute a separate right from e-book rights in copyright law.
What exactly are you referring to?
Unless the licence Amazon obtains for it's Kindle books explicity disallows reading aloud, or explicity withholds all rights other than specifically displaying on screen, then I can't see there's any legal basis to say they can't do so.
If the authors guild wants to suggest it's members insist on different licence terms, or different pricing, for FUTURE licencing for Kindle, that's a different matter, and it'd be mildly interesting to see what that does to Kindle or Kindle e-book sales.
The Kindle reading an e-Book certainly doesn't infringe on any other audiobook performance of the same title since it's a different performer/performance, not derivative in any way.
The article doesn't even suggest there's any legal basis to their wanting more money - it just says that the Kindle's ability to read aloud adds value to Kindle e-book titles, and they want a slice of that pie. Understandable for sure (who doesn't want more money), but unless Amazon is doing something illegal then all they can do is charge more in the future (and hope they don't kill sales and their own royalties by doing so).
Of course Apply needs to encourage and allow 3rd party app developers as much as possible (and seems to be doing a decent job given the app store and the app-writing industry it has spawned)...
However, I thinkit would be a mistake for Apple to "open" the iPhone in other ways - e.g. allow other companies to build them and run the Apple iPhone software on them. Apple's brand is based on a tight vertical integration of hardware and software and tight quality control over the whole, and the iPhone itself benefits (as do all Apple products) from the expensive-but-worth-it exclusivity factor.... It's hard to see Apple being a big winner if Dell and every Asian handset maker were making officially sanctioned/enabled cheap shoddy iPhone clones.
I'm pretty sure xinemara does that, but good luck trying to find out how to configure it. Google doesn't even throw up anything resembling a home page for it.
This isn't evolution - there's no genetics involved.
That's like saying that musical kids inherited their parents musicality, when in reality it's just their being raised in a musical home.
In this case it's already shown that a better environment improves the parents memory, so why can't a better womb environment improve it in exactly the same way for the baby?!
It could be epigenetics also (genetic expression depending on external factors), but that also isn't Lamarkism.
Lamark didn't realize, as Darwin did, that (for example) giraffe's necks may get longer due to less competition for high up food resulting in natural selection for randomly occuring longer necked varieties. Lamark believed that one generation of giraffes would stretch it's necks reaching for food and directly pass this physical characteristic on to their young. Larmark was just plain wrong - he completely missed the basis of eveolution, and it would be beyond charitable to say that he was describing epigenetics.
I just turned 48 yesterday, and am still going strong as a professional (& hopbbyist!) programmer.
There are different benefits to being young - under 25ish say, and more experienced. The advantage to being young (and very inexperienced, even if you believe otherwise!) is that you have a huge amount of enthusiasm and energy and everything is new and therefore exciting and challenging to you. You'll be willing to work crazy hours for months on end to get an interesting project completed. This is what companies like! I remember working 16-17 hours a day 7 days a week for a few months at one stage (for a small company), with commeasurate results!
OTOH, when you get older and hopefully more experienced (of course you'll be somewhat more experienced, but how much more so depends on how lucky/smart you've been in getting increasingly challenging jobs to work on over the years) the lack of raw hours you are probably willing/capable of putting into can be MUCH more than compensated for by the experience you bring to bear. I'm sure I can finish complex projects at least 10x as fast as a new hire simply by working smarter - better design, no bugs, etc. Some projects the new hire would never complete due to being out of their depth. As a more senior developer you'll get paid more than the entry level guy, but no where near the multiple that your productivity - when called for - justifies. Figure 3x the salary for that potential 10x+ productivity, so you're also a good deal to the company assuming that you are that good.
Where ageism is going to kick in is where you have neither the benefit of youth nor of experience - if you're an older programmer, expecting a senior programmer position/salary, and a 9-5 work day, but without the talent/experience that justifies it. As long as you don't mind starting at age 35 at the salary of a fresh college grad, and appear to have similar energy/enthusiasm then there's no reason companies should not be willing to give you a chance.
But connectivity in the brain is far from universal - it's mostly localized and hierarchical, and signal transmission along neurons is painfully slow - certainly a function of connection length. I don't see any reason why a 2-D chip can't easily implement dense local connections and less dense long-distance connections that are maybe slower due to going thru some switching fabric.
No - the chemical environment is largely to do with emotions - overall neural activity is suppressed/enhanced/etc by the chemical environment of neurotransmitters released as a function of emotion. The chemical environment doesn't really change what the brain does (that's a function of neural connections) - just mildly modulates the overall function.
It's hard to say what a computer equivalent would be - there really isn't one. Perhaps the closest would be an environmental factor like like reducing the amount of physical memory causing a program to run slower, or maybe having a subsystem fail and cause retries (this is your brain on drugs!).
Well, similarly you could simulate a ditigal circuit at the logical level or you could do it at an analog level trying to mimic the analog, and even quantum, characteristics of each semiconductor junction... The lower level simulation is certainly more accurate, and takes all the nuances into consideration, but in the end what does it buy you compared to the higher level simulation?
It's not as if we're scratching our heads wondering how our primitive understanding of neurons as summation devices, and neural networks as functionally determined by connectivity has failed - far the opposite. This model has been tremendously successful at understanding how real neural curcuits work and what they do, and recently Jeff Hawkins (with a bunch of hard-core neurological research backing him up) has recently proposed exactly such a network level understanding of the entire cortex in his "On Intelligence" book.
Given the inherently hierarchical nature of the 3-D world and the inherently incremental nature of evolution (meaning that evolution occurs at hierarchical levels), I would be flabbergasted if the brain doesn't also adhere to these same fundamental principles - if anything we should be looking at higher levels than the basic functionality of the neuron in order to understand the whole, not at a lower more nuanced level (a level where one tends to find more AI-deniers like Roger Penrose
rather than serious cognitive scientists).
What the apps want is not "put this data on the disk, NOW", but "put this data on the disk sometime, but do NOT kill the old data until that is done".
I kind of agree, but only partly. The latter is really what journalling should be providing - making IO operations atomic so they either succeed or, if interupted, get undone so that the prior consistent state is restored.
The reason I only partly agree is because I think what most apps really want is transaction support, not just atomic writes - in the simplest case they're the same, but in general a transaction (an atomic application level operation) may consist of a number of file system operations, not just one.
The reason people want journalling/atomic writes isn't really because they're useful at the application level (you may still be left with an application-level inconsistent file state - a partially comitted transaction) but rather because it ensures the integrity of your file system after a crash.
(1) Never point to a structure before it has been initialized
Which surely includes writing data before meta-data (and write the data someplace other than where the old meta-data is pointing), which is what Linus was saying.
fsync() (sync all pending driver buffers to disk) certainly has a major performance cost, but sometimes you do want to know that your data actually made it to disk - that's an entirely different issue from journalling and data/meta-data order of writes which is about making sure the file system is recoverable to some consistent state in the event of a crash.
I think sometimes programmers do fsync() when they really want fflush() (flush library buffers to driver) which is about program behavior ("I want this data written to disk real-soon-now", not hanging around in the library buffer indefinitely) rather than a data-on-disk guarantee.
IMO telling programmers to flatly avoid fsync is almost as bad as having a borked meta-data/data write order - progammers should be educated about what fsync does and when they really want/need it and when they don't. I'll also bet that if the file systems supported transactions (all-or-nothing journalling of a sequence of writes to disk), maybe via an ioctl(), that many people would be using that instead.
Actually, it's interesting to note that the Smart Car, which is driven in the US (just saw one at work yesterday in the parking lot) is smaller than the Tata Nano (in fact considerably smaller - about 2 feet shorter!) :
Tana Nano
L 3.29m = 10.79'
W 1.58m = 5.18'
H 1.6m = 5.24'
Smart Car
L 8' 2.5"
W 5'
H 5'
http://auto.howstuffworks.com/smart-car.htm
Of course the Smart Car costs about 10x the price of the Nano and has considerably worse gas comsumption, so there's less reason for Auto/Oil industry lobbyists to try to regulate it to death.
But looking at what it's designed for, it appears to be very well thought-out. Anyone that's driven in europe can understand why you need a narrow car because of the streets.
Presumably you're American, hence geographically impaired, but FYI India is in Asia, not Europe.
So why doesn't the difference between the native graphics API's on Windows and Mac or Linux similarly prevent you or anyone else from writing graphical applications? You either decide what platform you're targetting and use the API's for that platform, or if you want cross-platform you choose cross-platform (incl. threading) tools. Doh!
From a conceptual point of view how difficult is it anyway to switch from one platform's implementation of the standard "threads+mutexs+condition variables" model to the exact same model on another platform?!
Why should a company choose to hire you as an entry-level programmer rather than a fresh computer science graduate? At the end of the day getting hired is about competition, so if you realistically think you can do as well as anyone else at the salary level you expect then go for it.
OTOH if you don't have the skills to compete, it's hardly realistic to expect that a few months will make any difference or compensate for the lack of a 4 year Comp-Sci degree.
The simplest way to make the switch if it's at all possible is to make a lateral move at your current company, or at least try to get your job changed to include some significant development so that in a year or so you can put that on your resume.
I find it vastly amusing the amount of press that browser "speed" gets (compared to trivialities, like, say, "usability in peoples' computer-based work patterns").
To an extent they're related...
Speed doesn't just mean rendering speed (where they're all good enough) - it also includes JavaScript speed where you can never be fast enough (websites/applications - such as slashdot - will continue to push the limits of what's possible with current speed), and overall responsiveness.
One huge advantage of Chrome over Firefox is that Chrome (I believe IE8 has this too) has a process per tab so your whole browser doesn't lock up when you have something slow to load in one tab. This was a huge usability issue for me - one of my major browser usage patterns is opening up eBay search results one per tab, and it sucks when you've got 20-30 tabs open then the browser locks up because someone has a slow loading/hanging graphic linked to in their eBay listing.
I went to a lecture on the QL only a few years ago by my local computer preservation society. Apparently it had a windowed interface and a pre-emptively multitasking OS - took PCs years (decades even, depending on if you were a home user!) to catch up. I understood the QL was Sinclair's attempt at a business machine, don't know how much success they had.
I can't recall it having much success, but it was certainly ambitious and ahead of it's time - it also had a 32 bit CPU (68008) when most everything else was still 8 or 16 bit. Kinda like the Apple Lisa (prescursor to the Mac) which was totally ahead of it's time as a commerical product (based on Xerox's new-fangled graphical "windows-mice-icons" user interface), and created quite a buzz, but flopped horribly (slow as molasses and cost 10,000 UK pounds - quite a tidy sum back c.1980).
Yeah - those early "storage" media were more than just for transporting your program around. They were also patchable. Fixing typos on punched cards was always fun - you fed a fresh card into the machine and held down the auto-repeat duplicate button which sounded like a machine gun as it sucked in the old/new cards and punched the new one up to the point of the error where you'd start typing again. I loved that noise!
I also remember burning programs onto EPROMs for early machines like the BBC Micro or embedded projects. You could edit those to a limited extent too... rather than so back and fix the source and reassemble for minor changes you'd just load the bad ROM image into the EPROM programmer and patch the hex directly and burn a new one...
Get the fuck off my lawn you whippersnappers!
Not that they really missed much by doing so...
This was another of Sinclair's cheap and cheerful designs that never took off - it was used on the Sinclair MX and QL (remember that? - thought not!) computers. The stringy floppy was a small form factor hybrid between a floppy and tape drive. The tapes themself were about the size of a compact flash drive, although a bit fatter, and what they contained was a continuous loop of tape three-dimensionally arranged so that the bulk of it was looped around one spindle, and the other end was looped around another... I'm not sure what the point of it was really meant to be other than the physical small size.. I guess the endless tape loop was meant to give it some advantage.
I was getting the same thing with my 2.8GHz P4 under Mozilla, but it seems to have gone away since I recently (week ago) switched to SeaMonkey, so it may have more to do with slow JavaScript implementations than clock speed (although obviously a combination of the two).
so then the question is, what do you do for the rest of the nine-and-a-half years?
Apparently Sony believe they've kept the PS3 hard enough to learn to develop for that the learning curve stretches out 9 1/2 years, so that ever-more interesting titles appear during the console's lifetime.
The obvious conclusion is that any PS3 titles put out much before the 9 1/2 years are up don't fully utilize the hardware, and buyers should therefore hold off purchasing! The PS3 itself is also apparently a waste of money since it's been deliberately handicapped to essentially be overpowered/underutilized (& hence overpriced) for the bulk of it's lifetime!
Maybe TV manufacturers could follow Sony's lead - make it so damn difficult to change channel that your're still discovering new channels 10 years after you bought the set! It'd make life more interesting for cars too - rather than the boredom of right away knowing everything your car can do, wouldn't it be more interesting it it took 5 years to learn how to use the brakes! :-)
I've got a feeling Sony were inspired by women on this one!
This really makes the choices obvious for authors, as well as for the dim-witted authors guild:
Either you:
a) Think you can profitably produce and market an audio book version of your work, or
b) Realize the audio book market for your work is too small to be profitable, and you'd be better off taking advantage of Kindle's no-cost-to-you TTS enhanced sales of your e-Book, or
c) Both of the above. The truth being that TTS is decades away from sounding anything like an emotive prosodic human reading, and that the market overlap between true human read audio books and robotic sounding TTS is miniscule.
***
As far as how TTS will improve, I can only see two long-term possibilities that will allow it to approach human quality:
1) It'll be based on a human-level AI where it can interpret the text as well as a human. It'll happen, but not for a long time.
2) An expert system approach, based partly on language/speech expertise, and partly on limited semantic analysis (e.g. based on something like Cyc) where plain text can be analyzed and marked up with prosody/voicing/emotional, etc, annotation to be interpreted by a suitable enhanced TTS engine. This doesn't need to be done in real-time - e-Books and other content could be offline processed into this enhanced form. This option wouldn't result in as nuanced a performance as a human one (because it'd be based on minimal understanding of the text), but it could be a major step up from the minimal prosodic/etc rules built into TTS engines today, and the current lack of emotional/voicing control. We're still talking years if not decades of research and development though.
Isn't that statement eating itself?
No - what's so hard to grasp about designing a system to evolve, or even to evolve a specific characteristic by controlling selection pressures (e.g. genetic airplane wing design for lower drag)?
They are completely different devices built and optimized for different uses.
The kindle:
- Has an e-ink reflective display that you can read in bright sunlight
- Has a battery life measured in days (or longer)
- Weighs about 10oz and is 1/3" thick
The netbook:
- Has a fast backlit display that sucks power continuously, and gets washed out in bright light
- Has a fast CPU that sucks power
- Sucks power - battery life of a few hours
- Weighs 2-3lb or more
Sure the netbook is general purpose, but that generality comes at the cost of excluding the display/power/weight advantages that make the Kindle a far better bet if what you actually want to do is read books/PDFs/etc on the couch, plane, beach or elsewhere.
I would expect it'll be much longer that ten years for a computer to perform a book anywhere remotely as well as a person. If the book had all the prosodic/intonational/emotional/voice mark-up necessary that'd be a different story, but given a plain unmarked-up e-Book the computer would need to have full understanding of what it was reading to do an equivalent job, which is something still a LONG way out in the future (as for that matter is decent TTS at all - even given a desired emotion or voice current TTS technology basically can't do it - you need a formant-based synthesizer to do that, and they have been basically abandoned as a comemrcial approach since the current state of the art is that they sound about as human as Stephen Hawking (who uses one).
1. Audiobook rights constitute a separate right from e-book rights in copyright law.
What exactly are you referring to?
Unless the licence Amazon obtains for it's Kindle books explicity disallows reading aloud, or explicity withholds all rights other than specifically displaying on screen, then I can't see there's any legal basis to say they can't do so.
If the authors guild wants to suggest it's members insist on different licence terms, or different pricing, for FUTURE licencing for Kindle, that's a different matter, and it'd be mildly interesting to see what that does to Kindle or Kindle e-book sales.
The Kindle reading an e-Book certainly doesn't infringe on any other audiobook performance of the same title since it's a different performer/performance, not derivative in any way.
The article doesn't even suggest there's any legal basis to their wanting more money - it just says that the Kindle's ability to read aloud adds value to Kindle e-book titles, and they want a slice of that pie. Understandable for sure (who doesn't want more money), but unless Amazon is doing something illegal then all they can do is charge more in the future (and hope they don't kill sales and their own royalties by doing so).
Naturally IANAL.
Of course Apply needs to encourage and allow 3rd party app developers as much as possible (and seems to be doing a decent job given the app store and the app-writing industry it has spawned)...
However, I thinkit would be a mistake for Apple to "open" the iPhone in other ways - e.g. allow other companies to build them and run the Apple iPhone software on them. Apple's brand is based on a tight vertical integration of hardware and software and tight quality control over the whole, and the iPhone itself benefits (as do all Apple products) from the expensive-but-worth-it exclusivity factor.... It's hard to see Apple being a big winner if Dell and every Asian handset maker were making officially sanctioned/enabled cheap shoddy iPhone clones.
I'm pretty sure xinemara does that, but good luck trying to find out how to configure it. Google doesn't even throw up anything resembling a home page for it.
This isn't evolution - there's no genetics involved.
That's like saying that musical kids inherited their parents musicality, when in reality it's just their being raised in a musical home.
In this case it's already shown that a better environment improves the parents memory, so why can't a better womb environment improve it in exactly the same way for the baby?!
It could be epigenetics also (genetic expression depending on external factors), but that also isn't Lamarkism.
Lamark didn't realize, as Darwin did, that (for example) giraffe's necks may get longer due to less competition for high up food resulting in natural selection for randomly occuring longer necked varieties. Lamark believed that one generation of giraffes would stretch it's necks reaching for food and directly pass this physical characteristic on to their young. Larmark was just plain wrong - he completely missed the basis of eveolution, and it would be beyond charitable to say that he was describing epigenetics.