So the idea is that I and somebody offsite get into some partner-Pictionary frenzy of dynamic creative solutions that deliver increased value to customers and shareholders. Will we really be stimulating the Mozart quadrant of our left temporal lobes? I would like to try that, I've heard it feels like getting carbonated soda up your nose.
This idea has been around the block dozens of times over the last ten years, and never hit it big. There's one in the next room that has lain dormant since before I started working here. Fax machines have well-established standards and interoperate across manufacturers, and everybody already owns one. Their faults are that the drawings aren't machine-readable, and the interactivity isn't there. But I don't think that's enough difference to make a market, especially where others have already tried and failed.
Innovation is a lovely thing, but Sun-tse would tell these guys not to go into a battle they aren't likely to win. Maybe the right way to tackle this is a pen- or stylus-input gadget for existing Java whiteboards that can sell for much less, and possibly some standardization of a Java whiteboard protocol, with a reference implementation.
Whenever we relinquish a technology because we feel we're ethically "above that sort of thing", we run the risk that the technology will be picked up by people with WAY less moral scruples. Relinquishment pushes technology into the hands of the unethical, the very thing we'd hope to avoid by relinquishing in the first place.
There's then this tricky problem: how do we keep a strong technical lead in an ethically problematical area of technology? Historically we've done it with black ops. Maybe that's what would work here. Then again, there have recently been advances
that may make Bush's unfortunate decision moot: it is now possible to extract a stem cell from an adult human that is fully capable of differentiating into any cell type.
So now, maybe we can have our cake and eat it too. If the Chinese make huge gains using fetal stem cells, but we can do all the same stuff with stem cells from adults, then their putative technological lead becomes a tempest in a teapot.
The inertia in things like operating systems and programming
languages continues to frustrate me... the best we can come up with is
the amazing innovation of cloning a 30 yr old OS... so many great
ideas from the 80s and 90s that will take another generation to reach
the daily lives of most of us professional developers.
They say that physics advances one funeral at a time. The same is
probably true of other fields.
It was a real pleasure to go to the Lightweight Languages thing at MIT
a few months back, and see the accomplishments of some of these
out-of-the-mainstream groups, particularly the Scheme community. As
you say, they are at work on innovations which won't reach us average
programmers for many years.
But if you want to have something gain acceptance, you have to put a
HUGE amount of work into it. People have gotten very high expectations.
They expect plenty of features (not excluding dancing winking paper
clips) and long times between bugs and crashes. Better plan for a hefty
QA budget.
By all means, write the next great operating system. Innovate like
crazy. But if you want a lot of users when you're done, you've got
close equivalents for the things people want: Word, Excel, Netscape...
If this stuff isn't as featureful and bug-free as what people expect
from Linux or Windows, prepare to spend your days in the computer
science slums with those Scheme guys.
there really isn't much evolutionary motivation. You date people who you find attractive for whatever damn fool reason you have rather than for the purpose of creating healthy offspring. I, for instance, tend to prefer dating women who find fat, bearded computer geeks attractive. That's not an evolutionarily sound move on my part
Evolution has NEVER required conscious participation by the organism. Evolution does not need your help, nor does it require you to practice any sort of discipline. Intelligence is NOT the goal of evolution. The goal of evolution (speaking metaphorically, see Dawkins) is to maximize fitness, primarily defined in terms of differential reproduction.
Dog-breeding, while relatively new, is done in a state of two-fold ignorance. (1) When we breed dogs, we have no idea what we're doing on a genomic level, as we are only working with traits we find appealing, and (2) we breed animals and plants in an artificial environment with a skewed fitness function -- we don't know how the effects of our breeding programs would play out in the wild, and mostly we produce strains that can't compete in nature.
Breeding fails to produce hardy strains because, genetically, it is a blunt instrument wielded by a blind man. That's why Dalmatians are stupid.
This selection of eggs is different: we know what we're doing on a genomic level, and we're making choices based on a small number of genes linked to specific inheritable diseases. There is not yet any evidence that these disease-related genes are linked in any way to intelligence. We have some folkloric and statistical evidence linking intelligence to genetics, but we cannot yet identify any gene that differentiates an Einstein or Mozart from the average schmo.
To me, this sentence is quite telling. What's going on here is two
mistaken assumptions. Your manager incorrectly assumes that you are
not a thinking, feeling being who cares about anything. You
incorrectly assume that your manager does perceive you as a
thinking, feeling being.
At NASA, you probably ran into some fine managers. They probably acted
as mentors to less experienced folks, and could interact with almost
anybody with a high degree of compassion. You'll probably find that,
uniformly, these were people with strong technical backgrounds, which
inclined them to connect in a human way with their subordinates, who
also had technical backgrounds.
Non-technical managers come to the engineering world not for intellectual stimulation, but because there is money to be made. To
them, you are a means to an end, and a necessary evil they'd prefer to
do without. They are uncomfortable with technology, and they resent
you for being comfortable with it. They would prefer to think of you
as an appliance. They don't want your thoughts, input, or passion.
They want your behavior to be predictable, and ideally controllable.
What do you get in compensation? You get to avoid a bunch of
activities that you would probably not enjoy. You don't need to
put together a sales pitch for the technology you make, and you don't
need to entertain and suck up to a bunch of potential customers, most
of whom will disappear without providing a dime of revenue. You don't
need to keep the supply cabinet stocked, or make sure everybody has
their medical benefits and their W2 form.
What compensation do the managers get for the unpleasant world they
live in? They stand close to the portal whereby money enters the
company. When money comes in, they're the ones who get to decide how
much goes to whom.
how can I feel good about the work I'm doing if I don't have
confidence in my management?
Start by being objective about your situation. I've described some
unpleasant experiences I've had in the past, but discard whatever doesn't apply to
your own situation. Discriminate between the situation itself, and
your own wishes and thoughts about it: your curiosity, your urge to
contribute and be recognized, your craving for a sense of belonging,
all that stuff. There isn't a magic formula for happiness, but if you
can recognize the mechanisms at work, you have a better shot at it.
It would be nice if the QA staff, who may have software programming skills, would be allowed to be developers as well (e.g. all the rights of a developer but QA is their main focus). They attend the same dev meetings and such which gives them the insight to the architecture to allow them to fix bugs which have been approved by management. So in effect, have two programming teams.
The problem with this is that you really do want two different loci of responsibility for development and QA. You don't even want the two teams to have the same manager (or generally, the same chain of command) because that creates a conflict of interest for the manager. While wearing the DevMgr hat, he wants to get stuff out the door quickly, so he's rewarded for cutting corners when he puts on the QAMgr hat.
It might work to do what you suggest, as long as the chains of command were kept distinct so only the people at the bottom of the hierarchy ever wore both hats. But do you really want to work for two bosses at the same time, and be answerable to both?
Another possible model would be a "clean room" approach, where you're given read-only access to the source database, and you can tinker on your own machine. You can propose a specific change to the developer working on your bug, but he checks it in. Things are still sped up that way, and you avoid blurring the responsibilities.
Obviously the end-game here is that every segment of every chromosome will become the property of some corporation, and will therefore need a logo, just like any NASCAR racer. So the really meaty question before us becomes apparent.
How do you put a corporate logo on a chromosome?
You can't paint DNA. You need something that replicates along with the normal process of cell division. Rationally designed junk DNA could perhaps force chromosomes to fold into the shapes of corporate logos. DNA is pretty monochromatic under a microscope, so perhaps junk DNA could bind to little molecule thingies hanging off the double-helix that give color to the logos.
This, gentlemen, is the compelling question of our age, upon which future generations will judge us.
an inventive, novel step could be the application of the knowledge contained in the gene for specific therapies which were developed. These can and are patented, and I don't see anything wrong with this
Patenting genes that occur in nature would be an obviously questionable practice, and it worries me that this issue has been kicking around unresolved for at least two years. But the thing you are describing here also worries me: it sounds like you're saying that the genetic information is properly unpatentable, but having sequenced it, I could apply for a patent controlling ANY useful application of that information. I would prefer to see patents limited to controlling a specific application of the information.
But the obviously worst-case scenario would be where any fool could operate a sequencer for a couple weeks, and patent whatever he gets, regardless of whether an application is apparent at the time of filing.
I was surprised by this: the magnitude
of the performance differential in numerically intense applications is such that only the most dramatic sort of improvement in the long-awaited version 3 of the GNU C/C++ compiler will stay the hammer that drives a stake through the fibrillating heart of the aging technology behind the GNU C compiler. The suggestion is that GCC is technologically obsolete. That sounds like horseshit to me.
To be fair to the reviewers, I'll refer to the 2.95 GCC manual, even though manuals for 3.0, 3.01, 3.02 and 3.03 are already online. The sections dealing with GCC's "technology" are primarily sections 14, 16, and 17. There are gobs of optimizations in GCC, and lots of them are specific to target architectures. The way to define new architecture-specific optimizations is mostly spelled out in section 16. The means for doing this appears to be very general.
A fair criticism of GCC's technology would be to say that optimizations have not yet been defined for recent Intel processors, and Intel's compiler already has them. To say GCC could never have them sounds like a lie. The nice thing about GCC's open-sourceness is that people contribute new optimizations. Intel-specific optimizations would be keenly interesting to a lot of GCC users, and the only reason they wouldn't happen would be that Intel hadn't released enough architecture information to make them possible.
Perhaps the hot new compiler technology about which the reviewers are so thrilled is the trade secret?
There is a nifty trick to reducing the heat in teeny circuits. It demands extra circuitry and is therefore not done in silicon, where extra transistors are still fairly expensive, but would probably be more feasible in this medium. The trick is called "reversible computing".
Thermodynamics says that when a computation throws away a bit of information, there is a necessary minimum heat dissipation. In today's relatively large circuitry, that dissipated heat is lost in the noise of resistive heating along the silicon conductive paths. In smaller circuits, it will become the dominant source of waste heat. An example of "throwing away a bit" is when an AND gate accepts two bits and produces only one. If you can run your logic circuit backward in time and recompute the inputs from the outputs, it's reversible.
Hewlett-Packard Company and UCLA today
announced they have received a U.S. patent for technology that could make it possible to build very complex logic chips -- simply and inexpensively -- at the molecular scale...
[In an earlier related experiment] researchers from the collaboration crossed wires the size of those used in today's computer chips and sandwiched them around a one-molecule thick layer of electrically switchable molecules called rotaxanes. Simple logic gates were then created electronically by downloading signals to molecules trapped between the crosswires...
Once a basic grid has been assembled, programming could be used to implement a very complex logic design by electronically setting the appropriate configuration switches in the molecular-scale structure...
The problem is that on a single large grid all the electrical signals would interfere with each other... The solution proposed by the patented invention is to cut the wires into smaller lengths by turning some "intersections" into insulators...
The insulators are created by "cutter wires," which are chemically distinct from the others. A voltage difference between the cutter wire and the target wire creates the insulator.
This addresses what I had seen as the major difficulty to building real circuits out of molecules -- it has gotten easy to build a large regular array of molecular switching elements all wired together in parallel, which is no more useful than a house whose lightswitches are all wired in parallel. I hadn't seen how they'd get the kind of irregular specific wiring that makes useful circuitry possible. This appears to be the answer, or close to the answer.
Agreement. My dog has a deal in flight with the cat next door to produce a handheld wireless GPS widget, prototyping from stuff I left in the garage last summer. We get three or four VCs knocking at the door each day, but then she loses her composure and starts barking real loud, and they go away. Everybody is doing some slight variation on this theme.
Come on now, this is Wozniak. Maybe he can't do the insanely-ingenious thing himself any more, but I'd hope he could identify and hire somebody who still can.
there is a 1 C temperature differential for every 100m of altitude
Wouldn't the tendency to rise be almost exactly balanced by the weight of the column of air above? Otherwise the atmosphere ought to be less stable than it is ordinarily.
The information that should cost money should be
new information. An example is stock quotes
that haven't been delayed by 15 to 20 minutes. As
has been repeatedly pointed out in other posts,
old information can be copied and therefore almost
any attempt to collect payment can be circumvented in one way or another. While information is still fresh, there is a possibility of temporarily restricting its distribution.
An example of new information might be a live feed of a rock concert, talk show, or lecture. Later recordings would be freebies, but the live feed could give paying customers the opportunity to interact while the event is going on, like when you call into a radio talk show or ask a question during a lecture. Here you're paying for not just getting the information when it's fresh, but also the opportunity to have your interaction be part of the permanent recording.
The Grateful Dead used to invite concert-goers to bring tape recorders. Anybody could make a recording of the concert, and sell copies or give them away. What the Dead charged for was physical attendance at the concert. This policy doesn't seem to have hurt their income too badly.
The Foresight Institute (with which Drexler and Peterson are associated) has come up with a set
of development and design guidelines for nanotech. These would go far to prevent most accidents, but they depend on developers to self-police, as has happened in the area of genetic engineering. Regrettably they don't prevent acts of terrorism.
The commonly cited "gray goo" scenario is a sort of nanotech worst case: nanites that can convert almost any naturally occurring matter (including biomatter) into more identical nanites. Robert Freitas has done some analysis concluding that gray goo would either work very slowly, or throw off a huge amount of heat which could be detected by a thermal monitoring system of geosynchronous satellites. Drexler has observed that making a gray goo nanite is likely to be an enormous engineering challenge.
These kinds of topics pop up on sci.nanotech with some frequency. Here are some discussions:
November 1996,
March 1997,
September/October 1997.
My own thinking is that we want to ensure that the development of defensive measures outpaces the development of offensive weapons. A step in the right direction would be for the good guys to maintain a development/design/simulation effort that clearly outpaces anything the bad guys can do. (This obviously sidesteps the issue of who gets to define "good guys" and "bad guys", and whether the good guys become corruptible given a commanding technological lead.)
Four or five years ago, some folks at MIT were
looking at similar things. They had a DARPA grant
to figure out how to program sloppily-networked
unreliable processors, and came up with a field
they called
amorphous computing.
They used an interesting set of conservative assumptions, so that their code could run on a wide range of hopefully-soon-to-be-cheap hardware:
Processors are too numerous to merit individual names. Any interaction between programmer and processors is a bulk operation; processors are never individually addressed. Think broadcast architecture.
Processors are unreliable. Any individual processor may fail at any time, or may be broken already at power-up.
No assumption of reliable geometry: processors have no a-priori knowledge of their physical location in the cloud.
Weak assumptions about connectivity: each processor is connected to N close neighbors, where the probability distribution of N is approximately known. Connections are unreliable and may be time-varying.
All processors are assumed to be manufactured with the same program in ROM. (This doesn't preclude the possibility of a distributed boot loader.)
Remarkably, many of these hardships can be overcome by clever programming, and some kinds of algorithms turn out to be idiomatic in this kind of programming model. Interesting stuff.
I was a big Scheme/Lisp fan five or six years ago, but now I see most of my favorite Lisp-like language features available in Python, which is getting a huge amount of high-quality development mindshare these days. Some of the Lisp-ish features in Python that spring right to mind are functions as objects, closures, garbage collection, and dynamic-yet-strong typing, and convenient rapid-app development.
One needn't look far to find arguments that there is still something unique to Lisp that differentiates it even from very recent languages which have had ample opportunity to borrow from Lisp. But one rarely finds a really clear articulation of that uniqueness. Do you think concur with the view that Lisp is still unique, and if so, do you think that Lisp's putative advantage really is ineffable?
If there is an advantage but it's ineffable and therefore opaque to managers with purchasing power, that would explain why Franz, Harlequin, et al have had such a rocky road. Does the Lisp/Scheme community regard this as a worrisome issue? (Some folks on c.l.lisp clearly don't think so, but I don't know if they are just a noisy minority.)
I've never had dealings with these people and therefore can't vouch for their reasonableness, but it's good to see that at least Erector sets are being sold again:
http://www.iqkids.net/erectorsets.html
True, paper has wonderful archival properties if you take good care of it. But left to its own devices, and barring fantastic OCR, it isn't machine-readable. Maybe the best of both worlds would be to accompany printed text with a 2-D bar code (see info here and here), which are space-efficient and wouldn't add too many square inches.
Maybe future researchers will have fantastic OCR cheaply available, and the benefits of barcodes won't be worthwhile. But maybe not, and why make their job unnecessarily more difficult?
Most posters have cited the fact that no good
protocol exists that makes it convenient and practical to pay somebody a very small amount
of money. I thought about this when Scott
McCloud's ICST#6 came out, and hit upon something
I think would work. It is implementable by a
single website owner without a large trusted
intermediary. Though certainly a large trusted
intermediary could help it to gain acceptance
more quickly.
Consumer Carl is web-surfing and comes across Vendor Vinny's website, which advertises something interesting to Carl, maybe an attractive GIF image to which Vinny holds the copyright, but he's willing to sell the image to Carl at a small fee. This sale does not entitle Carl to resell the image; he is licensing the image, not becoming its copyright holder. Let's suppose that Vinny is selling this image for a nickel.
One immediate problem Carl faces is determining that Vinny really has something worth a nickel. Vinny may offer a free low-res or blurry image to suggest what he's got, but ultimately Vinny can defect by accepting Carl's nickel and giving him nothing, or something obviously worthless. For now I will put aside this question and assume that defecting vendors will be selected against by market forces.
Carl isn't really going to mail a nickel to Vinny; a stamp costs more than a nickel. What Carl will do is agree to mail a $5 check to Vinny if a fair roulette wheel spin gives a prespecified outcome whose
probability is 1/100. The roulette wheel will actually be a negotiation between Vinny and Carl.
At the beginning of the negotiation, Vinny generates Rv, a large random integer, and then computes H, a one-way hash of Rv. Vinny transmits H to Carl. After he receives H, Carl generates his own random number Rc and transmits it to Vinny. Upon receipt of the value of Rc, Vinny transmits Rv to Carl. Carl computes the hash of Rv to verify that it is equal to H. Both of them can now compute the roulette wheel spin value, which is ((Rv + Rc) mod 100), and if the value of the spin is zero, then Carl agrees to mail a check for $5.
In order to cheat, either party would need to manipulate the value of ((Rv+Rc) mod 100). Vinny can't cheat because he has committed to the value of Rv before Carl generates Rc, and Carl can use H to test his commitment. Carl can't cheat because he must generate Rc and transmit it to Vinny before he sees the value of Rv. Carl can't compute Rv from H because the hash function is one-way.
Both parties have equal amounts of work to do. Each must generate a large random integer and perform a one-way hash.
If it turns out that Carl must pay the check, Vinny's website will create a transcation record in Vinny's database, including a transaction number. Carl's browser will show a form, which Carl should print out or copy onto a piece of paper, giving the transaction number as well as Vinny's name and address, so that Carl has an easy time making his payment.
It is prominently obvious to Carl that the transaction has been recorded; if he welches on the check then Vinny will know about it, and Vinny may then deny him access to any other payable goods. There's the question of how Vinny can tell whether a later visitor is the same person who welched before; Carl could make up a new user-id, or telnet to a different host and visit from there to have a different IP address, or do other tricks, but these fall outside the scope of this protocol.
How hard would it be for a single vendor (say, Scott McCloud) to set up a system like this? He would need to provide the client-side executable for his visitors to perform their side of the protocol. He would need to explain the protocol clearly enough to convince them that it's fair. His customers would need to agree to the probabilistic micropayment idea at all, but that's actually easy enough to do: he puts a link from his website that says, "go here if you agree to the probabilistic micropayment protocol, and you can shop for stuff", and they go there and get to see low-res fuzzy versions of interesting and amusing comics. When they do the protocol, they get the high-res sharp versions, and in 1% of the cases, they are obliged to mail in a check.
Maybe everybody will have an idea for micropayments (and maybe that's what Scott wants, and if so, great). Here's mine: use probability. It would be a pain to mail him a check for a nickel, but I wouldn't mind agreeing to a roulette spin, and if it comes up on a particular number out of 100, I send him a check for $5.00. All we need now is a roulette wheel that we both accept as fair.
A cryptographic protocol could do this job. Maybe Diffie-Hellman key exchange; if the shared secret modulo 100 is zero, we both know I'm supposed to mail a check. Scott
will know if I've welched on him, and may extend
less trust to me in future.
Non-geek customers might be frightened by the complexity of DH, so maybe something simpler but still mutually trustworthy could be arrived at.
Alternatively we could agree on some disinterested third party (lavarand.org, maybe) to act as the
roulette wheel.
The question of punishing welchers is a tricky one. The welcher can always invent a new user id and start over. Perhaps priveliges could slowly accumulate for user ids who demonstrate they are non-welchers. Or reputations could be managed by some third party (eBay, maybe) who already has a reputation tracking system in place.
It'd be cool if eBay or PayPal or some such could set up both the reputation system and the roulette wheel. If it were done by somebody reputable, it would probably work.
This idea has been around the block dozens of times over the last ten years, and never hit it big. There's one in the next room that has lain dormant since before I started working here. Fax machines have well-established standards and interoperate across manufacturers, and everybody already owns one. Their faults are that the drawings aren't machine-readable, and the interactivity isn't there. But I don't think that's enough difference to make a market, especially where others have already tried and failed.
Innovation is a lovely thing, but Sun-tse would tell these guys not to go into a battle they aren't likely to win. Maybe the right way to tackle this is a pen- or stylus-input gadget for existing Java whiteboards that can sell for much less, and possibly some standardization of a Java whiteboard protocol, with a reference implementation.
Amen to that!
Whenever we relinquish a technology because we feel we're ethically "above that sort of thing", we run the risk that the technology will be picked up by people with WAY less moral scruples. Relinquishment pushes technology into the hands of the unethical, the very thing we'd hope to avoid by relinquishing in the first place.
There's then this tricky problem: how do we keep a strong technical lead in an ethically problematical area of technology? Historically we've done it with black ops. Maybe that's what would work here. Then again, there have recently been advances that may make Bush's unfortunate decision moot: it is now possible to extract a stem cell from an adult human that is fully capable of differentiating into any cell type.
So now, maybe we can have our cake and eat it too. If the Chinese make huge gains using fetal stem cells, but we can do all the same stuff with stem cells from adults, then their putative technological lead becomes a tempest in a teapot.
They say that physics advances one funeral at a time. The same is probably true of other fields.
It was a real pleasure to go to the Lightweight Languages thing at MIT a few months back, and see the accomplishments of some of these out-of-the-mainstream groups, particularly the Scheme community. As you say, they are at work on innovations which won't reach us average programmers for many years.
But if you want to have something gain acceptance, you have to put a HUGE amount of work into it. People have gotten very high expectations. They expect plenty of features (not excluding dancing winking paper clips) and long times between bugs and crashes. Better plan for a hefty QA budget.
By all means, write the next great operating system. Innovate like crazy. But if you want a lot of users when you're done, you've got close equivalents for the things people want: Word, Excel, Netscape... If this stuff isn't as featureful and bug-free as what people expect from Linux or Windows, prepare to spend your days in the computer science slums with those Scheme guys.
Evolution has NEVER required conscious participation by the organism. Evolution does not need your help, nor does it require you to practice any sort of discipline. Intelligence is NOT the goal of evolution. The goal of evolution (speaking metaphorically, see Dawkins) is to maximize fitness, primarily defined in terms of differential reproduction.
Dog-breeding, while relatively new, is done in a state of two-fold ignorance. (1) When we breed dogs, we have no idea what we're doing on a genomic level, as we are only working with traits we find appealing, and (2) we breed animals and plants in an artificial environment with a skewed fitness function -- we don't know how the effects of our breeding programs would play out in the wild, and mostly we produce strains that can't compete in nature.
Breeding fails to produce hardy strains because, genetically, it is a blunt instrument wielded by a blind man. That's why Dalmatians are stupid.
This selection of eggs is different: we know what we're doing on a genomic level, and we're making choices based on a small number of genes linked to specific inheritable diseases. There is not yet any evidence that these disease-related genes are linked in any way to intelligence. We have some folkloric and statistical evidence linking intelligence to genetics, but we cannot yet identify any gene that differentiates an Einstein or Mozart from the average schmo.
To me, this sentence is quite telling. What's going on here is two mistaken assumptions. Your manager incorrectly assumes that you are not a thinking, feeling being who cares about anything. You incorrectly assume that your manager does perceive you as a thinking, feeling being.
At NASA, you probably ran into some fine managers. They probably acted as mentors to less experienced folks, and could interact with almost anybody with a high degree of compassion. You'll probably find that, uniformly, these were people with strong technical backgrounds, which inclined them to connect in a human way with their subordinates, who also had technical backgrounds.
Non-technical managers come to the engineering world not for intellectual stimulation, but because there is money to be made. To them, you are a means to an end, and a necessary evil they'd prefer to do without. They are uncomfortable with technology, and they resent you for being comfortable with it. They would prefer to think of you as an appliance. They don't want your thoughts, input, or passion. They want your behavior to be predictable, and ideally controllable.
What do you get in compensation? You get to avoid a bunch of activities that you would probably not enjoy. You don't need to put together a sales pitch for the technology you make, and you don't need to entertain and suck up to a bunch of potential customers, most of whom will disappear without providing a dime of revenue. You don't need to keep the supply cabinet stocked, or make sure everybody has their medical benefits and their W2 form.
What compensation do the managers get for the unpleasant world they live in? They stand close to the portal whereby money enters the company. When money comes in, they're the ones who get to decide how much goes to whom.
how can I feel good about the work I'm doing if I don't have confidence in my management?
Start by being objective about your situation. I've described some unpleasant experiences I've had in the past, but discard whatever doesn't apply to your own situation. Discriminate between the situation itself, and your own wishes and thoughts about it: your curiosity, your urge to contribute and be recognized, your craving for a sense of belonging, all that stuff. There isn't a magic formula for happiness, but if you can recognize the mechanisms at work, you have a better shot at it.
The problem with this is that you really do want two different loci of responsibility for development and QA. You don't even want the two teams to have the same manager (or generally, the same chain of command) because that creates a conflict of interest for the manager. While wearing the DevMgr hat, he wants to get stuff out the door quickly, so he's rewarded for cutting corners when he puts on the QAMgr hat.
It might work to do what you suggest, as long as the chains of command were kept distinct so only the people at the bottom of the hierarchy ever wore both hats. But do you really want to work for two bosses at the same time, and be answerable to both?
Another possible model would be a "clean room" approach, where you're given read-only access to the source database, and you can tinker on your own machine. You can propose a specific change to the developer working on your bug, but he checks it in. Things are still sped up that way, and you avoid blurring the responsibilities.
How do you put a corporate logo on a chromosome?
You can't paint DNA. You need something that replicates along with the normal process of cell division. Rationally designed junk DNA could perhaps force chromosomes to fold into the shapes of corporate logos. DNA is pretty monochromatic under a microscope, so perhaps junk DNA could bind to little molecule thingies hanging off the double-helix that give color to the logos.
This, gentlemen, is the compelling question of our age, upon which future generations will judge us.
Patenting genes that occur in nature would be an obviously questionable practice, and it worries me that this issue has been kicking around unresolved for at least two years. But the thing you are describing here also worries me: it sounds like you're saying that the genetic information is properly unpatentable, but having sequenced it, I could apply for a patent controlling ANY useful application of that information. I would prefer to see patents limited to controlling a specific application of the information.
But the obviously worst-case scenario would be where any fool could operate a sequencer for a couple weeks, and patent whatever he gets, regardless of whether an application is apparent at the time of filing.
To be fair to the reviewers, I'll refer to the 2.95 GCC manual, even though manuals for 3.0, 3.01, 3.02 and 3.03 are already online. The sections dealing with GCC's "technology" are primarily sections 14, 16, and 17. There are gobs of optimizations in GCC, and lots of them are specific to target architectures. The way to define new architecture-specific optimizations is mostly spelled out in section 16. The means for doing this appears to be very general.
A fair criticism of GCC's technology would be to say that optimizations have not yet been defined for recent Intel processors, and Intel's compiler already has them. To say GCC could never have them sounds like a lie. The nice thing about GCC's open-sourceness is that people contribute new optimizations. Intel-specific optimizations would be keenly interesting to a lot of GCC users, and the only reason they wouldn't happen would be that Intel hadn't released enough architecture information to make them possible.
Perhaps the hot new compiler technology about which the reviewers are so thrilled is the trade secret?
Way back when, every PC had a DMA controller built right in! We could transfer spam to
Look here, bottom of the page.
Thermodynamics says that when a computation throws away a bit of information, there is a necessary minimum heat dissipation. In today's relatively large circuitry, that dissipated heat is lost in the noise of resistive heating along the silicon conductive paths. In smaller circuits, it will become the dominant source of waste heat. An example of "throwing away a bit" is when an AND gate accepts two bits and produces only one. If you can run your logic circuit backward in time and recompute the inputs from the outputs, it's reversible.
Google has some links: http://www.google.com/search?hl=en&q=reversible+co mputing and there is an interesting project at MIT to design an entire reversible processor, called Pendulum.
Not surprisingly, the reversible computing idea is well-liked among nanotechnology thinkers such as Ralph Merkle.
Agreement. My dog has a deal in flight with the cat next door to produce a handheld wireless GPS widget, prototyping from stuff I left in the garage last summer. We get three or four VCs knocking at the door each day, but then she loses her composure and starts barking real loud, and they go away. Everybody is doing some slight variation on this theme.
Come on now, this is Wozniak. Maybe he can't do the insanely-ingenious thing himself any more, but I'd hope he could identify and hire somebody who still can.
Wouldn't the tendency to rise be almost exactly balanced by the weight of the column of air above? Otherwise the atmosphere ought to be less stable than it is ordinarily.
Once I mentioned Lisp to a process engineer, and he said: "Just like gallium arsenide! It's the technology of the future, and it always will be!"
An example of new information might be a live feed of a rock concert, talk show, or lecture. Later recordings would be freebies, but the live feed could give paying customers the opportunity to interact while the event is going on, like when you call into a radio talk show or ask a question during a lecture. Here you're paying for not just getting the information when it's fresh, but also the opportunity to have your interaction be part of the permanent recording.
The Grateful Dead used to invite concert-goers to bring tape recorders. Anybody could make a recording of the concert, and sell copies or give them away. What the Dead charged for was physical attendance at the concert. This policy doesn't seem to have hurt their income too badly.
Here are some, and some more, and a few others.
The commonly cited "gray goo" scenario is a sort of nanotech worst case: nanites that can convert almost any naturally occurring matter (including biomatter) into more identical nanites. Robert Freitas has done some analysis concluding that gray goo would either work very slowly, or throw off a huge amount of heat which could be detected by a thermal monitoring system of geosynchronous satellites. Drexler has observed that making a gray goo nanite is likely to be an enormous engineering challenge.
These kinds of topics pop up on sci.nanotech with some frequency. Here are some discussions: November 1996, March 1997, September/October 1997. My own thinking is that we want to ensure that the development of defensive measures outpaces the development of offensive weapons. A step in the right direction would be for the good guys to maintain a development/design/simulation effort that clearly outpaces anything the bad guys can do. (This obviously sidesteps the issue of who gets to define "good guys" and "bad guys", and whether the good guys become corruptible given a commanding technological lead.)
- Processors are too numerous to merit individual names. Any interaction between programmer and processors is a bulk operation; processors are never individually addressed. Think broadcast architecture.
- Processors are unreliable. Any individual processor may fail at any time, or may be broken already at power-up.
- No assumption of reliable geometry: processors have no a-priori knowledge of their physical location in the cloud.
- Weak assumptions about connectivity: each processor is connected to N close neighbors, where the probability distribution of N is approximately known. Connections are unreliable and may be time-varying.
- All processors are assumed to be manufactured with the same program in ROM. (This doesn't preclude the possibility of a distributed boot loader.)
Remarkably, many of these hardships can be overcome by clever programming, and some kinds of algorithms turn out to be idiomatic in this kind of programming model. Interesting stuff.One needn't look far to find arguments that there is still something unique to Lisp that differentiates it even from very recent languages which have had ample opportunity to borrow from Lisp. But one rarely finds a really clear articulation of that uniqueness. Do you think concur with the view that Lisp is still unique, and if so, do you think that Lisp's putative advantage really is ineffable?
If there is an advantage but it's ineffable and therefore opaque to managers with purchasing power, that would explain why Franz, Harlequin, et al have had such a rocky road. Does the Lisp/Scheme community regard this as a worrisome issue? (Some folks on c.l.lisp clearly don't think so, but I don't know if they are just a noisy minority.)
I've never had dealings with these people and therefore can't vouch for their reasonableness, but it's good to see that at least Erector sets are being sold again:
http://www.iqkids.net/erectorsets.html
Maybe future researchers will have fantastic OCR cheaply available, and the benefits of barcodes won't be worthwhile. But maybe not, and why make their job unnecessarily more difficult?
Consumer Carl is web-surfing and comes across Vendor Vinny's website, which advertises something interesting to Carl, maybe an attractive GIF image to which Vinny holds the copyright, but he's willing to sell the image to Carl at a small fee. This sale does not entitle Carl to resell the image; he is licensing the image, not becoming its copyright holder. Let's suppose that Vinny is selling this image for a nickel.
One immediate problem Carl faces is determining that Vinny really has something worth a nickel. Vinny may offer a free low-res or blurry image to suggest what he's got, but ultimately Vinny can defect by accepting Carl's nickel and giving him nothing, or something obviously worthless. For now I will put aside this question and assume that defecting vendors will be selected against by market forces.
Carl isn't really going to mail a nickel to Vinny; a stamp costs more than a nickel. What Carl will do is agree to mail a $5 check to Vinny if a fair roulette wheel spin gives a prespecified outcome whose probability is 1/100. The roulette wheel will actually be a negotiation between Vinny and Carl.
At the beginning of the negotiation, Vinny generates Rv, a large random integer, and then computes H, a one-way hash of Rv. Vinny transmits H to Carl. After he receives H, Carl generates his own random number Rc and transmits it to Vinny. Upon receipt of the value of Rc, Vinny transmits Rv to Carl. Carl computes the hash of Rv to verify that it is equal to H. Both of them can now compute the roulette wheel spin value, which is ((Rv + Rc) mod 100), and if the value of the spin is zero, then Carl agrees to mail a check for $5.
In order to cheat, either party would need to manipulate the value of ((Rv+Rc) mod 100). Vinny can't cheat because he has committed to the value of Rv before Carl generates Rc, and Carl can use H to test his commitment. Carl can't cheat because he must generate Rc and transmit it to Vinny before he sees the value of Rv. Carl can't compute Rv from H because the hash function is one-way.
Both parties have equal amounts of work to do. Each must generate a large random integer and perform a one-way hash.
If it turns out that Carl must pay the check, Vinny's website will create a transcation record in Vinny's database, including a transaction number. Carl's browser will show a form, which Carl should print out or copy onto a piece of paper, giving the transaction number as well as Vinny's name and address, so that Carl has an easy time making his payment.
It is prominently obvious to Carl that the transaction has been recorded; if he welches on the check then Vinny will know about it, and Vinny may then deny him access to any other payable goods. There's the question of how Vinny can tell whether a later visitor is the same person who welched before; Carl could make up a new user-id, or telnet to a different host and visit from there to have a different IP address, or do other tricks, but these fall outside the scope of this protocol.
How hard would it be for a single vendor (say, Scott McCloud) to set up a system like this? He would need to provide the client-side executable for his visitors to perform their side of the protocol. He would need to explain the protocol clearly enough to convince them that it's fair. His customers would need to agree to the probabilistic micropayment idea at all, but that's actually easy enough to do: he puts a link from his website that says, "go here if you agree to the probabilistic micropayment protocol, and you can shop for stuff", and they go there and get to see low-res fuzzy versions of interesting and amusing comics. When they do the protocol, they get the high-res sharp versions, and in 1% of the cases, they are obliged to mail in a check.
A cryptographic protocol could do this job. Maybe Diffie-Hellman key exchange; if the shared secret modulo 100 is zero, we both know I'm supposed to mail a check. Scott will know if I've welched on him, and may extend less trust to me in future. Non-geek customers might be frightened by the complexity of DH, so maybe something simpler but still mutually trustworthy could be arrived at.
Alternatively we could agree on some disinterested third party (lavarand.org, maybe) to act as the roulette wheel.
The question of punishing welchers is a tricky one. The welcher can always invent a new user id and start over. Perhaps priveliges could slowly accumulate for user ids who demonstrate they are non-welchers. Or reputations could be managed by some third party (eBay, maybe) who already has a reputation tracking system in place.
It'd be cool if eBay or PayPal or some such could set up both the reputation system and the roulette wheel. If it were done by somebody reputable, it would probably work.