Some of the issues around LCD displays such as viewing angle are a function of some of the underlying technology. Here at work I have an NEC XtraView. The XtraView screens use a different (and presumably more difficult to fabricate) electrode structure that provides a different crystal orientation. Colors and brightness are much more consistent across the screen than on the less expensive NEC displays. Also, while the brightness drops off as you get more than about 30 degrees off-axis, the color values remain quite accurate through the entire viewing range. The XtraView is easily the best LCD panel that I've experienced.
But on the 15" LCD, you pay about $300 more for XtraView than for the simpler display. That difference alone would pretty much pay for a 17" CRT with a similar viewing area.
Yep, application-level multicast using an underlying unicast network is going to perform badly. A variety of strategies become much more feasible if we can get a multicast-capable network: limited distance multicast queries, limited distance multicast advertising, voluntary "servers" that collect advertising from more distant sources and respond to local queries.
It should be possible to create self-organizing dynamic networks that can provide the necessary efficiencies. It will be more complex than Napster or Gnutella, but it should be possible. And I think it would be a lot easier if we had reasonable IP multicast to build on.
I maintain that the breakup of MS is potentially just a speed bump. Given a split into an OS company and an application company, the current dominant position of the application company in many fields, the fact that the OS company can't do middleware but the application company can, and the introduction of middleware portions of.NET, it seems entirely possible that the.NET middleware gets ported to many different OS platforms, the MS OS company declines, but the MS application company takes an even more dominant position.
And I will certainly bet a beer that the.NET middleware platform will contain undocumented APIs that MS applications developers know about that no one else does... Five years after the breakup (if it occurs), the MS application company antitrust case defense begins with "Your Honor, we did everything that the government demanded the last time we were in court. Are you going to punish us again because they claim now that they didn't get it right?"
First, my experience generally suggests that campus causes are more often supported by the liberal arts folks than by the hard technology folks. No disrespect intended, but working towards a double major in math and CS left me little time for social activism. I would be quite surprised to learn that the French literature majors were concerned about a lack of computers...
Second, I would much rather know that everyone, rich and poor, was learning to READ. If you can read, you can catch up on routine computer usage very quickly. If you can't read, you can't catch up on much of anything. I do not believe that we are going to replace text with audio or video anytime soon. How do you build an index out of video clips that can be used quickly and easily?
Third, figure out how to make Moore's Law translate into computer prices halving every 18 months, rather than the price staying relatively constant and the processing power doubling. Why can't we have $200 devices with decent resolution and adequate processing power? $100 devices? Encourage text and other forms of simplicity. Discourage bloatware.
</rant>
It is sad that there is even any question about whether code is language. Can you imagine calculus without notation? Code is good for expressing certain kinds of ideas; English is good for expressing a different set of ideas; and French is better than English for expressing some ideas. Different cultures have different ideas about what is important and the language will reflect this.
This is a "I want to have my cake and eat it too" kind of false argument. The cost of delivering the signal to your house is enormously cheaper using the shared bus cable architecture than if it were necessary to provide a true switched broadband arrangement. In effect, you want the benefits of access to the cheap bus, but you refuse to play by the rules and pay for premium content if you can figure out a way to steal it.
It's certainly possible to deploy a more complex cable architecture where only the signals that you pay for in advance get through to your house. Basic cable would start at $100/month...
As many have pointed out, this would not be suitable for many things such as really high clock rate processors where teeny tiny features are critical. But you could do some cool stuff with it. Possibilities:
All the memory and drive electronics for a solid state TV screen, with an OLED layer for the light emitters. Cheap flat panel TV to hang on your wall!
Screen, touch pad, memory and slow processor for something like a Palm. Make it 3"x5" and then mount the quarter-inch-thick result in a bit of hard plastic housing for durability. Cheap digital assistant!
Same as the last one with an IR transmitter and receiver. Cheap teachable universal remote!
The comments about the cost of the OS and other software for these gizmos raise interesting questions about what the total cost might be.
Back in the '70's when the DOJ was suing IBM for antitrust, they needed a document management system to handle the millions of documents that they got from IBM during the discovery phase. The only company that made a system with enough capacity to handle those documents was... IBM. The DOJ bought a system from them.
Antitrust generally has nothing to do with product quality and everything to do with business practices. And frequently, practices only in a narrow range of a company's activities.
We run Linux on a laptop to provide infrastructure for a traveling demonstration of cable modem high-speed service and a variety of applications built on top of that. The Linux laptop provides a variety of services to the client machines:
DHCP
TFTP
Timed
Network syslogd
SMTP and POP3 mail (plus cron jobs to clean up after sloppy e-mail clients)
Proprietary packet-forwarding and NAT software (uses X Windows for display purposes)
HTTP, both local content and proxy
SMB file and printer services
Plus tcpdump for packet sniffing and diagnostics
We use the laptop with two Ethernet cards because it provides a single small package incorporating system unit, keyboard, and display. The Duron would be a bit of overkill for us, as the current box is a refurbished unit with 120 MHz Pentium and 16M of DRAM. It's been doing the job reliably for most of the past three years.
Damn! I never have mod points when I want them. This is absolutely correct. If you're going to measure the impact of the inventions from 1900-1950 in 2000, then the correct comparison is 1950-2000 in 2050. It takes time to refine and distribute the good stuff. And we're still refining -- would Edison be amazed by the range of light bulbs and lighting available today? By the CD and DVD relative to his wax cylinders?
I do a bit of technology forecasting for a living, and I don't think I can even begin to imagine what kinds of biologic technology we might have by then. Or what we're going to do with polymer semiconductors. To name just two.
It would be nice to have a clean cheap energy source that the rest of the world could use to "catch up", though.
You have this backwards. It's not whether or not MS provides a Web browser that conforms to open standards like HTML that were created outside MS, although others responding here have pointed out the "embrace and extend" technique. It's that MS, as a "monopoly" on the desktop OS, controls a set of interfaces (APIs) that all applications developers must conform to. And the main point of the original paper is that MS doesn't document them well and changes them at will.
Point: There's an entire magazine, whose name I forget but from whom I receive subscription ads regularly, whose complete editorial policy is to publish articles documenting cases where MS's implementation of the API differs from MS's own specification. They've been in business for years. If you've written Windows code, you have no doubt run into system calls that work properly on one version of Windows and not on a different version. I know I have.
Point: It's fairly well established by people using debuggers that some MS applications make system calls that are not documented. Assuming those calls confer some advantage (like they replace a broken call with a working one), then MS developers have an unfair advantage over everyone else.
Point: Each new version of Windows contains a large set of new system calls. These are not published in an open fashion in advance, but selected developers are allowed early access. If they were developed in an open fashion, they might very well be structured quite differently since many experts disagree with "the MS approach" to some OS functions.
Point: MS is currently free to move code back and forth across the dividing line between operating system (the running operating system) and applications. The HTML rendering from IE is the most celebrated example of this.
Point: File formats can be (and are) changed arbitrarily. MS provides online documentation of, for example, the Word file format, but you have to accept terms that specify you may not use the information to build a competing product in order to download the doc.
I bought my Webgear pair last Spring for $130 for the two cards (and two ISA adapters). Haven't seen anything near that price since. Both are installed in Linux boxes, one running a 2.0.x kernel and one 2.2.y, one on the second floor and one in the basement. As I recall, setting it up took a couple of evenings; would have gone faster but I had to install several pieces of software. I seem to get between 75 Kbytes/sec and 95 KBytes/sec on file transfers fairly consistently, which I regard as pretty good considering all the metal clutter between the two and the max rating on the devices.
The older proprietary wireless links and the 802.11 stuff seem to be disappearing in favor of the faster (and more expensive) 802.11b. When I decide that the current link is not fast enough, I'll probably drop 10BaseT down the outside of the house rather than trying the more expensive wireless stuff.
It is fairly well established in technology forecasting circles that we tend to overestimate early acceptance and underestimate long-term acceptance of successful new technologies. Given its exponential growth, it was pretty hard to overestimate early Internet acceptance. But once the growth shows signs of slowing down, forecasters will tend to think that it's "peaked" when it hasn't.
Phones are in >97% of homes. Televisions are in >98% of homes. Residential Internet will have "peaked" when we reach those kinds of numbers. It may take many years to reach that point, but the social pressures for individuals to have e-mail and other Internet-based communications are just beginning to build.
Michael Cain
73.5% of all statistics are made up on the spot.
Does anyone else remember the ultimate RISC computer? There was only one instruction in the instruction set, I believe it was "subtract and branch on negative." Four operands, I think, the two things to subtract, a place to store the result, and a target for the branch. Appropriate sequences of this instruction could be used to build all the low level functions you needed -- subtraction, addition, shifts (either way), and, or, xor -- and from those you could build more complicated things. Some of those functions took dozens of "native" instructions to implement.
Someone actually built one of these and the stupid thing worked. Ran like a dog because everything needed to make multiple memory accesses and you had to execute zillions of instructions to actually accomplish anything. But clocked at 750 GHz and combined with some really fast memory...
Up until we were bought by AT&T, MediaOne Labs distributed the source code for a Linux tool that did much of this. It wasn't actually open source, because we didn't allow people to redistribute the code or program. Making modifications for your own use was fine. That limitation was a compromise that I reached with the company lawyers, who don't understand "just give it away".
The software was capable of imposing rate limits on packet streams to or from a host (emulate many of the effects of dialup or DSL or whatever kind of access you were interested in), could drop packets at random, could insert variable network delays. Some of the impairments could be applied to a multicast stream being bridged across two interfaces. The software could deal with multiple interfaces. It was also capable of some address substitutions on packets. Such address translation is sometimes necessary in order to get unmodified client/server software to behave in the proper fashion on a test network. There were some simple GUI front- and back-ends that went with the main emulation engine that provided manual control of several of the settings, and stripchart recordings of packet and data rates. The stripcharts were very useful in demonstration situations so that, for example, people could "see" what a rate limit did.
I am in the process of working with our "new" intellectual property lawyers to try and get permission to restart distribution. This is complicated by the fact that MediaOne Labs is now part of AT&T Labs, but may be moved to AT&T Broadband as part of AT&T's announced divestiture. It's not clear who has jurisdiction.
In the meantime, you may be able to use NISTNet, a tool developed by NIST (a US government organization) or DummyNet, a similar capability written by someone in Italy. IIRC, NISTNet is a Linux tool and DummyNet is a FreeBSD tool. I believe that both of them require kernel modifications. My tool (NETSIM) uses Ethernet-level sockets and runs entirely in user space, which was an advantage in my situation.
Michael Cain
AT&T Labs - Broadband
mcain@broadband.att.com
Are they speaking just about backbone links? Or are links out on the edges considered as well? If one of the 99% of links taken out is the T1 that connects our gateway router to our ISP, then I have lost access to all of the Internet (not counting our intranet).
If you take out 99% of the backbone links, things get really ugly but may still work. If you take out 99% of the "access" links, most of the end users see the Internet as being completely gone, not just ugly.
The complicated answer is also "no". At least for premium content (HBO, etc), not only is the digital stream encoded, but the key changes at regular intervals. In the US, the key update arrangement typically uses one of two proprietary schemes, one owned by General Instruments (now owned by Motorola) and one owned by Scientific Atlanta. In Europe, an open standard for such key management is part of the DVB standard.
CableLabs' OpenCable project is establishing an open standard for digital set top devices in the US. In that design, the key management and decryption hardware are physically put on a removable PCMCIA card that you have to get from your local cable company. This is intended to allow the cable company to continue using an existing proprietary scheme. Some estimates of the cost to replace the existing headend equipment (a necessary step to change schemes) for a national cable company runs upwards of $1B, so the proprietary schemes are unlikely to go away any time soon. While we may eventually see digital tuners for PCs based on OpenCable, you'll still need that card from your cable company.
Much of the apparent paranoia here is a result of contracts with the big studios. As with DVD, they believe that we're all going to make those "perfect" digital copies of everything. So they require all of the encryption and the stuff that goes with it as part of the distribution agreement.
Perhaps someone with some knowledge of the P4 details can answer this...
I seem to recall from some class that, when you have a deep pipeline, there are benefits from being able to make instructions "conditional". That is, given a conditional branch over only a couple of instructions, it is more effective if you can make the test, set some bit in a register, and have the next two instructions execute or turn into a NOP based on that bit. The two NOPs cost less in performance than the hit you take when the branch prediction fails and the pipeline gets you in trouble. This is also an alternative (don't remember if it's all that good) to spending lots of transisters on branch prediction.
Anything like this make it into the P4? You'd need P4-optimized code, but hey, that's one of the things I like about running Open Source stuff...
Re:Just how hard CAN it be??
on
eLection '04
·
· Score: 1
I was speaking to a friend yesterday who used to be a precinct judge, one of the people who help voters that have problems (blind, confused, whatever) cast their ballot. His description of some elderly voters' difficulties with getting the small stylus in the proper hole, coupled with their reluctance to ask for assistance, convinced me that a significant number of invalid ballots would be routine.
I have no idea how you get people to use the help that's available to them...
You don't have to go any farther than the ballot here in Colorado to see the failure of representative democracy in this state. We allow citizen initiatives to place proposed amendments to the state constitution on the ballot, and this year we have several. Example topics include control of growth/sprawl, gun control, and public school spending.
Each case has a similar history. Problems begin to develop, state government does nothing. Problem gets severe and voters become alarmed (something like 70% of registered voters polled say that growth needs to be channeled -- not stopped, just organized in some reasonable fashion), state government does nothing. Grass roots movement collects the needed votes and gets an amendment to the constitution on the ballot. They used to do this with citizen initiative laws, only to discover that the legislature was willing to repeal those laws next session. The legislature can't repeal an amendment!
The published campaign contributions on these point out one of the root problems: out-of-state developers spent $5.5M (large money in a Colorado campaign) advertising against the growth control amendment. I suppose that if I were a semi-pro politician (being a state legislator here is only a part-time job), I would be reluctant to piss off groups who might spend that money campaigning against me if I took action that they didn't like.
I'm a supporter of representative democracy -- the issues are often big and complex and I don't have time to understand them in enough detail to make reasonable choices, so I want to elect someone with some brains and some judgement to go make decisions on my behalf. Too bad those people aren't doing the job and we have to resort to the initiative process, where there is no room for discussion, give-and-take, compromise, or any of the other flexibility that the regular legislative process has.
I'm not actually a software engineer -- I do systems analysis work for software, hardware and networks. I have had to write small pieces of software (analysis tools, functional prototypes, testing frameworks, etc) throughout my career. Over the last 22 years of this, I have observed a few things that seem somewhat relevant.
I have indeed gotten slower as I've aged. I don't have the same ability to focus that I did when I was 25, and I don't have the energy to routinely work 60-hour weeks. As many others have noted, some of the energy is going in other directions. A wife, a house, and two teenaged children all require quite a bit of maintenance. On the other hand, I have a lot more experience and that allows me to avoid some kinds of mistakes that I would otherwise waste effort on.
Not only are the best programmers/analysts 10x as productive as the worst ones, but that understates the importance of insight. There are cases where the great programmer has the insight to solve a problem and then produce the code in a month. Ten mediocre programmers will never produce the code because they won't have that "aha!" moment and find the workable solution.
One thing managers need to do for their teams is to find and encourage the great programmers that are "unofficial" leaders. Most of us have run into these people, the ones that you can approach with a particular problem that you're having, get them to listen for 20-30 minutes, then can make suggestions that always turn out to be useful and/or important, and don't make you feel stupid about having asked. We really need to recognize the contribution that those people make!
At least at my house, I don't want all of the local widgets on the home network to have globally routable/reachable addresses. Unpleasant thoughts about hackers using the recently discovered bug in the firmware on the Brand X washing machine to turn it on twelve times a day...
What I would like is a generic proxy capability in my home firewall/gateway that allows devices that require some form of outside access to register, and as part of that registration, include some proxy code to be executed by the server when someone outside wants to access the device. Lots of different security models needed -- selected addresses at the power company are allowed to contact the electric meter, any address is allowed to access the Tivo recorder if they possess the magic password, etc.
Obviously, the code passed to the proxy needs to be processor and OS independent. Java could probably do the job.
Hey! A generic proxy server, software, the whole concept fairly obvious -- I'll bet the USPTO would grant a patent on this!
While notebook computers may be the initial application for the Transmeta chips, there should eventually be a sizable market for x86 compatible chips that run cool enough that you can embed them in any of a variety of consumer devices where a cooling fan is a big drawback. As a simple example, an advanced set-top box sits next to the television and the noise from a fan interfers with the audio from the television. As such devices run more software that is ported from the desktop world, there will be advantages to having the x86 instruction set available.
For some of the situations that I look at, I especially like the previous suggestion about putting four processors (and implicitly, the needed SMP chipset support) on a single die.
On a recent trip to Mountain View (evaluating some software technology, not looking for a job), I was told that the firm I was visiting no longer recruited outside of Silicon Valley because there were no other parts of the country where there were experienced people that could afford to move to the Valley. I interpreted "experienced" as meaning they were old enough to have bought a house, might have kids, etc.
This would seem to imply that one of these days we'll see the whole Valley implode as all the companies that can do so move out to where their people can afford a reasonable life style. Moving should be easy for a software company, at least compared to, say, a hardware company with a billion-dollar fab line.
But on the 15" LCD, you pay about $300 more for XtraView than for the simpler display. That difference alone would pretty much pay for a 17" CRT with a similar viewing area.
It should be possible to create self-organizing dynamic networks that can provide the necessary efficiencies. It will be more complex than Napster or Gnutella, but it should be possible. And I think it would be a lot easier if we had reasonable IP multicast to build on.
And I will certainly bet a beer that the .NET middleware platform will contain undocumented APIs that MS applications developers know about that no one else does... Five years after the breakup (if it occurs), the MS application company antitrust case defense begins with "Your Honor, we did everything that the government demanded the last time we were in court. Are you going to punish us again because they claim now that they didn't get it right?"
First, my experience generally suggests that campus causes are more often supported by the liberal arts folks than by the hard technology folks. No disrespect intended, but working towards a double major in math and CS left me little time for social activism. I would be quite surprised to learn that the French literature majors were concerned about a lack of computers...
Second, I would much rather know that everyone, rich and poor, was learning to READ. If you can read, you can catch up on routine computer usage very quickly. If you can't read, you can't catch up on much of anything. I do not believe that we are going to replace text with audio or video anytime soon. How do you build an index out of video clips that can be used quickly and easily?
Third, figure out how to make Moore's Law translate into computer prices halving every 18 months, rather than the price staying relatively constant and the processing power doubling. Why can't we have $200 devices with decent resolution and adequate processing power? $100 devices? Encourage text and other forms of simplicity. Discourage bloatware.
</rant>
Thank you for your indulgence.
It is sad that there is even any question about whether code is language. Can you imagine calculus without notation? Code is good for expressing certain kinds of ideas; English is good for expressing a different set of ideas; and French is better than English for expressing some ideas. Different cultures have different ideas about what is important and the language will reflect this.
It's certainly possible to deploy a more complex cable architecture where only the signals that you pay for in advance get through to your house. Basic cable would start at $100/month...
-
All the memory and drive electronics for a solid state TV screen, with an OLED layer for the light emitters. Cheap flat panel TV to hang on your wall!
-
Screen, touch pad, memory and slow processor for something like a Palm. Make it 3"x5" and then mount the quarter-inch-thick result in a bit of hard plastic housing for durability. Cheap digital assistant!
-
Same as the last one with an IR transmitter and receiver. Cheap teachable universal remote!
The comments about the cost of the OS and other software for these gizmos raise interesting questions about what the total cost might be.73.4% of all statistics are made up on the spot.
Antitrust generally has nothing to do with product quality and everything to do with business practices. And frequently, practices only in a narrow range of a company's activities.
We use the laptop with two Ethernet cards because it provides a single small package incorporating system unit, keyboard, and display. The Duron would be a bit of overkill for us, as the current box is a refurbished unit with 120 MHz Pentium and 16M of DRAM. It's been doing the job reliably for most of the past three years.
I do a bit of technology forecasting for a living, and I don't think I can even begin to imagine what kinds of biologic technology we might have by then. Or what we're going to do with polymer semiconductors. To name just two.
It would be nice to have a clean cheap energy source that the rest of the world could use to "catch up", though.
You have this backwards. It's not whether or not MS provides a Web browser that conforms to open standards like HTML that were created outside MS, although others responding here have pointed out the "embrace and extend" technique. It's that MS, as a "monopoly" on the desktop OS, controls a set of interfaces (APIs) that all applications developers must conform to. And the main point of the original paper is that MS doesn't document them well and changes them at will.
Point: There's an entire magazine, whose name I forget but from whom I receive subscription ads regularly, whose complete editorial policy is to publish articles documenting cases where MS's implementation of the API differs from MS's own specification. They've been in business for years. If you've written Windows code, you have no doubt run into system calls that work properly on one version of Windows and not on a different version. I know I have.
Point: It's fairly well established by people using debuggers that some MS applications make system calls that are not documented. Assuming those calls confer some advantage (like they replace a broken call with a working one), then MS developers have an unfair advantage over everyone else.
Point: Each new version of Windows contains a large set of new system calls. These are not published in an open fashion in advance, but selected developers are allowed early access. If they were developed in an open fashion, they might very well be structured quite differently since many experts disagree with "the MS approach" to some OS functions.
Point: MS is currently free to move code back and forth across the dividing line between operating system (the running operating system) and applications. The HTML rendering from IE is the most celebrated example of this.
Point: File formats can be (and are) changed arbitrarily. MS provides online documentation of, for example, the Word file format, but you have to accept terms that specify you may not use the information to build a competing product in order to download the doc.
I bought my Webgear pair last Spring for $130 for the two cards (and two ISA adapters). Haven't seen anything near that price since. Both are installed in Linux boxes, one running a 2.0.x kernel and one 2.2.y, one on the second floor and one in the basement. As I recall, setting it up took a couple of evenings; would have gone faster but I had to install several pieces of software. I seem to get between 75 Kbytes/sec and 95 KBytes/sec on file transfers fairly consistently, which I regard as pretty good considering all the metal clutter between the two and the max rating on the devices.
The older proprietary wireless links and the 802.11 stuff seem to be disappearing in favor of the faster (and more expensive) 802.11b. When I decide that the current link is not fast enough, I'll probably drop 10BaseT down the outside of the house rather than trying the more expensive wireless stuff.
Phones are in >97% of homes. Televisions are in >98% of homes. Residential Internet will have "peaked" when we reach those kinds of numbers. It may take many years to reach that point, but the social pressures for individuals to have e-mail and other Internet-based communications are just beginning to build.
Michael Cain
73.5% of all statistics are made up on the spot.
Someone actually built one of these and the stupid thing worked. Ran like a dog because everything needed to make multiple memory accesses and you had to execute zillions of instructions to actually accomplish anything. But clocked at 750 GHz and combined with some really fast memory...
The software was capable of imposing rate limits on packet streams to or from a host (emulate many of the effects of dialup or DSL or whatever kind of access you were interested in), could drop packets at random, could insert variable network delays. Some of the impairments could be applied to a multicast stream being bridged across two interfaces. The software could deal with multiple interfaces. It was also capable of some address substitutions on packets. Such address translation is sometimes necessary in order to get unmodified client/server software to behave in the proper fashion on a test network. There were some simple GUI front- and back-ends that went with the main emulation engine that provided manual control of several of the settings, and stripchart recordings of packet and data rates. The stripcharts were very useful in demonstration situations so that, for example, people could "see" what a rate limit did.
I am in the process of working with our "new" intellectual property lawyers to try and get permission to restart distribution. This is complicated by the fact that MediaOne Labs is now part of AT&T Labs, but may be moved to AT&T Broadband as part of AT&T's announced divestiture. It's not clear who has jurisdiction.
In the meantime, you may be able to use NISTNet, a tool developed by NIST (a US government organization) or DummyNet, a similar capability written by someone in Italy. IIRC, NISTNet is a Linux tool and DummyNet is a FreeBSD tool. I believe that both of them require kernel modifications. My tool (NETSIM) uses Ethernet-level sockets and runs entirely in user space, which was an advantage in my situation.
Michael Cain
AT&T Labs - Broadband
mcain@broadband.att.com
If you take out 99% of the backbone links, things get really ugly but may still work. If you take out 99% of the "access" links, most of the end users see the Internet as being completely gone, not just ugly.
CableLabs' OpenCable project is establishing an open standard for digital set top devices in the US. In that design, the key management and decryption hardware are physically put on a removable PCMCIA card that you have to get from your local cable company. This is intended to allow the cable company to continue using an existing proprietary scheme. Some estimates of the cost to replace the existing headend equipment (a necessary step to change schemes) for a national cable company runs upwards of $1B, so the proprietary schemes are unlikely to go away any time soon. While we may eventually see digital tuners for PCs based on OpenCable, you'll still need that card from your cable company.
Much of the apparent paranoia here is a result of contracts with the big studios. As with DVD, they believe that we're all going to make those "perfect" digital copies of everything. So they require all of the encryption and the stuff that goes with it as part of the distribution agreement.
I seem to recall from some class that, when you have a deep pipeline, there are benefits from being able to make instructions "conditional". That is, given a conditional branch over only a couple of instructions, it is more effective if you can make the test, set some bit in a register, and have the next two instructions execute or turn into a NOP based on that bit. The two NOPs cost less in performance than the hit you take when the branch prediction fails and the pipeline gets you in trouble. This is also an alternative (don't remember if it's all that good) to spending lots of transisters on branch prediction.
Anything like this make it into the P4? You'd need P4-optimized code, but hey, that's one of the things I like about running Open Source stuff...
I have no idea how you get people to use the help that's available to them...
Each case has a similar history. Problems begin to develop, state government does nothing. Problem gets severe and voters become alarmed (something like 70% of registered voters polled say that growth needs to be channeled -- not stopped, just organized in some reasonable fashion), state government does nothing. Grass roots movement collects the needed votes and gets an amendment to the constitution on the ballot. They used to do this with citizen initiative laws, only to discover that the legislature was willing to repeal those laws next session. The legislature can't repeal an amendment!
The published campaign contributions on these point out one of the root problems: out-of-state developers spent $5.5M (large money in a Colorado campaign) advertising against the growth control amendment. I suppose that if I were a semi-pro politician (being a state legislator here is only a part-time job), I would be reluctant to piss off groups who might spend that money campaigning against me if I took action that they didn't like.
I'm a supporter of representative democracy -- the issues are often big and complex and I don't have time to understand them in enough detail to make reasonable choices, so I want to elect someone with some brains and some judgement to go make decisions on my behalf. Too bad those people aren't doing the job and we have to resort to the initiative process, where there is no room for discussion, give-and-take, compromise, or any of the other flexibility that the regular legislative process has.
I have indeed gotten slower as I've aged. I don't have the same ability to focus that I did when I was 25, and I don't have the energy to routinely work 60-hour weeks. As many others have noted, some of the energy is going in other directions. A wife, a house, and two teenaged children all require quite a bit of maintenance. On the other hand, I have a lot more experience and that allows me to avoid some kinds of mistakes that I would otherwise waste effort on.
Not only are the best programmers/analysts 10x as productive as the worst ones, but that understates the importance of insight. There are cases where the great programmer has the insight to solve a problem and then produce the code in a month. Ten mediocre programmers will never produce the code because they won't have that "aha!" moment and find the workable solution.
One thing managers need to do for their teams is to find and encourage the great programmers that are "unofficial" leaders. Most of us have run into these people, the ones that you can approach with a particular problem that you're having, get them to listen for 20-30 minutes, then can make suggestions that always turn out to be useful and/or important, and don't make you feel stupid about having asked. We really need to recognize the contribution that those people make!
What I would like is a generic proxy capability in my home firewall/gateway that allows devices that require some form of outside access to register, and as part of that registration, include some proxy code to be executed by the server when someone outside wants to access the device. Lots of different security models needed -- selected addresses at the power company are allowed to contact the electric meter, any address is allowed to access the Tivo recorder if they possess the magic password, etc.
Obviously, the code passed to the proxy needs to be processor and OS independent. Java could probably do the job.
Hey! A generic proxy server, software, the whole concept fairly obvious -- I'll bet the USPTO would grant a patent on this!
While notebook computers may be the initial application for the Transmeta chips, there should eventually be a sizable market for x86 compatible chips that run cool enough that you can embed them in any of a variety of consumer devices where a cooling fan is a big drawback. As a simple example, an advanced set-top box sits next to the television and the noise from a fan interfers with the audio from the television. As such devices run more software that is ported from the desktop world, there will be advantages to having the x86 instruction set available.
For some of the situations that I look at, I especially like the previous suggestion about putting four processors (and implicitly, the needed SMP chipset support) on a single die.
On a recent trip to Mountain View (evaluating some software technology, not looking for a job), I was told that the firm I was visiting no longer recruited outside of Silicon Valley because there were no other parts of the country where there were experienced people that could afford to move to the Valley. I interpreted "experienced" as meaning they were old enough to have bought a house, might have kids, etc.
This would seem to imply that one of these days we'll see the whole Valley implode as all the companies that can do so move out to where their people can afford a reasonable life style. Moving should be easy for a software company, at least compared to, say, a hardware company with a billion-dollar fab line.