Domain: mines.edu
Stories and comments across the archive that link to mines.edu.
Comments · 64
-
Re:Missing the logistics
https://www.mines.edu/ - Colorado School of Mines. CU Boulder is also a top notch school.
-
Re:shipping java scientific software for 15 years
Some here.
-
Re:I would argue
Remember the "and" part. Yes, we have abundant energy, but it's not cheap. My ability to get computations per dollar has increased many orders of magnitude in the last 30 years (or 60, but I'm not that old), to the level that my smartphone would have been the fastest computer in the world when I was born. Energy, on the other hand, is within an order of magnitude, the same cost: the real coal price is about the same as in 1800 (see: http://econbus.mines.edu/working-papers/wp201210.pdf and that's externalizing costs of climate change). That may have counted for cheap AND abundant then, but it certainly doesn't now.
-
Re:Why Slackware?
Among other things, Slackware's the only distro I ran into that compiled Seismic Unix out of the box, without the need to install any dependencies. I'll grant that the lack of dependency resolution's kind of irritating, but it's knock-on-wood reliable, stable as hell, usually more current than Debian Stable, and is a terrific base for a workstation or server without a lot of fluff. Slackbuilds is a godsend too, and the community's second-to-none.
-
Re:Add-ins
Not to be a prick, but the Adobe SVG plugin for IE works* with InkSurvey (click the select button) on TabletPCs.
Disclaimer: I work on InkSurvey.
* Okay, it isn't supported on Vista, at all. And will most likely not be supported for IE 8.
You know on second thought...nevermind.
-
How To Be A Programmer
"How to be a Programmer: A Short, Comprehensive, and Personal Summary" by Robert L. Read is an excellent and wide ranging paper that the author released with a GNU FDL licence. Here's the pdf http://samizdat.mines.edu/howto/HowToBeAProgrammer.pdf
-
Half of Houston knows how to do this
The seismic data processing has been dealing with this computational problem since the 50's. There are scads of different approaches used by all the geophysical data processing companies in processing seismic data for oil exploration. You can check out some free software supplied by the Colorado School of Mine at their Center for Wave Phenomena that does precisely what you want.
-
Golden, CO?
GOLDEN, Colorado -- Architectural and engineering teams have begun shaping the look and feel of New Mexico's Spaceport America, taking the wraps off new images today that showcase the curb appeal of the sprawling main terminal and hangar at the futuristic facility.
What does this have to do with Golden? Granted, the Colorado School of Mines has the Center for Space Resources - but the article doesn't reference them or say anything about their involvement in the project. Does anyone know? -
Re:interesting...
A couple of guys are fairly sure they worked out how to make these things 7 or 8 years ago.
Here's an article -
That is not entirely correct
While later Japanese swords were made by forging different metals together, very early swords were not--they were forged from a solid piece of steel. The steel was beaten flat and folded over itself several times, but it was not to impart mechanical qualities--it was to mix the carbon evenly throughout the impure metal. (Later this was accomplished through better steel manufacturing, so the folding was replaced by the multi-part welding of of different alloys as described.)
Once the sword was shaped it was quenched. However since they wanted different properties on the edge vs. the spine, they needed to cool the different parts at different rates. This was accomplished by painting the sword with varying thicknesses of clay--thick on the back for a slow quench (resulting in soft but springy steel) and thin on the edge for a fast quench (resulting in hard but brittle martensite). This differential cooling also caused some of the curvature. It also allowed a sword maker to impart a "signature" of sorts, by painting patterns into the clay. This manifests itself in the subtle wavy reflective pattern seen along the cutting edge of many katanas, called the hamon.
Finally to address the GP, the original pattern that is now called Damascus had nothing to do with folding the blade. If you look at an original Damascus blade the pattern is not alligned to the edge but runs throughout the blade. It has more to do with the steel composition and how it was forged.
Sources for more info:
http://en.wikipedia.org/w/index.php?title=Katana&o ldid=69002423
http://www.mines.edu/Academic/met/pe/faculty/ eberhart/classes/down_loads/damascus.pdf (PDF) -
Re:Old News
Thanks for the pointer. The SA article is online here.
-
Damascus secret rediscovered!
Scientific American published the secret of Damascus steel back in 2000:
http://www.mines.edu/Academic/met/pe/faculty/eberh art/classes/down_loads/damascus.pdf
As with most things in material science, the "secret" came down to the impurities.
The article concludes that there was never a "lost technique", it was merely a fluke that the source of their iron contained just the right type of impurities in the right amounts, to result in the incredible Damascus steel. Once that source was exhausted, the "technique" no longer seemed to work, and the "secret" was henceforth considered lost. -
Re:getting excercise is not that tough....
I had mandatory athletics at my engineering university (minimum 4 semesters, or participate in a varsity sport). What really baffled me was I was C-team/JV level in high school, but everyone wanted me on their team in college.
I thought it was a good thing for everyone, but it really opened my eyes to how badly out of shape people were elsewhere. I guess I'm just used to how Colorado normally is, with the lowest obesity rate by far of any state in the US. -
Mission to the 8th planet?
In many ways it's a pity this is not a Uranus Probe - the headlines would have been fantastic. However we've been there with Voyager 2, so that'll probably have to wait until somone finds a way of mining the helium 3 [PDF] in Uranus's atmosphere.
Seriously though: this mission is great stuff, this pixelized ball is the best picture we've got of Pluto, and it would have been a shame if we couldn't spare a few million dollars to improve it, and get some data on the Kuiper Belt at the same time.
-
Re:ANSI C
I agree wholeheartedly regarding C.
If you find C a bit too hard when you are starting, learn Pascal. I like to think of it as "C-lite", if you will. I learned Pascal before C. When I took my first C course, I was having a very easy time compared with my classmates.
If, after learning Pascal, you still find C too hard even after making an earnest effort, then this is an indicator that maybe programming is not for you. You will always encounter difficult problems; you have to work through them if you wanna do this. Do not misread me! If you can write C but just don't like it, that's ok, just try another language. Maybe try something less difficult like coldfusion or VB. But if you truly just don't get it and not for a lack of effort, well...you know.
That takes care of the coding, technical aspects, etc. I have been a programmer (professionally, as in for a living!) for six years now, and I can tell you that while you obviously have to be able to code, there are lots of lessons that you are not taught in school. A good many of these topics are found in this fabulous essay which covers topics from debugging techniques to how to work with a team to (perhaps MOST importantly) how to fight schedule pressure. I do have to take exception to the bit that states that a programmer should work 60 hours a week (I typically do 40 and no more). But in general, I wish I had found this many years ago. I'd read it soon.
Most of all, make sure you enjoy it.
-
Re:My personal suggested change for CS undergrad
I forgot to mention that the school that does this is the Colorado School of Mines, and it's formally called a Technical Area of Special Interest.
-
Re:I agree
1) While most programs today should probably not be written in C, I think it's still an important language to learn and understand as a beginner programmer. Most applications today use C at some level. If you understand it, you get a chance to understand how the application/framework/library you are using works which make you able to use it better. See Joel Spolski's "Back to Basics" for more on this.
3) More on this in Robert L. Read's How to be a Programmer.
-
Re:dodge! parry!
Sure, here's a lot of links for you to read over
:) .
Some links are by obviously biased parties (for example, NCGA is the National Corn Growers Association). Others are not. This is just a start, of course - I gathered these in about three minutes of searching. Again, if you can find a single "net negative" study done by anyone - university, corn-industry, government, environmental group, anyone really - that didn't have Pimental and his bad data involved, please let me know, because I've never found such a study. -
Re:When's a private company going to the moon?
I think your calculations are a bit off. LEO is about 83% of the energy needed to get to the moon. Here's a link to some data (particulary good graphical presentation) -- you want to look at page 6 and beyond:
http://www.mines.edu/research/srr/Reference%20Libr ary/LDEM_Draft4-updated.pdfThis is why establishing a firm foothold in LEO (ISS) is pretty important.
(Cue demachina rant)
-
Re:Interesting...
Let me respond to my own post, since so many people are hyped up about this. I will clarify what I meant (and why I stated that I'm not familiar with wireless technology), and then let people decide.
First, in my defense: Read Griffiths' Electrodynamics, chapters 2 and/or 3. Pay special attention to the points where he states that at "low frequencies"--which for our problem means things below the THz range--a cavity surrounded by a conductor is not influenced by electrical fields from outside, but that the outside world is NOT shielded by ANY net charge within the cavity. Similarly, see http://samizdat.mines.edu/jackson/main.pdf or http://courses.science.fau.edu/~rjordan/busters_22 /answers_1.htm#Ex_9
Now, in regards to people's arguments about microwave ovens and so forth: Yes, of course they're shielded, both with the (usually unbroken) metal casing around the sides and top of the oven, and the mesh or perforated metal plate on the door. And, yes, they produce roughly the same (dipole) radiation patterns as a wireless transmitter of some sort. The fact that the shielding isn't perfect (breaks in it, sometimes not thick enough for the [very low, admittedly] frequency of the radiation emitted) leads to interference, often on wireless networks. If the shielding were better (as, for example, a nice conducting shield all around the thing, of thick enough material that skin depths don't come into play), then there would be NO escaping radiation, just as people say a Faraday cage should work. All of this I agree to. My statement that "any radiation produced by the thing inside the conductive shield will get out just fine" is WRONG, and I'm glad that people jumped on it.
My mistake was using the word ANY. Dipole radiation (such as from an antenna) or quadrupole radiation (crossed antennae, e.g.) and higher moment radiations should all be blocked from escaping from a perfect faraday cage. But monopole radiation, as from a net charge of some type inside the shield WILL escape, there's no getting around that. And I'm pretty sure (correct me on this if I'm wrong; I'm sure people will!) that most, if not all, electrical appliances which draw their power from an external source (i.e. wires, not a battery) will have, at a given moment, a net charge reflecting their states. This is IF these things are not perfectly grounded (as all appliances should be!). If this is the case, then the shield, although effective at knocking down the dipole and higher moment fields, couldn't do anything about monopole fields.
Can someone get a matched pair of walkie talkies, wrap one of them well in aluminum foil, and try this out? -
Why not Uranus
While there may be a fair amount of He3 on the moon, extracting it is dangerous and very labour intensive. On the other hand, I have read that it would be far easier to collect He3 from Uranus atmosphere, even though the distance is significantly greater. Collection from Uranus could be totally automated too. Another source could be Saturn. See here.
-
Re:If this is true.
Yes, they typically employ a Radon transorm during the inversion. Seismology is very much like a CAT scan w.r.t. methodology. The problem described in the paper (http://acoustics.mines.edu/preprints/vanwijklevs
h in04.pdf) is that the multiple scattering caused by small heterogenieties near the surface of an object can cause the same sort of signal (to within error) as a multiply layer object. The radon transfer will have just as much of a problem as any other inverse transform simply because the matrix (data) is "bad". That is, the solution is non-unique and without some other a priori knowledge, we wouldn't be able to distinguish different forward models. -
Re:Ah... good old hoaxes...
-
M. K. Hubbert Center
The website of the M. K. Hubbert Center for Petroleum Supply Studies has back issues of its newsletters online. Nothing newer than 2002, but perhaps some interesting reading.
-
Re:Python and Perl...Like this one? http://awk.geht.net:81/README.html
AWKhttpd - HTTPD written in AWK This is another "fun" HTTPD and it's written in the unix tool language AWK. This is (still) an Alpha prerelease.
There are httpd's written in pretty much every language -- although I don't think BrainF*ck has been used yet. And Malbolge certainly hasn't.
-
Re:That's just the front end of the TBMOne thing though, how the heck do they get the rings through the tunnel? In pieces?
Yes. Each ring is made of segments. In newer sections of the London Underground, you can see metal ring segments bolted together, and it's clear how this all works. TBMs typically use six to ten segments per ring, and have a big hydraulic arm to lift them into position. The segments travel up to the rear of the TBM on narrow gauge railroad tracks, which are also used to remove the dirt.
If anybody really cares, see Segmental Concrete Lining Design and Installation, which will tell you more about this process than you ever wanted to know.
-
Re:Spreadsheets are the worst sort of hack program
If we had to design the worst possible "programming language" we'd be wise to look at spreadsheets for an example of what to include.
I dunno, Malbolge does pretty well, even a spreadsheet would be hard pressed to beat it for sheer unuseability. -
Re:C is Dead
man.. I'm so sorry, it seems you are going to Malbolge
-
Re:Article...
RTFA, it's in Malbolge.
-
Re:Not much bias there, eh?Agreed. I might be considered a "prospector", but we use airborne geophysics, geochemistry, and computer programs such as GIS and for other data processing tasks (modern exploration generates a huge amount of data). Here is an article about the role of organisms in bringing metals to the user (you). After all, if we don't mine it, we have to grow it. And I don't see agriculture growing raw materials for computers. Some more info here: "Two thousand years ago, the Romans noticed that the runoff from the tailings pile of one of their copper mines in Spain was blue with copper salts. They found ways to recover the leached copper without worrying about how the metal entered solution. Forty years ago, someone finally figured that out, and blamed it on bacteria.
The tiny rod-shaped bacterium known as Thiobacillus ferrooxidans gets energy by oxidizing some inorganic materials such as sulfide-containing minerals. As the bacteria metabolize, they release acid and an oxidizing solution of ferric ions, which can wash metals right out of ore. The copper industry quickly and enthusiastically put this discovery to work.
Biological heap leaching is an inexpensive way to extract the metal from low-grade ores where copper is bound in a sulfide matrix. As the microbes chew up the ore, which has been treated with sulfuric acid to encourage them, the copper is released and concentrated in a solution that flows into a catch basin. The metal is extracted, and the acid solution is recycled. According to the journal Science, from which I gathered this information, fully 25 percent of the world's copper--worth about $1 billion annually--comes from such bioprocessing.
Though the busy bacteria may some day help extract copper from Alaskan ores, it's a sure bet they'll first see employment here as gold bugs. Elsewhere, T. ferrooxidans is pretreating gold-bearing ores to the satisfaction of mining companies
... to their considerable profit. Low-grade gold ore often contains the metal bound up with sulfides, and typically requires roasting or pressure oxidation to burn off the sulfides before the gold can be extracted with cyanide. Using bacteria does away with the need for the costly cooking treatments, and in at least one instance has improved the rate of gold recovery from 70 to 95 percent.Now, I have to live here, too. I don't want my work area looking like a moonscape, so we actively reclaim the ground as we mine it. As a result, not only do we make a very small impact while we are mining, but we also leave behind habitat for wildlife (example: Moose love shallow ponds, as do migratory birds-they also love the grasses we plant to stabilize the soil). We also reclaim areas left by others. It is unfortunate that the miner has been vilified by the popular press.
-
Re:Who's at fault here, really?
Actually you are wrong !!!
In 1983 an Air Canada flight ran out of fuel mid-flight. Disaster was averted due to a long-enough disused runway being available.
Its now know as the "Gimli Glider" named after the abandoned air-force base where it landed. It was luck that one of the pilots was a glider pilot. Apart from the complete-cock up, it showed some fantastic flying and emergency management. -
For another perspectiveMany folks are a little earlier in their careers and are simply wondering how to develop as programmers in the context of existing companies.
Check out Robert Read's How to be a Programmer for some very concise insights to that effect.
Then re-read Sink's article in about 6 years.
-
Re:Programming languages
Nonono... Trust me. You don't know perl backwards... Simply because perl doesn't allow such thing. In Perl, instructions are run sequentially, going forward only.
If you really want to impress, you must say you know Befunge backwards. In case you don't know, Befunge is a languge that allows the program counter to move not only forwards and backwards but also sideways. You can see some sample programs here. -
I'm surprised no one has suggested...Malbolge. Who ever said programming was supposed to be easy or fun?
-
Re:c/c++ joke -Segwaying to Programming...
-
Nooooo! Heeelp!Jesus H. Christ, another frenzy of mental masturbation. And now, the biggest obstacle is merely legal language! Examine the following two statements:
- CurrentCost = CheapThirdWorldLabor + SlowCheapTransportation + CostOfThirdWorldInfrastructure + CostOfThirdWorldInsurance
- SpaceMiningCost = CostOfSpaceTransport + CostOfTerrestrialSpaceComplex + CostOfExpensiveLabor + CostOfAstronautTraining + CostOfExtraterrestrialInfrastructure + CostOfExtraterrestrialInsurance
Folks, this is pure unadulterated bullshit decorated with fancy trappings. If the Space Resources Roundtable really believes it is commercially viable to bring in mineral ore from the moon, the asteroids, or Mars, then they have pretty much shown us all their cards. Worse if they propose to build the refining infrastructure at an extraterrestrial location (add this comparison to the above two statements). Only a fool could possibly be concerned about their pompous opinions.
-
...and in other news
'Perl 5.8.1 was released today...'
'Really? That language invended by Larry Brick?'
'...Larry Wall...'
'Is it still used? It seems archaic since it doesn't scale well and is hard to read. Even it's reputation for getting things done is well ... overated'
'Yeah...sad but true. It's used on lots of web/internet type things...'
'Reckon Perl 'programmers' -haha i made a joke- get kicks out of writing obscure code that only they understand cos it means they're smarter than the rest'
'Well all programmers get a kick like that sometimes....'
'Maybe they should try Malbolge instead. They'd be tripping afterwards...' -
Re:C# in X-code
I'm similarly disgusted at the omission of BrainFuck... come on Apple, what are you playing at? We developers demand support for more languages.
-
Nerds are different
This paper : "How to be a programmer, a short, comprehensive and personal summary" (PDF) is a good start to answer your question. After debugging techniques, there are wonderful chapters like "how to talk to non engineers", "how to deal with difficult people", how to tell people what they don't want to hear". The author has a very sound view of dev work (more than net/sysadmin) and his concise advice is worth the read.
WHat you're dealing with is only mis-communication. One interesting point is to try to understand how non-techs see us, especially when they ask us something impossible or overcostly. We cherish this nerd culture, but it makes our interaction with the rest of the world somehow diffucult. Our individual value increases if we are also able to implement the NormalPerson interface. -
Too late
But of course it is all far too late. If realistic predictions are anything to go by, world oil production will peak in the next decade and then begin to fall at about 2 percent per year soon afterwards. Even if the US started building wind turbines (the most promising renewable energy source) at a rate of 20,000 a year right now, there would still be major problems. As it is, it looks like everyone is going to carry on as usual until the energy shortages begin, at which point there will not be enough spare energy available to undertake a massive renewable energy building program. Given that more than 4 billion of the worlds 6 billion people are only alive because of the energy subsidy of fossil fuels, which allows chemical fertilizers and mechanised agriculture, the resulting resource wars and famines are likely to be very bad.
-
Re:I Second This
This is commonly called a KVM (Keyboard-Video-Mouse). When I was a student at CSM they installed this kind of system in all the labs in the new tech building. The teacher's ability to control all the student's desktop machines (or spy on them) should be incentive enough to prevent them from doing malicious/unproductive things.
Of course, I never got to take a class using one of these labs, but I did get to play with the systems when they were first installed at any rate. -
Re:Source code?
Even more likely for it to be written in Malbolge.
;-) -
Source code?
Something this evil must be written in INTERCAL!
-
Depends. Enjoy sanity?
Anything not tech-related (sci-fi excluded, of course).
Seriously, books with pictures of obscure animals on the cover, done in a faux-woodprint style, count as what we call "reference books".
When you have a specific question about how to use a particular construct in Malbolge, you pick up the book with the woodcut of the naked molerat(tm) and turn to the chapter on painless suicide methods.
You don't just READ such a book from cover-to-cover, a feat only slightly less painful than Vogon poetry.
Which brings me to my real suggestion - Reread the entire works of Douglas Adams. Most folks know the HHgttG series, but not the joys of "Dirk Gently's Holsitic detective agency" or "The Long Dark Teatime of the Soul". Great books in their own rights. -
Re:Damn�I'm not a demolitions expert, but I do have Google at my disposal.
Course Note 01 This paper is for homework purposes only OXYGEN BALANCE (OB) IN EXPLOSIVE MATERIALS Faisal G. Hashem August 12, 2001 Heat of Formation The general formula for explosives is CxHyNwOz. Explosive reactions are oxidation reactions. More generally, the oxidizer does not have to be oxygen; it can be an oxidizing salt such as Nitrate or Perchlorate.
Etc. (http://www.mines.edu/Academic/mining/csm_isee/cs
m _ee_course_notes/cn_mngn498s01_01.htm) -
EROI
Often omitted in the discussion of alternative or modified energy sources is the concept of energy return on investment (EROI). It's defined as the ratio of energy provided for useful work divided by the energy required to extract and process the fuel source.
If one expends energy overprocessesing the fuel, the net energy contributed to the system is reduced. For example, it's been published that ethanol requires 70% more energy to produce than it provides.
Given that the global economic system exists almost exclusively on the ever-diminishing stored potential energy of the earth, it seems that reducing the EROI of an energy source should be avoided.
Michael. -
Start them off with a challenge!
-
Oh, please!
Writing hello world in C as opposed to BASIC is `artistic'? Maybe if it were written in Malbolge it would be, but C? Next thing you know we'll be calling assembly an ideal language for user extension and writing kernels in Objective-COBOL!
-
Malbolge is the language of the future?
Sumarry: In order to duplicate the features of a biological organism Jaron Lanier finds desirable, you'd end up with a programming language maybe something like Lisp, but a lot like Malbolge. Malbolge, the programming language of the future, is a free download!
There's something about the way complexity builds up in nature so that if you have a small change, it results in sufficiently small results; it's possible to have incremental evolution.
Firstly, that simply isn't true at all; as someone who understands both computer programing and genetics (my degrees are in Biochemistry and Computer Science) I can say with confidence that this is all hogwash.
The same is true of most of what supposedly imports biological concepts into computing. Neural nets and genetic algorithms are very useful tools, and they have been inspired by what we see in nature, but in terms of how they really function, under what circumstances they function, what sorts of problems they are suited for solving - a neural net is nothing like a real nervous system.
As a biologist I put it this way - a neural net is a very poor model of a nervous system. Genetic algorithms are utterly dreadful models for natural selection.
So, in this (utterly stupid) comparison between computer source code and living genomes, Jaron Lanier asserts that a living organism is somehow fault tolerant while a program is not. Let me disassemble this assertion.
Firstly, a living organism is far larger than any single computer program, even windows. Living organism == computer is far more appropo. The Genome (analogous to source code) of a living organism runs up to the billions of bits; the proteome (the concentrations and structures of the proteins that do the actual work of the living organism) would map, even in a single celled organism, to some vastly larger and more complex structure, terrabytes of data at LEAST. You can say, "that's his point!" But this level of complexity is CONSTRUCTED FROM SMALLER PIECES; individual genes. We can duplicate the complexity of a living organism in a computer without duplicating the complexity of a living organism within a single program. If each program can be as complex as an individual gene (thousands of bytes? Easy!) and produce executable code as complex as an individual protein (this is actually harder, but I believe it is possible) than your program construct can mimic the level of complexity of a biological organism.
So, how IS it that all of this complexity (a human organism) is bug free, while a computer program is not?
Firstly, the human organism is NOT "bug free." There are all sorts of inputs (chemicals) that cause aberrant behavior of every sort. Bugs happen with some random frequency, anyway. Over time, even if nothing else did, the accumulated errors in your biological processes would kill you.
Secondly, to the extent that the human organism is, in some abstract sense, more fault tolerant than a computer program, recall that the human organism is NOT designed (warning: science in progress. All creationists are asked to leave the room.) BILLIONS OF YEARS of trial and error have gone into the selection of the protein sequences that give us such problem free use (or not!) every day of our lives. With a development cycle that long, even Windows could be bugfree.
Thirdly, there is another consequence to our having evolved (rather than having been designed) - inefficient use of memory. Most of the "junk DNA" probably serves some purpose, but brevity is barely a consideration at all (in a larger organism, such as you are I. In fast replicating organisms, such as bacteria or yeast, there is far less genetic packaging.) We are extremely tolerant to mutations in these regions of junk DNA - there are analagous regions in a computer memory were substitutions are tolerated; bit flips in the picture of autumn leaves displayed as my desktop would not crash my machine - in fact, this image is a bitmap, I wouldn't even NOTICE the changes. If we applied natural selection to our computer programs, some regions of high-fault tolerance code might eventually evolve into something functional; my desktop picture might evolve into awk (Okay, now I'm being silly.)
In something which has been DESIGNED, you short-circuit all of that. The code of your computer program is not filler, pictures or stuffing; it doesn't, it CAN'T share the properties of these dispensible DNA sequences - it isn't dispensible! There are a number of single-nucleotide substitutions (equivalent to flipping a single bit) that will kill you stone dead! Your computer program is not less fault tolerant than the core sequences of the ribosome, the structure which you use to convert nucleic acid sequences (your genome) into protein sequences (proteome.)
Now, it is true, there are other places in your DNA where a bitflip will alter some chemical constant in a non-fatal (possibly beneficial) fashion. Might we not duplicate this property in a programming language? A computer language with this property would have certain desirable properties, if you wanted your computer program to evolve toward a certain function through a series of bitflips. Indeed, there are computer languages which have this property, to some degree or another. LISP does. Do you know what programming language really EXEMPLIFIES this property? Malbolge.
Who wants to program in Malbolge? Raise your hands, kids! A protein does one job, instead of another, because it has affinity for one substrate/chemical, instead of another. In a computer, you'd duplicate this sort of thing by fiddling with constants, and not by changing the source code at all. Small, low order changes in these constants would have incremental effects on what your program actually did.
Malbolge duplicates this property very nicely.
To me, this complacency about bugs is a dark cloud over all programming work.
Personally, I believe that this problem is fundamentally solved, and has been for some time. Heap on more degrees of abstraction. If I wanted to write a program that would take 1 billion lines of C-Code, I'd write a higher level language, and write in that, instead. -
Malbolge is the language of the future?
Sumarry: In order to duplicate the features of a biological organism Jaron Lanier finds desirable, you'd end up with a programming language maybe something like Lisp, but a lot like Malbolge. Malbolge, the programming language of the future, is a free download!
There's something about the way complexity builds up in nature so that if you have a small change, it results in sufficiently small results; it's possible to have incremental evolution.
Firstly, that simply isn't true at all; as someone who understands both computer programing and genetics (my degrees are in Biochemistry and Computer Science) I can say with confidence that this is all hogwash.
The same is true of most of what supposedly imports biological concepts into computing. Neural nets and genetic algorithms are very useful tools, and they have been inspired by what we see in nature, but in terms of how they really function, under what circumstances they function, what sorts of problems they are suited for solving - a neural net is nothing like a real nervous system.
As a biologist I put it this way - a neural net is a very poor model of a nervous system. Genetic algorithms are utterly dreadful models for natural selection.
So, in this (utterly stupid) comparison between computer source code and living genomes, Jaron Lanier asserts that a living organism is somehow fault tolerant while a program is not. Let me disassemble this assertion.
Firstly, a living organism is far larger than any single computer program, even windows. Living organism == computer is far more appropo. The Genome (analogous to source code) of a living organism runs up to the billions of bits; the proteome (the concentrations and structures of the proteins that do the actual work of the living organism) would map, even in a single celled organism, to some vastly larger and more complex structure, terrabytes of data at LEAST. You can say, "that's his point!" But this level of complexity is CONSTRUCTED FROM SMALLER PIECES; individual genes. We can duplicate the complexity of a living organism in a computer without duplicating the complexity of a living organism within a single program. If each program can be as complex as an individual gene (thousands of bytes? Easy!) and produce executable code as complex as an individual protein (this is actually harder, but I believe it is possible) than your program construct can mimic the level of complexity of a biological organism.
So, how IS it that all of this complexity (a human organism) is bug free, while a computer program is not?
Firstly, the human organism is NOT "bug free." There are all sorts of inputs (chemicals) that cause aberrant behavior of every sort. Bugs happen with some random frequency, anyway. Over time, even if nothing else did, the accumulated errors in your biological processes would kill you.
Secondly, to the extent that the human organism is, in some abstract sense, more fault tolerant than a computer program, recall that the human organism is NOT designed (warning: science in progress. All creationists are asked to leave the room.) BILLIONS OF YEARS of trial and error have gone into the selection of the protein sequences that give us such problem free use (or not!) every day of our lives. With a development cycle that long, even Windows could be bugfree.
Thirdly, there is another consequence to our having evolved (rather than having been designed) - inefficient use of memory. Most of the "junk DNA" probably serves some purpose, but brevity is barely a consideration at all (in a larger organism, such as you are I. In fast replicating organisms, such as bacteria or yeast, there is far less genetic packaging.) We are extremely tolerant to mutations in these regions of junk DNA - there are analagous regions in a computer memory were substitutions are tolerated; bit flips in the picture of autumn leaves displayed as my desktop would not crash my machine - in fact, this image is a bitmap, I wouldn't even NOTICE the changes. If we applied natural selection to our computer programs, some regions of high-fault tolerance code might eventually evolve into something functional; my desktop picture might evolve into awk (Okay, now I'm being silly.)
In something which has been DESIGNED, you short-circuit all of that. The code of your computer program is not filler, pictures or stuffing; it doesn't, it CAN'T share the properties of these dispensible DNA sequences - it isn't dispensible! There are a number of single-nucleotide substitutions (equivalent to flipping a single bit) that will kill you stone dead! Your computer program is not less fault tolerant than the core sequences of the ribosome, the structure which you use to convert nucleic acid sequences (your genome) into protein sequences (proteome.)
Now, it is true, there are other places in your DNA where a bitflip will alter some chemical constant in a non-fatal (possibly beneficial) fashion. Might we not duplicate this property in a programming language? A computer language with this property would have certain desirable properties, if you wanted your computer program to evolve toward a certain function through a series of bitflips. Indeed, there are computer languages which have this property, to some degree or another. LISP does. Do you know what programming language really EXEMPLIFIES this property? Malbolge.
Who wants to program in Malbolge? Raise your hands, kids! A protein does one job, instead of another, because it has affinity for one substrate/chemical, instead of another. In a computer, you'd duplicate this sort of thing by fiddling with constants, and not by changing the source code at all. Small, low order changes in these constants would have incremental effects on what your program actually did.
Malbolge duplicates this property very nicely.
To me, this complacency about bugs is a dark cloud over all programming work.
Personally, I believe that this problem is fundamentally solved, and has been for some time. Heap on more degrees of abstraction. If I wanted to write a program that would take 1 billion lines of C-Code, I'd write a higher level language, and write in that, instead.