The airplane was actually developed for civilian uses first, and only became a military technology after entrepreneurs worked out the fundimental problems of control surfaces, navigation, range, and cargo capacity.
Not really true. Almost the first thing the Wright brothers did, after getting a working design, was shop their invention around for military uses.
From this historical profile: The first sustained flight by the Wright brothers was in December of 1903. By the end of 1904 they had improved the initial design into a practical vehicle. In 1905 they began contacting the U.S. Department of War attempting to sell flying machines for military uses. In 1907, the U.S. Army Signal Corps took them up on the offer. The addition of extra capacity (the ability to carry a pilot and a passenger) was added at the explicit request of the Army Signal Corps.
Clearly, while the Wright flyer was developed at private expense, the Wrights were thinking about military applications. At least some of the early development of additional cargo/passenger capacity was funded directly for military purposes.
Not that I'm disparaging the Guardian's picks (they're pretty good) I'd like to add the following for consideration (and if you're looking to put together a Sci-Fi movie weekend, take notice):
ARM and POWER seem to be the two RISC instruction set architectures settling in for the long term, so I'd probably call the RISC/CISC battle a draw.
I wouldn't call it much of a draw, at least not based on mortality: At the start of the RISC/CISC transition there were somehting like twice as many CISC architectures (~18) in the field than RISCs (~9). At the end of the transition, according to your figures, only two members remain from either camp. That translates to about a 90% mortality rate for the CISCs and only an 80% mortality rate for the RISCs. I'm really not sure how to declare a winning architectural philosophy with those kinds of losses.
yakovlev continues:
As for internal design, the RISC processors came up with good microarchitectures that CISC processors then copied. This didn't make them have non-CISC instruction sets, it was just a different implementation underneath.
I agree entirely that architecture and implementation should not be confused (as the RISC/CISC convergence camp routinely does), but my point was not that the CISCs have become RISCs, but that the use of translation layers is a tacit admission of defeat for the CISC camp.
In support of your draw hypothesis, however, is the fact that the high performance RISCs have had to resort to exactly the same tricks as the CISC crowd, implying that there neither side really won.
M88k was a loser for Motorola, despite pushing it hard. It has been abandoned. M68k lives on (kinda) as Coldfire.
M88k was actaully a technical win for Motorola, they were able to produce a complete new architecure in record time partly becuase RISC design was simple enough to design and verify in only a few months (rather than a few years, as had been the case for the M68020 and M68030). The failure of the M88k in the market may have other causes (the 88100 and 88200 had very high pin counts which drove up the cost of building a circuit board for them) than pure architectural matters. Further, parts of the M88k architecture were used in the initial PowerPC devices, so you could claim that some of the M88k (though, I think, not very much) lives on in the PowerPC.
Actually, the key point was that before the RISC/CISC wars there were lots of different non-RISC architectures, after the RISC/CISC wars only one non-RISC architecture survivies in any sort of non-niche application. Every major architecture on the market today, and for the past fifteen years, has is a RISC architecture, either outright or by subtrefuge (as with post-PPro x86). The survival of x86 is not proof of RISC's defeat, it is the last holdout of the defeated CISC design philosophy, and that only in name.
To bring this back on topic (if only slightly), it's a damn shame about Alpha, but not so much, really. All of the RISC architectures looked pretty similar (unlike the CISC ecology before them). If the surviving RISCs are not quite as elegant as Alpha, at least they illustrate the same basic simplicity and orthogonality. The survival of x86 proves that you don't need a perfect architectural design to achieve high performance (at least not on integer code, and not if you have more money than God), so POWER/PowerPC, MIPS, Sparc and ARM should have few difficulties in the years ahead, despite minor architectural flaws. (actually, I'm not too sure about Sparc's continued survival, but I wouldn't shed a tear at it's demise: register windows are an abomination) IBM has already had to employ PPro-like tricks in the recent POWER5/PPC9xx designs in order to get high performance.
In the early 90s, there was this hot debate about RISC vs. CISC, and the merits of each,...etc.
This has all died out now, with CISC (read: Intel) coming out as a winner.
That's an odd take on history, unless by 'win' you actually mean: "all but one CISC architecture (Intel x86) eventually capitulated and either exited the field altogether (either adopting a new RISC architecture) or shifted to a niche (usually embedded) market."
A little history lesson for all you folks who either didn't exist or weren't paying attention in early days of the microcomputer revolution: Back in the late-seventies/early-eighties there were a fair number of competing architectures in both the mini- and microcomputer markets.
In the mini-computer world there were:
DEC PDP-11 and VAX
IBM S/360 and S/370
Data General Nova and Eclipse
Burroughs B5000
Hewlett Packard HP3000
and many others
all of which were CISC designs (relatively few registers, memory-to-memory arithmetic operations, lots of addressing modes, etc.).
In the microcomputer world there were:
Motolorola's 6800 (8/16-bit) and 68000 (16/32-bit)
National Semiconductor's 32000
Texas Instruments TI9900
Zilog's Z80 (and 16 and 32-bit successors Z8000 and Z80,000)
Rockwell's 6502 and 65816
and, of course, Intel's 8080 and 8086
all of which were, like the mini-computers of the day on which they were modeled, also CISC variants.
Ever since the mid-seventies, various research groups (at universities and major corporations) had been toying with ways to make architecturally faster computers. (that is, computers whose arrangement of registers and instruction set were inherently fast, rather than just rely on faster transistors and shorter busses for speed increases) A number of these efforts stumbled upon the same set of concepts:
eliminate all features that are not easily used by contemporary compilers
eliminate most addressing modes
eliminate memory operands for arithmetic and logical operations
eliminate variable length and variable format instruction encoding
eliminate micro-proramming of instructions (hardwire everything),and
break all instructions into parts that can be overalpped (pipelining)
This was dubbed Reduced Instruction Set Computing, or RISC, as a contrast to the contemporary architectural practices, which the RISC camp lumped together under the term Complex Instruction Set Computing, or CISC.
The RISC approach payed off pretty quickly with processors that could easily execute one instruction every clock cycle (CISC architectures tended to take many clock cycles per instruction) and a few commercial products appeared in the mid-eighties from MIPS, Clipper, AMD and IBM. The main complaints against the RISC approach came down to one of
fixed-width instructions waste too much memory
RISC instruction sequences are too difficult for assembly language programmers to understand, or
we can make better compilers that will be able to use CISC features to better advantage than do existing compilers (all we need is a measly little research grant and five more years).
In the end, however, all three arguments proved false (memory capacities followed Moore's law into the stratosphere, most everyone moved to HLL compilers, and the genius level optimizing compilers either didn't materialize or benefitted the RISCs just as much as they did the CISCs).
One by one, all the big players either came around to the RISC way to seeing things:
Motorola and DEC dropped their existing CISC platforms and developed RISCs (M88k and
Question: How is selling personal computers like selling carbonated sugar water?
Answer: It's not.
Apple's real problems started after the ouster of Steve Jobs by his hand-picked protege, former Pepsi executive, John Scully, in 1985. What followed was a decade of mismarketing, management reorganizations, engineering chaos and declining market-share. It was Scully and Spindler that refused to license Mac OS (and that squandered years of profits on aimless persuit of countless technological fantasies). It took a half-dozen reorganizations, three changes of top management, and the loss of more than half of Apple's market before the morons that hijacked the company were finally willing to try licensing. By then it was far too late: Apple no longer had the market position or resources to survive the transition.
Maybe licensing would have been a success in the late eighties or the very early ninties, but, by 1995, it was too little too late. Could licensing work now with Mac OS X? Probably not: Apple still doesn't have the resources to survive such a transition and the advantages of Mac OS X over competing products (including Windows and Linux) is not great enough to ensure success.
On top of this, Steve Jobs has some experience with producing an OS for the IBM-compatible market that suggests support costs would likely bankrupt the company (they barely have the resources to support OS X on just the recent Mac models): in the mid-ninties NeXT ported NeXTSTEP to x86 and sold it for general consumption. The Achilies heel of the strategy was that NeXT could not possibly support the full range of hardware in the IBM-compatible market. Essentially the same barrier stunted the early growth of Windows NT and actually killed IBM's OS/2. Even Microsoft can't muster the required resources: they rely on market position to persuade other manufacturers to do the development and maintenance for free. The problem is, once the third-party manufacturers have invested in developing Window's drivers, they don't have the resources or will to develop much of anything else. It's a classic network effect: once MS had the largest piece of the market (even without having a majority) all the manufacturers jumped on the MS bandwagon.
Overcoming the network effect at this late date is nearly impossible: you would need nearly unlimited resources, and it would still be an uphill battle (as the Linux/FOSS community, which happens to have such resources, is finding out). Apple hasn't got anything close to adequate resources for that fight and they know it. Instead they have cut their liabilities and are choosing their fights very carefully. It may not be a plan for sure fire success, but it's the best plan given the circumstances.
The word you are looking for is shallow, not "well rounded."
The ciriculum you list above only includes:
one semester (or is it a quarter?) of physics (you really can't cover the basics -- kinematics, work/power/energy, optics, electricity and magnetism, wave mechanics, radiation and quantum mechanics -- in less than two semesters or three quarters)
one semester of calculus (and NO coverage of differential equations, linear algebra, numerical analysis or analysis of algorithms)
only three semesters for any liberal arts or social sciences (World Cultures, Social History and Philosophy). You can't really expect to have an understanding of the world, past or present, with so little material.
no coverage of the essentials of computer science (language translation a.k.a. compiler design, theory and design of operating systems, data structures and algorithms, computer organization/architecture, etc.) much less any of the really interesting stuff (networking protocols, computer graphics, artificial intelegence, etc.)
The ONLY good point of the entire ciriculum is the multiple semesters of written and spoken communications and logical and critical thinking (which you would be required to take at any reputable college or university as well), but there is so much else missing, as well: Where are art, music, theater and literature? Where is economics? Where is sociology or anthropology? Where is chemistry? Are we to presume that these have been folded into some of the other course? If so, how much coverage do these subjects get?
With this ciriculum you would almost be better off watching PBS for two years and reading a few good books! The certifications are certainly worthless (with a bit of dedication and focus you can cram your way through those based on books from your local library) and will be obsolete almost before you graduate. The rest of the ciriculum can't be giving you much more than a brief introduction to the topics: while you may have a small fraction of the appropriate jargon memorized, you certainly don't understand anything of value.
This degree really shouldn't be called a CS degree. I'm even suprised they have been accredited to award bachelors degrees. This sounds more like an associates of computer programming than a BSCS.
I just remember back when I was in college and having this exact same discussion about Mac and Windows, and I proved my point by making a set of disks and handing them the guy arguing with me and said "do that with a mac". Of course, he could not.
Not that I really disagree with your conclusion, but this part of your argument is bullshit. 'Back in the day' making boot disks for MacOS was as easy as pie.
Up until System 7.5 MacOS came on only a half dozen disks, without any kind of copy-protection scheme, and you didn't need an activation key to do the install (you still don't, btw). All you really needed was a Macintosh computer. You could even trim the install disks down to one disk by making a cross-platform system installation and copying it (and a few other files) to a floppy, much like you could (and still can) with MS-DOS. Admittedly, by the late nineties MacOS had ballooned to several dozen floppies (and usually came on a CD-ROM), but by the time that happened you could easily burn a CD from the original.
The real point of, however, is that Macs (the hardware) were expensive and few people were willing to shell out the initial investment to get one. The required initial investment for a PC could be, easily, half to a third that of a Mac (if you were willing to take some risks with no-name parts and cobble it all together yourself. The no-name parts were a bigger risk in the late-eighties and early-nineties than they are today).
Whether anybody actually saved money by buying a PC instead of a Mac is dubious (the faster upgrade cycle on PCs tends to even the playing field by substituting "rents" for "spent-costs") but lots of folks (myself included*) prefer to spend a large amount of money over a long period of time rather than all at once, even if they end up spending more (hence the popularity of credit cards, car leases, rented furniture and layaway plans).
To a first order approximation, the popularity of MS-Windows (and MS-DOS before it) is entirely due to the fact that it ran on cheap, multi-source, readily available hardware. Sure, the bundling plans helped a bit (but they probably weren't really necessary) and the rise of Dell and Gateway had some late term effect, but the initial impetus was from cost and availability.
* I still use Macs, but I usually buy second hand: this is how I manage to spend a lot less on initial investments than if I bought my Macs brand new. I end up spending about the same amount of money, once all the upgrades have been applied (faster CPU, more memory, bigger hard-drive, better video card, etc.) but I get to string it out over six months, which makes my wallet feel fatter along the way.
Their web site has been mostly broken the past two years. No one seems to maintaining it. They built a clock prototype, but the overall project seems to be moribound.
The Long Now Foundation is aware of the flaws in their web-site and are fixing them right now. Come back in 10,000 years and you'll see.
While a number of folks have mentioned buying a CCD directly, uncapping a DRAM for use as a crude CCD, or even building a scanning image sensor with mirrors, galvos and photodiodes. Buying the CCD outright or uncapping a DRAM seem like cheating to me, and the physical scanning solution just sounds too complicated (moving parts, yuck). The obvious solution, to my mind, is simply to build a small array of photo-diodes/resistors/transistors and scan the array with a couple of demultiplexors and counters (or a microcontroller).
The sensor array will be a bit tedious to construct (especially if you want more than a trivial number of pixels), the response time may be slow (ISTR some photoresistors haveing recovery times in the multi-second range), and you may need to spend some real cash for peripheral equipment (if you are going to build the thing using a microcontroller, you will need something to burn the MCU's program with, which will run you at least US$100). On the upside, you can build a true greyscale device (if you use a ADC to sample the pixel photodiode/photoresistor pixels).
The resulting camera will be bulky, slow, and have absolutely terrible resolution (we're talking 1 Kpixel, tops), but, if you have a spare month or two, it sounds like a fun project.
Yes, but is it TRANSPARENT? I want Transparent steel! I want an invisible jet! and an Invisible Sword! and an Invisible Toaster so I can see the toast get dark As It Happens! (grin)
The problem is that running an edited, peer reviewed journal is not free (or even cheap). You need to recoup the cost somehow, and you need to discourage frivolous submissions (otherwise your costs go through the roof just to weed out the garbage). The main complaint against the current system is that canonical scientific papers are locked up in the archives of membership-only journals.
The solution is obvious:
Submitters should pay the same fees they currently pay to get a paper considered.
Papers under consideration, and those published recently (where recent is some arbitrary period of time, say two or three years) are only available to paying members (or on a pay-per-view basis to the public).
Members pay the same subscription fee they currently pay for access to current journals.
Once the papers have become old enough, they are open to the public for free (or very low cost) viewing.
The costs of the archive are minimal compared to the costs of the editorial and peer-review process, so we can fold those in to submission and membership fees.
There is no need to have cutting-edge scientific papers immediately available for free. Only a small number of people are really interested (and able to understand) in the cutting edge stuff, and most of them can either afford a membership in the relevant journals, or their employer/institution should have a membership.
Once a paper is more than a few years old, it is either outdated or has become part of the canon (or both). These papers should be a matter of public record and open to anyone at no (or low) cost.
This isn't really like the RIAA situation. The sceintific journals aren't making any significant money off of their archives and the total public demand for scientific papers, outside of the existing journal membership, is negligible. The RIAA probably makes a fair fraction of their total profits off of archived material (I'd bet it's at least 20%) and there is little difference between an MP3 file and a CD (both need some intervening technology to allow access).
The sceintific journals, however, make most of their money off of membership (again, I'd bet it's at least 80%) and there is relatively little demand for archived materials. Further, the difference between a PDF and a printed booklet is fairly large: the booklet is accessible as-is, while the PDF needs some intervening technology. There is no reason that the journals should not continue to charge for physical reprints, so they don't lose any money from that direction, and the membership still pays for early access to papers, so the main funding stream is intact.
... using MS products, of almost any kind, makes my brain want to jump out of my head.
While I have problems with Microsoft's business practices (monopolistic bastards), my real objection to Windows (in particular, and most other MS products in general) is that it is badly designed, difficult to use and generally tasteless (queue the Steve Jobs quote from Triumph of the Nerds). Doing just about anything using an MS product is so thoroughly, frustratingly difficult and counter-intuitive, that its only similarty to a pleasurable experience lies in the fact that I am present for the ordeal.
With Mac OS (classic) the user interface design is still pretty good and I can suffer through the rough spots. With Linux, though the user interface design tends to suck (with a few exceptions, notable by their quality) at least I have a lot of choices or a shot at hacking together a reasonable work-around. With Mac OS X I get the best of both worlds (and, again, I can suffer through the rough spots).
My computer should do what I tell it to do: nothing more and nothing less. With Classic Mac OS I was able to get pretty close most of the time. With Linux and Mac OS X I get a lot closer: I'm pretty well able to figure out what bits to fiddle to turn things on and off, or what files to read to find out why something went wrong. With MS Windows, even if I can figure out what the damn thing is doing, I am rarely able to find a way to change the behavior.
Early in my computing career I was lucky enough to spend several years working on a platform that made almost every task pleasurable and easy, and I got used to it. I simply see no reason to do or use anything that causes me continuous physical or psychological pain. Microsoft Windows, unfortunately, falls in the category of fingernails-on-a-blackboard, blood-spurting-from-the-eyes, nerve-shriveling, brain-peeling, testicle-crushing pain.
Market share numbers don't really tell you what the actual installed base is, especailly when the replacement cycle is different for the different products, as is the case between PCs and Macs.
In general, the replacement cycle for Macs is two to three times longer than that for PCs. Part of this difference reflects the difference in price (folks hold onto expensive stuff longer than cheap stuff), and part reflects product quality (Macs don't crap out on you as fast as PCs do). Also, there tends to be an active market in upgrade products for Macs that extends their useful life (and sales of upgrade products don't contribute to a product's market share).
Finally, market share numbers are skewed because people may own or use more than one machine: one at home, one at work, maybe a machine at home just for work stuff, and maybe a laptop. If you do the math you will see that the market share to seat share ratio is roughly proportional to the replacement cycle ratio. While you may be able to safely ignore 3% of the market, could you afford to ignore 10%? What if that 10% were the top 10% that controlled the purchasing decisions for another 40% of the market?
If someone has several machines at home and one of them doesn't work with some home oriented product, even if the other machines work, the person is likely to raise a fuss about the one non-working machine. As a business, you can't really afford to alienate the guy with three PCs and one Mac. Even though he is perfectly able to run your Windows-only product, he may well like the Mac better, or he may just be offended because you are foreclosing a choice that is rightfully his. Under any circumstance, the folks that have several machines are, in general, a more affluent market and you should cater to them (they have more money, which probably means they have better jobs, which probably they have some buying power at work as well as at home)
Even Microsoft is concerned about making products for the Mac. Some of that might be cover for anti-trust lawsuits, but most of it is probably that they know a lucrative market when they see one, and they know that the folks that can afford Macs have lots of money, which probably means that they are important people. If you get them using MS-Office at home, on their Mac, they will be more likely to recommend MS-Office as the standard platform at work, where all the peons in the cheap seats are forced to use it on a Dell or Gateway running Windows.
With the increase of destructiveness available to sociopaths, any society must abrogate some rights of its citizens. E.g., nobody much minds that we may no longer carry box-cutters onto jetliners.
Oh yeah, equating box-cutters and speach makes a lot of sense. As if some terrorist were going to take over a newspaper by threatening the editorial staff with a vicious tongue lashing and fly the Op-Ed section into a nuclear reactor!
The current administration, and their cowardly lackies, would like you to believe that security can be bought by the sacrifice of civil liberties. Unfortunately (for their argument, at least) there is no proof that this is true. Most civil liberties (gun ownership included) don't materially enhance the ability of a dedicated sociopath to kill hundreds or thousands of people. The loss of civil liberties, however, greatly reduces the ability of the citizenry to resist corrupt and despotic governments, or even to be aware of the corruption and despotism.
moviepig continues:
But, what's the non-partisan litmus test that tells me whether some new abrogation is a net win/necesssity, or instead embodies the authoritarian ill intent of the evil bureaucrat? (...already assuming those are mutually exclusive...)
First, most bureacrats (also known as civil-servants, which are non-partisan positions to begin with) are not evil, they are simply lazy and rude. They've got no great desire to do you harm, but also very little desire to help you out.
Second, given the current domination of all three branches of government (as well as the media) by one party, and given that their agenda is obviously malign to most of the citizenry, any litmus test that identifies the current administration's policy objectives as anything other than pure and good is bound to be labeled a partisan agenda.
Scientists are theorizing that this is mainly due to air pollution - so this trend might reverse if air pollution clears up.
If only air pollution would just clear up by itself, then we'd all be happy. Heaven forbid that anyone should have to actually do anything to clear up pollution. That might actually require thought, effort and sacrifice.
AdTI is a well known conservative front organization consisting of only a half-dozen far-right radicals from the first Bush administration and the mid-nineties Gingrich/DeLay camp. The board of directors includes former members of the Nixon and Ford administrations.
Regardless of their evident funding sources, the group is obviously bankrolled by conservative corporate interests and publishes articles whose only purposes are to slander political oponents, promote conservative politicians and causes, and generally undermine anything that might threaten powerful monied interests (i.e. big corporations) in the U.S. or abroad.
A quick perusal of the articles on their site is enough to determine where their political bias lies, searching for the names of their officers and board members (found on their contact page) on google is simply a formality.
On the subject of biological wheels, I was going point out the Golden Wheel spider of the Mojave desert. Its legs are pretty much all the same length, and I saw a documentary once that showed the thing cartwheeling right down a dune to the bottom.
A wheel is not a wheel without an axel. If you just count things that tumble head or heels (or do cartwheels, backflips, etc.) then I can think of any number of examples: pillbugs and tumbleweeds spring to mind.
There is one example of a rotating shaft in nature, and it's about as ancient an example as you can find: the flagella of certain bacteria is actually a rotating screw, not a whip-like structure. I'm not aware of any other examples of rotating shafts in biological systems, however.
Still, the point is that evolution is not perfect: not all parts of the solution space get well evaluated by the selection function. Just because we know that something is a workable solution to a problem (as wheels are to locomotion) doesn't mean that we will find an implementation in nature. We haven't, yet, found an example of organisms that extract energy from nuclear reactions, for instance.
We probably could detect an abnormal surface temperature on Titan. Remote sensing in the infrared and microwave bands is a pretty mature technology (such techniques have been used for decades on weather satalites), which are just the methods you would want to use to determine the surface temperature on a celestial body.
I'm no planetary geologist, just an interested amature, but my understanding is that most of the minor satelites of the outer planets are predominantly made of light elements: ice and rock with a few volatiles thrown in for good measure. Most of the long-lived radioactive stuff is heavier than iron. I think it's not too likely that the minor satelites of the outer planets have a significant quantity of radioactive elements.
Most of the talk of radiation on the jovian or saturnian moons comes from solar wind, cosmic rays and the Jupiter and Saturns equivalent of the Van-Allen belts, none of which is effectively blocked by the moons thin atmospheres and almost complete lack of magnetic fields. That kind of radiation doesn't create lots of heat but it sure clobbers biological chemistry. In any case, if there were enough radioactive elements on Titan to raise the temperature a significant amount, any possible life-forms would have bigger problems than suffocation.
Again, I don't want to make it sound like life on Titan is impossible, only that it is unlikely given our understanding and definition of 'life'. When I said that any conceivable life-form that could arise on Titan might have to get energy from novel sources, I was thinking specifically of radioactive sources. It's not impossible, but I'm not aware of any similar mechanism that has actually been observed in nature. This is not an airtight argument: wheels work quite nicely, but we have no examples of organisms that evolved wheels instead of legs on Earth.
There are stranger things in Heaven and Earth than are dreamt of in our philosopies.
But it does have a thick atmosphere, which would seem to mean that it has at least enough energy to keep a large amount of matter in a gaseous state. Also, that hypothesized hydrocarbon sea should hold quite a bit of chemical energy, shouldn't it?
No, just the oposite. If you want to have a thick atmosphere on a planet, you want to have very little energy at the surface. The smaller the planet, the lower ambient surface temperature (hence energy at the surface) required to sustain an atmosphere. If the ambient surface temperature is too high the average velocity of a molecule in the atmostphere exceeds the planet's escape velocity and all the atmostpheric gasses boil off into space.
Titan is a very small planet (larger than Earth's moon but smaller than the planet Mars), so the gravitational pull of Titan is somewhere between 1/3 and 1/6 that of the earth. Similarly, the escape velocity from Titan is much lower than the escape velocity for Earth, somewhere between the escape velocities of the moon and mars.
The only reason that Titan has any atmosphere at all is because it is so far from the sun that it is very cold. Primordial gasses that long since boiled off from the Earth's atmostphere (or Mars') are still trapped by Titan's weak gravity.
The point the other posters were trying to make is that decades worth of spectrographic studies of Titan's atmosphere have shown the atmosphere to be chemically neutral. It is thought that the presence of life would result in a chemically active atmosphere (one that could support oxidation, which the life-forms would use as part of their metabolic processes, just as we extract oxygen from the air in order to metabolize sugars, producing carbon-dioxide). We are not saying that the atmosphere must contain oxygen, or that all life must be based on a carbon/oxygen metabolism, only that the atmosphere must present some way for life to extract energy, or the by-products of some kind of metabolism must be evident in the atmosphere.
Since Titan's atmosphere is chemically neutral (mostly methane) there is no latent energy that could power living organisms, hence no organisms (at least, none that are still alive: they would have suffocated or frozen). If you say "But what if they are able to breath methane?" then you need to account for what they would do with the methane. Either you need to burn it (for which you need oxygen) or you need to get the energy from somewhere else (sunlight, for example). There isn't any oxygen in Titan's atmosphere, so burning isn't an option, and Titan is too far from the sun for sunlight to be of much use. That exhausts most of the possibilities.
None of this should be taken as proof that there is no life on Titan, or that life on Titan is impossible: it's just not very likely, given what we expect life to be like. If there were life on Titan, it would have to be very different from what we generally expect: it would have to use very small amounts of energy, and it might have to extract that energy from some very novel sources. We are talking something that is, essentially, indistinguishable from pebbles, rocks and sand. Even then, this life-form would need to have little or no interaction with Titan's atmosphere, otherwise we would see some effect from it's respiration in the atmosphereic chemistry.
This guy, for some reason only vaguely defined, wants to demonstrate something about computer performance and the need (or lack thereof) for optimization. So, rather than use any of a large number of established benchmarks, he pulls a targa graphics file decoder out of his ass. This is the justification he gives:
It gets away from tired old benchmarks involving prime numbers and replaces them with something more concrete and useful. It also involves a lot of data: 576x576 24-bit pixels, for a total of 995,328 bytes. That's enough raw data processing to require performance-oriented coding, and not some pretty but unrealistic approach.
Despite the fact that nobody (other than him) seems to be interested in targa graphics these days, and that the total amount of data involved (less than a megabyte) is miniscule compared to limiting bandwidths in modern computers (ranging from ~100 MB/sec for the disk I/O subsystem, ~500 MB/sec for the main memory, and in the multiple GB/sec for the caches and internal registers).
Then he shows us just what a wonderful benchmark this program is: it is so wonderful that it runs nearly instantaneously! Maybe it's just me, but I like my benchmarks to take a little while to complete, either becuase I don't trust the sub-second accuracy of the system time routines, or because I like to get a reasonable sample of system states contributing the overall performance of the benchmark.
Next, the guy tells us how he used unsatisfactory tools to implement an ill-conceived algorithm and, glory-glory, later fixed his own dumb-ass mistakes!
Finally, he claims that he would not have been able to make the same kinds of algorithmic adjustments if he had implemented in C rather than Erlang, though it is not obvious why it would have been more difficult (and he doesn't give any arguemnt to support his assertion).
From this exercise he concludes that, GASP, optimization is still important!
it is easiest if you just leave the bugs out in the first place.
Failing that, as most of us do, the next best practice is to program defensively: anticipate where problems might occur in your code and include assertion checking and logging (yes, print statements) to illuminate those problem spots. Generally, I include debugging flags on the command line that allow me to control the level of assertion checking and logging (0=no logging, except for errors (the default), 1=log all branches, 2=log branches and variable values, 4=log everything).
This defensive debugging strategy works quite well. First, it forces the programmer to think harder about both the algorithms they are using, and their implementation. I catch about a quarter of my programming errors just in the process of adding assertions. Second, the program will tend to abort as soon as a problem is detected, rather than running on for a couple billion instructions, dumping crap into the output file or database and then either aborting mysteriously on some marginally related condition, or, worse, completing without any reported errors! Finally, when errors are detected, the debugging can usually be done simply by inspecting the soure and following actual execution from the log file.
All debugging comes down to one, fairly simple, idea: show me the program status at crucial points in the flow of control (generally at every branch and return). A few other tools are of some use under special circumstances: Purify, Electric Fence or Valgrind for detecting problems with dynamically allocated memory, or something like ddd for examining linked structures (though I prefer to just write a validation function for my data structures, see my AVL-tree code for an example). Defensive programming works because it answers the important question that usually forces you into using the debugger: what the hell just happened?!? Defensive programming gives you a way to examine program states without invoking an outside tool.
The only class of bugs that doesn't succumb well to this approach is race conditions. Unfortunately, anything that changes the timing of the program (such as stepping instruction-by-instruction in a debugger, or writting log messages out to a disk file) will change the behavior of the race condition. I'd be really interested in tools or techniques that could address this class of bugs.
On top of this I have a set of configuration files archived for several of the above programs (i.e. fvwm2 and NEdit) and general system setup (fstab, XFree86, and bash/sh profile).
Not really true. Almost the first thing the Wright brothers did, after getting a working design, was shop their invention around for military uses.
From this historical profile: The first sustained flight by the Wright brothers was in December of 1903. By the end of 1904 they had improved the initial design into a practical vehicle. In 1905 they began contacting the U.S. Department of War attempting to sell flying machines for military uses. In 1907, the U.S. Army Signal Corps took them up on the offer. The addition of extra capacity (the ability to carry a pilot and a passenger) was added at the explicit request of the Army Signal Corps.
Clearly, while the Wright flyer was developed at private expense, the Wrights were thinking about military applications. At least some of the early development of additional cargo/passenger capacity was funded directly for military purposes.
How about
- movable type
- the printing press
- paper (as well as paper money)
- meritocratic civil service
- 'gaussian' elimination
- so-called 'arabic' numerals and the base-10 number system
- gunpowder and rocketry
- the post office
- restaurants
- umbrellas
- porcelain (also called, simply, 'china' or 'china-ware')
- ketsup
- silk
- rice
- and soybean (including tofu and soy-sauce)
for starters?- The Shape of Things to Come (1936) based on the H.G. Wells novel of the same name.
- The Man in the White Suit (1951) speculative fiction with Sir Alec "Obi Wan" Guinness.
- The Fantastic Planet (1973) Psychadelic animated european sci-fi.
- Wizards (1977) Ralph Bakshi, 'nuff said.
- The Quiet Earth (1985) freaky end-of-the world stuff.
- Bill and Teds Excellent Adventure (1989) <simpsons voice="comic book guy">Best! Time-Travel! Movie! Ever! </simpsons>
- Until the End of the World (1991) with William Hurt and Sam Neill, oddly catches the essence of Gibsonian cyberpunk without the punk.
- Just about anything by Hayao Miyazaki but especially Laputa: Castle in the Sky (1986) or Nausicaä (of the Valley of the Winds) (1984) (but not the god-awful Warriors of the Wind from 1986).
</self_indulgent_obsessive_list_making>I wouldn't call it much of a draw, at least not based on mortality: At the start of the RISC/CISC transition there were somehting like twice as many CISC architectures (~18) in the field than RISCs (~9). At the end of the transition, according to your figures, only two members remain from either camp. That translates to about a 90% mortality rate for the CISCs and only an 80% mortality rate for the RISCs. I'm really not sure how to declare a winning architectural philosophy with those kinds of losses.
yakovlev continues:
I agree entirely that architecture and implementation should not be confused (as the RISC/CISC convergence camp routinely does), but my point was not that the CISCs have become RISCs, but that the use of translation layers is a tacit admission of defeat for the CISC camp.
In support of your draw hypothesis, however, is the fact that the high performance RISCs have had to resort to exactly the same tricks as the CISC crowd, implying that there neither side really won.
M88k was actaully a technical win for Motorola, they were able to produce a complete new architecure in record time partly becuase RISC design was simple enough to design and verify in only a few months (rather than a few years, as had been the case for the M68020 and M68030). The failure of the M88k in the market may have other causes (the 88100 and 88200 had very high pin counts which drove up the cost of building a circuit board for them) than pure architectural matters. Further, parts of the M88k architecture were used in the initial PowerPC devices, so you could claim that some of the M88k (though, I think, not very much) lives on in the PowerPC.
To bring this back on topic (if only slightly), it's a damn shame about Alpha, but not so much, really. All of the RISC architectures looked pretty similar (unlike the CISC ecology before them). If the surviving RISCs are not quite as elegant as Alpha, at least they illustrate the same basic simplicity and orthogonality. The survival of x86 proves that you don't need a perfect architectural design to achieve high performance (at least not on integer code, and not if you have more money than God), so POWER/PowerPC, MIPS, Sparc and ARM should have few difficulties in the years ahead, despite minor architectural flaws. (actually, I'm not too sure about Sparc's continued survival, but I wouldn't shed a tear at it's demise: register windows are an abomination) IBM has already had to employ PPro-like tricks in the recent POWER5/PPC9xx designs in order to get high performance.
That's an odd take on history, unless by 'win' you actually mean: "all but one CISC architecture (Intel x86) eventually capitulated and either exited the field altogether (either adopting a new RISC architecture) or shifted to a niche (usually embedded) market."
A little history lesson for all you folks who either didn't exist or weren't paying attention in early days of the microcomputer revolution: Back in the late-seventies/early-eighties there were a fair number of competing architectures in both the mini- and microcomputer markets.
In the mini-computer world there were:
all of which were CISC designs (relatively few registers, memory-to-memory arithmetic operations, lots of addressing modes, etc.).
In the microcomputer world there were:
all of which were, like the mini-computers of the day on which they were modeled, also CISC variants.
Ever since the mid-seventies, various research groups (at universities and major corporations) had been toying with ways to make architecturally faster computers. (that is, computers whose arrangement of registers and instruction set were inherently fast, rather than just rely on faster transistors and shorter busses for speed increases) A number of these efforts stumbled upon the same set of concepts:
This was dubbed Reduced Instruction Set Computing, or RISC, as a contrast to the contemporary architectural practices, which the RISC camp lumped together under the term Complex Instruction Set Computing, or CISC.
The RISC approach payed off pretty quickly with processors that could easily execute one instruction every clock cycle (CISC architectures tended to take many clock cycles per instruction) and a few commercial products appeared in the mid-eighties from MIPS, Clipper, AMD and IBM. The main complaints against the RISC approach came down to one of
In the end, however, all three arguments proved false (memory capacities followed Moore's law into the stratosphere, most everyone moved to HLL compilers, and the genius level optimizing compilers either didn't materialize or benefitted the RISCs just as much as they did the CISCs).
One by one, all the big players either came around to the RISC way to seeing things:
Answer: It's not.
Apple's real problems started after the ouster of Steve Jobs by his hand-picked protege, former Pepsi executive, John Scully, in 1985. What followed was a decade of mismarketing, management reorganizations, engineering chaos and declining market-share. It was Scully and Spindler that refused to license Mac OS (and that squandered years of profits on aimless persuit of countless technological fantasies). It took a half-dozen reorganizations, three changes of top management, and the loss of more than half of Apple's market before the morons that hijacked the company were finally willing to try licensing. By then it was far too late: Apple no longer had the market position or resources to survive the transition.
Maybe licensing would have been a success in the late eighties or the very early ninties, but, by 1995, it was too little too late. Could licensing work now with Mac OS X? Probably not: Apple still doesn't have the resources to survive such a transition and the advantages of Mac OS X over competing products (including Windows and Linux) is not great enough to ensure success.
On top of this, Steve Jobs has some experience with producing an OS for the IBM-compatible market that suggests support costs would likely bankrupt the company (they barely have the resources to support OS X on just the recent Mac models): in the mid-ninties NeXT ported NeXTSTEP to x86 and sold it for general consumption. The Achilies heel of the strategy was that NeXT could not possibly support the full range of hardware in the IBM-compatible market. Essentially the same barrier stunted the early growth of Windows NT and actually killed IBM's OS/2. Even Microsoft can't muster the required resources: they rely on market position to persuade other manufacturers to do the development and maintenance for free. The problem is, once the third-party manufacturers have invested in developing Window's drivers, they don't have the resources or will to develop much of anything else. It's a classic network effect: once MS had the largest piece of the market (even without having a majority) all the manufacturers jumped on the MS bandwagon.
Overcoming the network effect at this late date is nearly impossible: you would need nearly unlimited resources, and it would still be an uphill battle (as the Linux/FOSS community, which happens to have such resources, is finding out). Apple hasn't got anything close to adequate resources for that fight and they know it. Instead they have cut their liabilities and are choosing their fights very carefully. It may not be a plan for sure fire success, but it's the best plan given the circumstances.
The ciriculum you list above only includes:
- one semester (or is it a quarter?) of physics (you really can't cover the basics -- kinematics, work/power/energy, optics, electricity and magnetism, wave mechanics, radiation and quantum mechanics -- in less than two semesters or three quarters)
- one semester of calculus (and NO coverage of differential equations, linear algebra, numerical analysis or analysis of algorithms)
- only three semesters for any liberal arts or social sciences (World Cultures, Social History and Philosophy). You can't really expect to have an understanding of the world, past or present, with so little material.
- no coverage of the essentials of computer science (language translation a.k.a. compiler design, theory and design of operating systems, data structures and algorithms, computer organization/architecture, etc.) much less any of the really interesting stuff (networking protocols, computer graphics, artificial intelegence, etc.)
The ONLY good point of the entire ciriculum is the multiple semesters of written and spoken communications and logical and critical thinking (which you would be required to take at any reputable college or university as well), but there is so much else missing, as well: Where are art, music, theater and literature? Where is economics? Where is sociology or anthropology? Where is chemistry? Are we to presume that these have been folded into some of the other course? If so, how much coverage do these subjects get?With this ciriculum you would almost be better off watching PBS for two years and reading a few good books! The certifications are certainly worthless (with a bit of dedication and focus you can cram your way through those based on books from your local library) and will be obsolete almost before you graduate. The rest of the ciriculum can't be giving you much more than a brief introduction to the topics: while you may have a small fraction of the appropriate jargon memorized, you certainly don't understand anything of value.
This degree really shouldn't be called a CS degree. I'm even suprised they have been accredited to award bachelors degrees. This sounds more like an associates of computer programming than a BSCS.
Not that I really disagree with your conclusion, but this part of your argument is bullshit. 'Back in the day' making boot disks for MacOS was as easy as pie.
Up until System 7.5 MacOS came on only a half dozen disks, without any kind of copy-protection scheme, and you didn't need an activation key to do the install (you still don't, btw). All you really needed was a Macintosh computer. You could even trim the install disks down to one disk by making a cross-platform system installation and copying it (and a few other files) to a floppy, much like you could (and still can) with MS-DOS. Admittedly, by the late nineties MacOS had ballooned to several dozen floppies (and usually came on a CD-ROM), but by the time that happened you could easily burn a CD from the original.
The real point of, however, is that Macs (the hardware) were expensive and few people were willing to shell out the initial investment to get one. The required initial investment for a PC could be, easily, half to a third that of a Mac (if you were willing to take some risks with no-name parts and cobble it all together yourself. The no-name parts were a bigger risk in the late-eighties and early-nineties than they are today).
Whether anybody actually saved money by buying a PC instead of a Mac is dubious (the faster upgrade cycle on PCs tends to even the playing field by substituting "rents" for "spent-costs") but lots of folks (myself included*) prefer to spend a large amount of money over a long period of time rather than all at once, even if they end up spending more (hence the popularity of credit cards, car leases, rented furniture and layaway plans).
To a first order approximation, the popularity of MS-Windows (and MS-DOS before it) is entirely due to the fact that it ran on cheap, multi-source, readily available hardware. Sure, the bundling plans helped a bit (but they probably weren't really necessary) and the rise of Dell and Gateway had some late term effect, but the initial impetus was from cost and availability.
* I still use Macs, but I usually buy second hand: this is how I manage to spend a lot less on initial investments than if I bought my Macs brand new. I end up spending about the same amount of money, once all the upgrades have been applied (faster CPU, more memory, bigger hard-drive, better video card, etc.) but I get to string it out over six months, which makes my wallet feel fatter along the way.
The Long Now Foundation is aware of the flaws in their web-site and are fixing them right now. Come back in 10,000 years and you'll see.
The sensor array will be a bit tedious to construct (especially if you want more than a trivial number of pixels), the response time may be slow (ISTR some photoresistors haveing recovery times in the multi-second range), and you may need to spend some real cash for peripheral equipment (if you are going to build the thing using a microcontroller, you will need something to burn the MCU's program with, which will run you at least US$100). On the upside, you can build a true greyscale device (if you use a ADC to sample the pixel photodiode/photoresistor pixels).
The resulting camera will be bulky, slow, and have absolutely terrible resolution (we're talking 1 Kpixel, tops), but, if you have a spare month or two, it sounds like a fun project.
here is your "Invisible Toaster"
The solution is obvious:
The costs of the archive are minimal compared to the costs of the editorial and peer-review process, so we can fold those in to submission and membership fees.
There is no need to have cutting-edge scientific papers immediately available for free. Only a small number of people are really interested (and able to understand) in the cutting edge stuff, and most of them can either afford a membership in the relevant journals, or their employer/institution should have a membership.
Once a paper is more than a few years old, it is either outdated or has become part of the canon (or both). These papers should be a matter of public record and open to anyone at no (or low) cost.
This isn't really like the RIAA situation. The sceintific journals aren't making any significant money off of their archives and the total public demand for scientific papers, outside of the existing journal membership, is negligible. The RIAA probably makes a fair fraction of their total profits off of archived material (I'd bet it's at least 20%) and there is little difference between an MP3 file and a CD (both need some intervening technology to allow access).
The sceintific journals, however, make most of their money off of membership (again, I'd bet it's at least 80%) and there is relatively little demand for archived materials. Further, the difference between a PDF and a printed booklet is fairly large: the booklet is accessible as-is, while the PDF needs some intervening technology. There is no reason that the journals should not continue to charge for physical reprints, so they don't lose any money from that direction, and the membership still pays for early access to papers, so the main funding stream is intact.
While I have problems with Microsoft's business practices (monopolistic bastards), my real objection to Windows (in particular, and most other MS products in general) is that it is badly designed, difficult to use and generally tasteless (queue the Steve Jobs quote from Triumph of the Nerds). Doing just about anything using an MS product is so thoroughly, frustratingly difficult and counter-intuitive, that its only similarty to a pleasurable experience lies in the fact that I am present for the ordeal.
With Mac OS (classic) the user interface design is still pretty good and I can suffer through the rough spots. With Linux, though the user interface design tends to suck (with a few exceptions, notable by their quality) at least I have a lot of choices or a shot at hacking together a reasonable work-around. With Mac OS X I get the best of both worlds (and, again, I can suffer through the rough spots).
My computer should do what I tell it to do: nothing more and nothing less. With Classic Mac OS I was able to get pretty close most of the time. With Linux and Mac OS X I get a lot closer: I'm pretty well able to figure out what bits to fiddle to turn things on and off, or what files to read to find out why something went wrong. With MS Windows, even if I can figure out what the damn thing is doing, I am rarely able to find a way to change the behavior.
Early in my computing career I was lucky enough to spend several years working on a platform that made almost every task pleasurable and easy, and I got used to it. I simply see no reason to do or use anything that causes me continuous physical or psychological pain. Microsoft Windows, unfortunately, falls in the category of fingernails-on-a-blackboard, blood-spurting-from-the-eyes, nerve-shriveling, brain-peeling, testicle-crushing pain.
In general, the replacement cycle for Macs is two to three times longer than that for PCs. Part of this difference reflects the difference in price (folks hold onto expensive stuff longer than cheap stuff), and part reflects product quality (Macs don't crap out on you as fast as PCs do). Also, there tends to be an active market in upgrade products for Macs that extends their useful life (and sales of upgrade products don't contribute to a product's market share).
Finally, market share numbers are skewed because people may own or use more than one machine: one at home, one at work, maybe a machine at home just for work stuff, and maybe a laptop. If you do the math you will see that the market share to seat share ratio is roughly proportional to the replacement cycle ratio. While you may be able to safely ignore 3% of the market, could you afford to ignore 10%? What if that 10% were the top 10% that controlled the purchasing decisions for another 40% of the market?
If someone has several machines at home and one of them doesn't work with some home oriented product, even if the other machines work, the person is likely to raise a fuss about the one non-working machine. As a business, you can't really afford to alienate the guy with three PCs and one Mac. Even though he is perfectly able to run your Windows-only product, he may well like the Mac better, or he may just be offended because you are foreclosing a choice that is rightfully his. Under any circumstance, the folks that have several machines are, in general, a more affluent market and you should cater to them (they have more money, which probably means they have better jobs, which probably they have some buying power at work as well as at home)
Even Microsoft is concerned about making products for the Mac. Some of that might be cover for anti-trust lawsuits, but most of it is probably that they know a lucrative market when they see one, and they know that the folks that can afford Macs have lots of money, which probably means that they are important people. If you get them using MS-Office at home, on their Mac, they will be more likely to recommend MS-Office as the standard platform at work, where all the peons in the cheap seats are forced to use it on a Dell or Gateway running Windows.
Oh yeah, equating box-cutters and speach makes a lot of sense. As if some terrorist were going to take over a newspaper by threatening the editorial staff with a vicious tongue lashing and fly the Op-Ed section into a nuclear reactor!
The current administration, and their cowardly lackies, would like you to believe that security can be bought by the sacrifice of civil liberties. Unfortunately (for their argument, at least) there is no proof that this is true. Most civil liberties (gun ownership included) don't materially enhance the ability of a dedicated sociopath to kill hundreds or thousands of people. The loss of civil liberties, however, greatly reduces the ability of the citizenry to resist corrupt and despotic governments, or even to be aware of the corruption and despotism.
moviepig continues:
First, most bureacrats (also known as civil-servants, which are non-partisan positions to begin with) are not evil, they are simply lazy and rude. They've got no great desire to do you harm, but also very little desire to help you out.
Second, given the current domination of all three branches of government (as well as the media) by one party, and given that their agenda is obviously malign to most of the citizenry, any litmus test that identifies the current administration's policy objectives as anything other than pure and good is bound to be labeled a partisan agenda.
If only air pollution would just clear up by itself, then we'd all be happy. Heaven forbid that anyone should have to actually do anything to clear up pollution. That might actually require thought, effort and sacrifice.
Regardless of their evident funding sources, the group is obviously bankrolled by conservative corporate interests and publishes articles whose only purposes are to slander political oponents, promote conservative politicians and causes, and generally undermine anything that might threaten powerful monied interests (i.e. big corporations) in the U.S. or abroad.
A quick perusal of the articles on their site is enough to determine where their political bias lies, searching for the names of their officers and board members (found on their contact page) on google is simply a formality.
A wheel is not a wheel without an axel. If you just count things that tumble head or heels (or do cartwheels, backflips, etc.) then I can think of any number of examples: pillbugs and tumbleweeds spring to mind.
There is one example of a rotating shaft in nature, and it's about as ancient an example as you can find: the flagella of certain bacteria is actually a rotating screw, not a whip-like structure. I'm not aware of any other examples of rotating shafts in biological systems, however.
Still, the point is that evolution is not perfect: not all parts of the solution space get well evaluated by the selection function. Just because we know that something is a workable solution to a problem (as wheels are to locomotion) doesn't mean that we will find an implementation in nature. We haven't, yet, found an example of organisms that extract energy from nuclear reactions, for instance.
I'm no planetary geologist, just an interested amature, but my understanding is that most of the minor satelites of the outer planets are predominantly made of light elements: ice and rock with a few volatiles thrown in for good measure. Most of the long-lived radioactive stuff is heavier than iron. I think it's not too likely that the minor satelites of the outer planets have a significant quantity of radioactive elements.
Most of the talk of radiation on the jovian or saturnian moons comes from solar wind, cosmic rays and the Jupiter and Saturns equivalent of the Van-Allen belts, none of which is effectively blocked by the moons thin atmospheres and almost complete lack of magnetic fields. That kind of radiation doesn't create lots of heat but it sure clobbers biological chemistry. In any case, if there were enough radioactive elements on Titan to raise the temperature a significant amount, any possible life-forms would have bigger problems than suffocation.
Again, I don't want to make it sound like life on Titan is impossible, only that it is unlikely given our understanding and definition of 'life'. When I said that any conceivable life-form that could arise on Titan might have to get energy from novel sources, I was thinking specifically of radioactive sources. It's not impossible, but I'm not aware of any similar mechanism that has actually been observed in nature. This is not an airtight argument: wheels work quite nicely, but we have no examples of organisms that evolved wheels instead of legs on Earth.
There are stranger things in Heaven and Earth than are dreamt of in our philosopies.
No, just the oposite. If you want to have a thick atmosphere on a planet, you want to have very little energy at the surface. The smaller the planet, the lower ambient surface temperature (hence energy at the surface) required to sustain an atmosphere. If the ambient surface temperature is too high the average velocity of a molecule in the atmostphere exceeds the planet's escape velocity and all the atmostpheric gasses boil off into space.
Titan is a very small planet (larger than Earth's moon but smaller than the planet Mars), so the gravitational pull of Titan is somewhere between 1/3 and 1/6 that of the earth. Similarly, the escape velocity from Titan is much lower than the escape velocity for Earth, somewhere between the escape velocities of the moon and mars.
The only reason that Titan has any atmosphere at all is because it is so far from the sun that it is very cold. Primordial gasses that long since boiled off from the Earth's atmostphere (or Mars') are still trapped by Titan's weak gravity.
The point the other posters were trying to make is that decades worth of spectrographic studies of Titan's atmosphere have shown the atmosphere to be chemically neutral. It is thought that the presence of life would result in a chemically active atmosphere (one that could support oxidation, which the life-forms would use as part of their metabolic processes, just as we extract oxygen from the air in order to metabolize sugars, producing carbon-dioxide). We are not saying that the atmosphere must contain oxygen, or that all life must be based on a carbon/oxygen metabolism, only that the atmosphere must present some way for life to extract energy, or the by-products of some kind of metabolism must be evident in the atmosphere.
Since Titan's atmosphere is chemically neutral (mostly methane) there is no latent energy that could power living organisms, hence no organisms (at least, none that are still alive: they would have suffocated or frozen). If you say "But what if they are able to breath methane?" then you need to account for what they would do with the methane. Either you need to burn it (for which you need oxygen) or you need to get the energy from somewhere else (sunlight, for example). There isn't any oxygen in Titan's atmosphere, so burning isn't an option, and Titan is too far from the sun for sunlight to be of much use. That exhausts most of the possibilities.
None of this should be taken as proof that there is no life on Titan, or that life on Titan is impossible: it's just not very likely, given what we expect life to be like. If there were life on Titan, it would have to be very different from what we generally expect: it would have to use very small amounts of energy, and it might have to extract that energy from some very novel sources. We are talking something that is, essentially, indistinguishable from pebbles, rocks and sand. Even then, this life-form would need to have little or no interaction with Titan's atmosphere, otherwise we would see some effect from it's respiration in the atmosphereic chemistry.
Despite the fact that nobody (other than him) seems to be interested in targa graphics these days, and that the total amount of data involved (less than a megabyte) is miniscule compared to limiting bandwidths in modern computers (ranging from ~100 MB/sec for the disk I/O subsystem, ~500 MB/sec for the main memory, and in the multiple GB/sec for the caches and internal registers).
Then he shows us just what a wonderful benchmark this program is: it is so wonderful that it runs nearly instantaneously! Maybe it's just me, but I like my benchmarks to take a little while to complete, either becuase I don't trust the sub-second accuracy of the system time routines, or because I like to get a reasonable sample of system states contributing the overall performance of the benchmark.
Next, the guy tells us how he used unsatisfactory tools to implement an ill-conceived algorithm and, glory-glory, later fixed his own dumb-ass mistakes!
Finally, he claims that he would not have been able to make the same kinds of algorithmic adjustments if he had implemented in C rather than Erlang, though it is not obvious why it would have been more difficult (and he doesn't give any arguemnt to support his assertion).
From this exercise he concludes that, GASP, optimization is still important!
What a senseless waste of skin.
Failing that, as most of us do, the next best practice is to program defensively: anticipate where problems might occur in your code and include assertion checking and logging (yes, print statements) to illuminate those problem spots. Generally, I include debugging flags on the command line that allow me to control the level of assertion checking and logging (0=no logging, except for errors (the default), 1=log all branches, 2=log branches and variable values, 4=log everything).
This defensive debugging strategy works quite well. First, it forces the programmer to think harder about both the algorithms they are using, and their implementation. I catch about a quarter of my programming errors just in the process of adding assertions. Second, the program will tend to abort as soon as a problem is detected, rather than running on for a couple billion instructions, dumping crap into the output file or database and then either aborting mysteriously on some marginally related condition, or, worse, completing without any reported errors! Finally, when errors are detected, the debugging can usually be done simply by inspecting the soure and following actual execution from the log file.
All debugging comes down to one, fairly simple, idea: show me the program status at crucial points in the flow of control (generally at every branch and return). A few other tools are of some use under special circumstances: Purify, Electric Fence or Valgrind for detecting problems with dynamically allocated memory, or something like ddd for examining linked structures (though I prefer to just write a validation function for my data structures, see my AVL-tree code for an example). Defensive programming works because it answers the important question that usually forces you into using the debugger: what the hell just happened?!? Defensive programming gives you a way to examine program states without invoking an outside tool.
The only class of bugs that doesn't succumb well to this approach is race conditions. Unfortunately, anything that changes the timing of the program (such as stepping instruction-by-instruction in a debugger, or writting log messages out to a disk file) will change the behavior of the race condition. I'd be really interested in tools or techniques that could address this class of bugs.
On top of this I have a set of configuration files archived for several of the above programs (i.e. fvwm2 and NEdit) and general system setup (fstab, XFree86, and bash/sh profile).