It has been some time since I took a departure from political and social commentary, diving back into the topics that should interest us... cool advances in science, engineering art and the general notion of problem solving.
Which reminds me to remind you to include the book Worldchanging: A User's Guide for the 21st Century in your holiday shopping. A very attractive volume that is beautiful in its own right. But also the most dynamically modernist volume in the can-do spirit of the old Whole Earth Catalog.
And see a more specialized (but excellent) tome: Contact with Alien Civilizations: Our Hopes and Fears about Encountering Extraterrestrials, by Michael Michaud.
Of course, if you'd like to shake up that Star Wars fan of yours, there is always Star Wars on Trial...
Speaking of forward-looking notions, the New Scientist Magazine ran a sort of Futurological Congress, soliciting brief 50 year forecasts from many (though obviously not all!) of the visionary seers out there.
An education related breakthrough: An on-line course in the literature of science fiction, organized with a historical perspective as a parallel experience to the Intensive English Institute on the Teaching of Science Fiction, now is posted on the K.U. Continuing Education website. The course is a project of AboutSF and was created by Thomas Seay, the AboutSF coordinator. Note that one can view the syllabus and the lessons, etc., by clicking on the appropriate links on the left side. Jim James Gunn Center for the Study of Science Fiction ku.edu/~sfcenter "Let's save the world through science fiction" (alt address: http://tinyurl.com/yl2kkg)
More about using SF to teach. (Note, I helped to establish AboutSF and was one of its founding donors.) If any of you out there would like to help in an international effort to help kids (and science fiction) by using SF as a stimulating tool for waking up young minds, see the Reading for the Future Project.
Other do-gooder endeavors:
Have a look at the Natural Capital Institute, that began in 2002 as an offshoot of Paul Hawken’s work and writings, in particular his books Ecology of Commerce and Natural Capitalism. Shades of EARTH...
See also my article: Proxy Activism for ways you can easily make a difference...
------ SOME SNIPPETS ----
Birds, bees, bats and other species that pollinate North American plant life are losing population. This "demonstrably downward" trend could damage dozens of commercially important crops, since three-quarters of all flowering plants depend on pollinators for fertilization.
Researchers say that the combined use of alternative energies for which we already have reliable technology "could replace all fossil fuel power plants." And that the use of hydrogen for vehicle fuel is a bad idea in most cases - as using electricity directly in vehicles (stored in batteries) rather than to generate hydrogen is three times cheaper.
Silicon Valley firms are driving a sizzling $11 billion worldwide market in solar energy, part of a rapidly expanding alternative-energy economy.
New LED lamps capable of 70 lumens per watt may cut our light-based electrical bill ultimately by more than 90 percent. And Toyota has said that replacing a car's lights with LEDs would be equivalent to getting an extra 20 percent mileage through reducing vehicle weight.
A team found a ‘brain gene’ that appears to have entered the human lineage about 1.1 million years ago, and that has a modern form, or allele, that appeared about 37,000 years ago -- right before Neanderthals became extinct. Leading to the notion that modern Homo sapiens and so-called Neanderthals interbred at some point when they lived side by side in Europe. Neanderthals may have given the modern humans who replaced them a priceless gift -- a gene that helped them develop superior brains. An interesting turnaround!
And my "subvocal" from EARTH is on its way: A new device being created by researchers at Carnegie Mellon University uses electrodes attached to the neck and face to detect the movements that occur as a person silently mouths words and phrases. Using this data, a computer can work out the sounds being formed and then build these sounds up into words. The system is then able to translate.
--- AND FINALLY, SOME RESULTS OF MY “BASIC RANT” ---
Salon Magazine cover story “Why Johnny Can’t Code” and was among the few who seem to have actually “got it”... that even obsolete BASIC is better than nothing... which is what millions of kids now have as a programming language on their so-called “computers” which can no longer compute!. (How did we ever let that come to pass? And why has no one commented on it till now?)
Many students (like my own kids) still have textbooks with “Try It In Basic” exercises... that zero percent of them are even able to try! Make that one or two percent... who have savvy professionals or super-nerds to help them download and decipher obscure interpreters. A travesty, when it would be so easy to just create a simple web site that...
Well, to see how easy, see Strom’s QUITE BASIC web site, which he created quickly, in direct response to my article. Wonderfully intuitive and easy to use, it is designed to ease any student through copying down a few lines of a BASIC program and not only trying it out (with a handy graphics “canvas”) but also STEP through the program, watching variables change, one line at a time! (Something I suggested in the Salon article.) Allowing the brighter students to mentally follow along, envisioning each and every incremental stage and KNOWING that it’s all about algorithms and human-made commands, not magic.
Now if only a million high school math and physics teachers could be told; with this web site, all those BASIC demos and exercises in the older texts are no longer useless! (I’m as proud of this as I am of my recent patent... and it may do more good, it seems.)
Interested in seeing another fine effort - somewhat differently done - toward a similar goal? BASIC-256 is an easy to use version of BASIC designed to teach young children the basics of computer programming. It uses traditional control structures like gosub, for/next, and goto, which helps kids easily see how program flow-control works. It has a built-in graphics mode which lets them draw pictures on screen in minutes, and a set of detailed, easy-to-follow tutorials that introduce programming concepts through fun exercises.
I frankly cannot tell which approach is better for the purpose at hand. Which is to re-establish BASIC as a “lingua franca” that’s available to everybody, every person who has a modern computer with web access.
Again, the purpose is to restore a very simple universality that textbook publishers can rely upon - as they did for a decade - well enough to assign little illustrations in class, and know that all students can then type in a few lines (perhaps the only lines of code that some of them will ever type!) ... and thereby get a little taste of moving a pixel by the power of math ... and by math alone.
Any person who has done that, even once, is less afraid of the wizard, standing behind the curtain. He or she has seen the algorithm and made the computer obey. At least once.
There's a lot more stocked up... stay tuned...
Concerning the reduction of pollinating insects... there's been a massive die-off of honey bees that has gone on for several decades. At this point in time, it's estimated that 99.9% of all wild honeybees have died off, leaving only domesticated bees.
The culprit? Mites and diseases spread across the country from commercial bee keepers who store thousands of bee hives on flatbed tractor trailers. These "mobile pollinators" would be hired by an orchard to show up for a weekend, release their bees, and let them pollinate the orchard before moving on.
The bees there picked up some diseases and mites that were local to those areas, and dropped off others. Further, the trucks would move on after a weekend, often stranding hundreds of bees at an orchard which would then often move to other hives (and often then killed by the other hive as a foreign bee, unless of course they were carrying a load of pollen and nectar). This allowed disease organisms to get sufficient numbers in a region to truly harm those local hives.
Beekeepers have been on the lookout for new varieties of bees that are resistant to mites and the diseases in hopes of being able to eliminate the diseases and parasites that devastate their own hives. Undoubtedly some of those bees would eventually escape (during a swarming when a new queen is hatched) and reestablish wild hives. But even as bees manage to evolve beyond the diseases and parasites devastating them, so too are the diseases and parasites, and their "carriers" in the flatbed beekeepers going across the country pollinating orchards.
Rob H., Tangents Reviews
LEDs are more efficient than incandescent and are even pushing flourescents. This will reduce our peak power AC needs in summer as well. Figure on four or five kilowatts of AC demand for every kilowatt of lighting.
There's actually another way to use BASIC on most computers, which hardly anyone knows about and everyone should.
-Go into Microsoft Word or Excel
-In the new window that comes up, pick "Module" from the Insert menu
-Start programming (press F5 to run your program, just like in the old MS-QBASIC)
This is Visual Basic for Applications, kind of a bastard hybrid of BASIC and C++ that has the extra feature of being able to interact with Word and Excel. Compared to oldschool BASIC, the main differences are
-You have to start your program with a Sub or Function statement
-You don't need to use line numbers, the instructions will execute in the order that they're written
-Replace "print", "input", and "plot" statements with "msgbox", "inputbox", and "addshape" methods.
It's not as useful for running code examples from old textbooks as the Quite Basic website, since you have to do some translation to make the code work. But if you -- or your kids -- just want to mess around in BASIC, VBA is probably better, because it's a language that's still in use, so it feels more like real programming and less like a toy sandbox. The VBA editor is a little clunky, but pretty good, and it helps you get the syntax right for the different commands. Also, you can find lots uses for your VBA programs. (For example, any functions you write using the VBA editor in Excel can be used in your Excel worksheet, which can be quite handy if none of the built-in functions do what you want.)
Oops. It seems that http://tinyurl.com/yl2kkg requires a login of some kind. You might want to correct the link in your post.
David: One of the terrible plagues now affecting our ecosystems actually involves frogs (and toads too)
Currently, the world stock of frogs is rapidly shrinking from some sort of virus.
Get real... VBA/microSquish basic for KIDS?
Jeez cobol was My first language, (and I wrote a 1,000 line program in wordbasic 6) but I STILL avoid that VBA interface.
The idea here is to turn kids ON to programming, not to permanently SCAR them for life.
Why dont you just suggest having them install VISTA on their new systems themselves.
Sorry, got carried away.
Read my attempt at poem a day here:
Markb in nJ
I have to agree: I'm a VB6 jockey, I've done things in VB6 which deeply impress people when they hear about them, (interactive 3D graphics model builders, an implementation of the marching cubes algorithm which I ended up not using, some other things) and even I don't care for and don't want anyone near the VBA interface.
Plus, are we to assume that everyone has a copy of MS Office, in order to pull this off?
Dr. Brin, I can tell that you're not a computer programmer. The fact that you want people to learn to program with goto proves it. There was a debate on this topic that started with Go To Statement Considered Harmful. That debate's been over for what, 30 years now?
I'd be happy with kids learning to program with lots of languages. Python, Perl, Smalltalk, Scheme, are all freely available on your choice of operating system with decent libraries. As long as they're not encouraged to use goto.
Alas, Ben, you must have not read or understood the article in question. I advise people not to assume that the other person is the one who has misunderstood... until you can paraphrase that person and prove that you grasped his point.
Please. Politely and respectfully, I ask that you paraphrase what it is that I am trying to say in "Why Johnny Can't Code."
I will give you a hint. It is not (as I have said repeatedly) a song in praise of the virtues of BASIC!
See: It took 12 surgeons, six operating rooms and five donors to pull it off, but five desperate strangers simultaneously received new organs in what hospital officials Monday described as the first-ever quintuple kidney transplant. And follow the reasoning!
Actually, several groups have started sequencing Neanderthal DNA, and from the preliminary results, it looks like there was no Neanderthal contribution to modern humans. There may have been some mixing going the other way, that needs more study. Also, there are major differences between Neanderthal and sapiens brain structure. They expect full sequencing within a couple of years, so we will eventually know more, but right now it looks like no Neanderthals in our family tree. Story here.
A personal note on BASIC, I loved programming in BASIC as a kid. The problem solving involved in making the programs work the I wanted them to fascinated me. And I think it raised my IQ a bit :-)
I remember vividly how exited I was every time typed in the "RUN" command to see what the lines of code would produce. Then the frustration when it didn't work the way I wanted it to and the tedious work of revising the code. But I loved it. I could sit for hours and be fascinated by the cause and effect of typing in code and seeing the results. It was creative. Whish kids today could have that experience.
This is like scratching a mozzie bite...
Groklaw was recently praising Squeak (although mainly to show up Microsoft, I think). I must say that the One Laptop Per Child machine looks rather neat.
(meanwhile, in some remote field, a thacker pursues his ancient arts.)
I'm glad at least one person on the Internet is capable of reading and comprehending an essay, instead of forming their opinion based on the Slashdot comments crowding upon it like fleas on feline flesh. Go, Nikko Strom!
(I should modestly boast at this point that I too got out of the essay the message it was supposed to contain, perhaps because I'd been wondering the same thing — though never taking the trouble to write my thoughts down, let alone think matters through to any grand conclusions! It all started years ago, when I installed Windows 95 and noticed there wasn't a "Q" icon on the desktop to launch QBasic.)
Our home is moving in the direction of LED illumination. Skylights function quite well during the day; we hope to have solid-state illumination soon to dispel the night. My friend Mike is already illuminating half the place and the courtyard outside with a 2.5-meter, multicolor LED tower, programmed with "cycle", "pulse-fade" and "epilepsy" modes.
Three comments in one, really.
One is in reply to whoever wrote:
"There's actually another way to use BASIC on most computers, which hardly anyone knows about and everyone should.
-Go into Microsoft Word or Excel..."
Unfortunately, even this doesn't ship with most PCs any more. Most come with a timebombed demo of Office, rather than Office proper, so if this is usable it's only for a short time, unless you happen to be rather wealthy or need Office for other purposes anyway. I don't know whether OpenOffice has a similar functionality, but there's the "extra thing to download and install" barrier to entry again, vs. it coming with the computer, free, to work as long as you own the computer.
Two, can LED lights provide a decently broad spectrum of light, suitable for normal illumination? There's a reason LEDs are traditionally used for indicator lights and other whosits, after all. Two reasons, really. Low luminosity and the light being monochromatic. I guess they have the luminosity problem licked. I suppose a red, a green, and a blue high-luminosity LED combine into a decent approximation of a bright, white light, but is even that really ideal as compared to the more natural spectrum of sunlight or an incandescent bulb with a solar-like thermal spectrum? (Fluorescents also have spectrum issues, of course.)
Three, why was I blocked from posting comments for two hours between 10:30 and 12:30 Eastern time? This was done without anything resembling an adequate explanation (let alone due process). The site refused to even show me the comment entry form (presumably so I wouldn't enter a lengthy comment only to have it eaten and experience massive data loss). I fired off an email to firstname.lastname@example.org as their unhelpful error page didn't even explain what they thought I might have done wrong, or what I should do to fix it, or who to contact -- it said something about notifying an engineer automatically, but nothing of the sort seemed to happen. After this "automatic notification" the problem persisted for at least an additional full hour (much longer than it takes to hit Ctrl+Z or whatever they'd hit to undo the last thing they changed), but after I sent an email manually it was back to normal within half that time...
anonymous, always assume the explanation that helps you live longer, with lower blood pressure.
I know of no blacking. I certainly ordered none, at anybody. In fact, I have physically removed only four postings, by two people, in the entire history of this blog.
Correction! The excellent new book about SETI by Michael Michaud - Contact with Alien Civilizations: Our Hopes and Fears about Encountering Extraterrestrials, was by error linked to the Worldchanging book!
The real URL is:
Again... both make great holiday gifts.
Not quite a decade ago, I read a programming book which, shockingly, used a GOTO statement in one of its examples. (Unless my memory is even less reliable than normal, the book was probably McKinney's Hardcore Visual Basic, published 1997.) The author pointed out that catching runtime errors in your program is an inherently unstructured task, so an unstructured feature like GOTO fits right in. Naturally, this becomes a moot point when your language has decent exception handling, like the try/except blocks in Python. Still, it's worth pointing out that other than its use in error trapping, the GOTO statement had pretty much been bred out of the language by the QBasic days. The books I learned out of (circa 1992) didn't use it for anything besides error trapping, for example. In other words, GOTO has been dead since before the Web was alive!
Which is why I consider attempts to raise its specter to haunt modern discussions of programming to be a straw man or a red herring, take your pick of imagery.
You are insulting your own writing ability by continually accusing people of not understanding your "Johnny" essay.
You need to follow your own advice and not assume that everyone has misunderstood you.
Those who you think aren't 'getting it' either didn't bother to read the article - or read it, easily understood the point, and are trying to tell you something they consider to be important.
The message you're not hearing, is : "We agree that universal access to programming is important - so important that it must be something better than BASIC."
You may agree or disagree with that sentiment - but please stop assuming we're too stupid to understand you.
Forgetting for a moment the merits or demerits of the Basic language, most implementations have one thing that's absolutely golden for learning, especially from a standing start: an interpreter with a read-eval-print loop.
This means that simple playing around with programming constructs is easy. Want to know how a loop works? Type one in and watch! No compiling ("what's a compiler?"), no build files, no boilerplate main method syntax, just type in a loop.
Of course there are a number of languages that commonly have such implementations: Lisp, CAML, Logo, Perl, Python, Ruby, even Smalltalk if you count typing into a workspace and selecting the "Doit" menu option. So we can have lots of arguments about which languages are best. But for my money, the only ones that make sense for learning basic programming are the ones that make it dead easy to create and execute simple program fragments.
David, the issue about Basic is that there isn't a standard implementation on most PC's anymore, as you pointed out. Given that we have to spend some effort to get something out there, we should make sure it's a language that makes learning modern programming fairly easy, so there's an easy path from learning the basics to being able to do more complex things, or moving on to Computer Science education or professional computing.
TwinBeam, I humbly accept your rebuke and apologize...
...though in fact, I cannot recall ever saying this to anyone who showed a scintilla of paraphrasing of the article's point about universal access of a common language for casual students.
As I recall, in every single case that I did say "read the #$$%# article", it was a person ranting at me about the faults of BASIC...
... or about the much nicer features of some other language. Without even glancingly addressing the issue of how they suggest we make that other language universally turnkey available in an instantly usable way to all kids who have a home computer and a textbook exercise... right now.
Universal enough to encourage text publishers and teachers to go back to assigning little introductory exercises, instead of assuming ( as they do now) that millions of kids who "have a computer" simply do not have ... a... computer.
Folks with a plan to do that with some language other than Basic are welcome to show how this can be done. Indeed, so far, the correlation is perfect. Those who addressed that issue were never, ever told "read the article" by me.
But, yes, some of those who have howled at me "You idiot Brin -BASIC SUCKS!" did get chided by me.
Sorry about that. Mea culpa.
Regarding GOTO and its merits and demerits, I note simply that when all these high falutin' languages get compiled or interpreted down into machine code...
...what you have left is GOTO statements, sometimes combined with a test in some processor register against locations in memory.
As such, significant portions of significant programs use GOTO in various languages to do the same things which computer science teachers tell us all to use "for", "while", "do", "loop", and "until".
Without understanding that, you don't know your tools. People should learn and use GOTO when it makes sense (largely in operating system coding, or when you want to hand-optimize your code) to use GOTO.
Mr Brin, about the trouble of basic and so on:
Thanks Rob, for pointing out that GOTO was removed in order to idiot-proof large programs, NOT because it was illogical for small scale demos by kids who either will never program again or who will quickly move on to better languages.
I in fact used plenty of GOTOs in my doctoral research on comets (Fortran) without ever blowing up the Computer Center.
But that misses the point. And so (again, utterly) does "anonymous".
I was not JUST asking for a "universal language" but one that is transparently easy to access, type in algorithms that look similar on the line to what they mean on paper, and see those algorithms implement in a clear and pedagogically useful way.
Say you get a big grant to create a web site that will be as rapidly usable as Strom's QUITEBASIC... and to get the word out to millions. THEN GREAT! I wish you luck! I will sing praises!
Meanwhile, Strom has quickly and transparently and cheaply restored the capability of millions of kids to trivially and without fuss simply DO IT!
And all that is needed. All. All that is needed right now is to get the word out about it.
After all the screeching and howling I have endured over this article (far worse than when I discussed politics or religion!) this one result has made the whole ordeal worthwhile.
That's enough for me.
Russ Daggatt is back warning us that the monsters may become even worse, now that their political hash is in the fire. Especially with the prospect of subpoenas (at last!) on the horizon:
Daggatt: These people really, truly are insane. The same Joshua Muravchik (a “resident scholar” at the American Enterprise Institute) quoted above has an op-ed piece in the LA Times titled simply and honestly “Bomb Iran”. Among the insights of this “scholar”:
“WE MUST bomb Iran . …
… wouldn't such a U.S. air attack on Iran inflame global anti-Americanism? Wouldn't Iran retaliate in Iraq or by terrorism? Yes, probably. That is the price we would pay. But the alternative is worse. …
"…Ahmadinejad wants to be the new Lenin. Force is the only thing that can stop him.”
This crazy man, who is getting ink in Foreign Policy and the op-ed page of the LA Times, doesn’t even seem to be aware that the president of Iran, far from being a dictator, isn’t even particularly powerful in that government. As Scott Ritter notes in the New Republic (“The Case for Engagement”):
“For all the attention the Western media give to Ahmadinejad's foreign policy pronouncements, the reality is that his effective influence is limited to domestic issues. The citizens of Tehran I spoke with, from every walk of life, understood this and were genuinely perplexed as to why we in the West treat Ahmadinejad as if he were a genuine head of state.
"The man has no real power," a former Revolutionary Guard member told me. "The true power in Iran resides with the Supreme Leader." The real authority is indeed the Ayatollah Sayeed Ali Khamenei, successor to the Ayatollah Ruhollah Khomeini.
Then Daggatt goes on to make I point that I have pushed for years:
More than two-thirds of the population of Iran is under 30. Unlike North Korea or Iraq under Saddam, the people of Iran are not isolated from the rest of the world. Iranian youth, in particular, are quite Westernized. Before Bush deemed Iran part of the “Axis of Evil” (a watershed event in the relations between the US and Iran ) reformers were on the ascendancy in Iran .
After teetering for years and almost toppling before liberalizing pressure, the hardliners have benefited from Bush’s blunders and belligerence (even in our country, people tilt toward the hardliners when they feel threatened by external forces). Unless we do more really stupid things, like bombing Iran , it is probably just a matter of time before the clerics lose power.
As the Washington Post reported last June:
“Just after the lightning takeover of Baghdad by U.S. forces three years ago, an unusual two-page document spewed out of a fax machine at the Near East bureau of the State Department. It was a proposal from Iran for a broad dialogue with the United States , and the fax suggested everything was on the table -- including full cooperation on nuclear programs, acceptance of Israel and the termination of Iranian support for Palestinian militant groups.
"But top Bush administration officials, convinced the Iranian government was on the verge of collapse, belittled the initiative. Instead, they formally complained to the Swiss ambassador who had sent the fax with a cover letter certifying it as a genuine proposal supported by key power centers in Iran , former administration officials said. …"
Think of it this way. Bush will have squandered thousands of American lives and a trillion dollars, destroying US military readiness in the process, in order to take out Iran's two main rivals, the Taliban in Afghanistan and Saddam in Iraq. AND HE GOT NOTHING FROM IRAN IN RETURN!
In addition to making Iran the dominant power in the region, he managed to undermine the reformers in that country. AND actually made our relationship with Iran WORSE. Now THAT is diplomatic skill!
But isn't there hope that the "mature" branch of the Bush family trust is about to "take the keys away" from W and his maniacal buddies? Isn't that what we hope for from the Baker Commission? Daggatt continues:
If we had wanted our country to be run by James Baker, we had our chance. … Baker is essentially a political operative. His place in history is Florida 2000, where he secured the presidency for George W. Bush. Reporters were awed by his brilliance and ruthlessness. History may be less admiring of his willingness to make inconsistent arguments and to lie with a straight face.
One retort that particularly caught my eye started with "Dr. Brin, I can tell you're not a computer programmer," and went on to excoriate the venereal proliferation of those horrid goto statements.
Dr. Brin is not a programmer, he's a physicist. Programmers are the folks who cause 50% of all large software projects to be abandoned before completion. Physicists are the people who build stuff that works. Remember the atom bomb? Remember nuclear power plants. Physicists like us don't abandon large projects -- we make 'em work. So the fact that Dr. Brin is not a programmer counts as a huge plus in his favor. Programmers are the guys who can't figure out how to roll around a date from 1999 to 2000. Physicists are the guys who sent us to the moon. More to the point, the erstwhile programmer completely missed the whole focus of Dr. Brin's suggestion -- namely, that ANY programming language is better than none...and, secondarily, that the best (in programming languages) is the enemy of the good.
And now, as Monty Python were wont to say, for something completely different...
Intriguing article on libertarianism here
If anyone could induce me to follow the siren song of libertarianism, it would surely be Dr. Brin with his elegant and intelligent exposition of libertarian ideals. Alas, like most of the rest of the human race, I find libertarianism unsatisfying -- but not for the usual reasons. Libertarianism seems like hte exact inverse of communism (another high-sounding set of ideals that crashed and burned when it collided with reality). Of the classic troika of utopian political ideals (liberty, equality, justice) it seems striking that we have political philosophies embodying the first two (communism = equality; libertarianism = liberty) but no political philosophy embodying the third.
What about a political philosophy that, instead of advocating maximum equality or maximum librety for all citizens, advocated maximum fairness?
That's the political philosophy I'd like. Alas, there's no such political philosophy. It has no name. Doesn't exist. No one seems ever to espoused it.
The interesting thing about fairness is that you can have too much equality (Soviet Union) and too much liberty (Somalia)...but you can never have too much fairness. I wonder what a society run under a political philosophy of maximizing fairness would look like...?
Dear Dr. Brin,
We certainly need to focus on new achievements. Otherwise, money will keep being pared from research and development, and we, as a culture, would stagnate. That specter is horrific.
Science fiction should be taught in schools. Again, it is one of the few types of literature that focuses on development into the future. That and non-fiction.
One of the problems with that is that fuel cells are heavy, while hydrogen is light. Then again, fuel cells might be just a little less hazardous... I'm not sure, because two professors here at Hopkins are working on fuel-cell technologies. One of them developed nanocell technologies with platinum to maximize efficiency of catalysis. His lecture was fascinating.
... Interesting new developments.
I learned to use a computer through HTML. After that, I learned C++. Actually, a lot of lab instrumentation is programmed in BASIC, like PCR machines.
Another Worldchanging plug:
Every week, the Worldchanging website has a roundup in sustainable transportation. It covers a wide variety of alternative fuels and techniques.
Entry for 11/19
Prometheus Institute has some very interesting things to say. With some parallels to my own critiques of Ayn Rand. I wonder if they are aware of the efforts at www.reformtheLP.org
My own libertarian notions are described at: http://www.davidbrin.com/libertarianarticle1.html
See also my “questionnaire on ideology.”
My aims and beliefs may have some overlap with other libertarians in some ways. But like many other aspects of my philosophy, most are rooted in pragmatism. I believe that free people can achieve vastly more than controlled people. And we have so very much to accomplish!
Markets and democracy and science have been successful. They work precisely by the mechanism that I see in my version of libertarianism... the pragmatic liberation of constrained competition... competition that is TOTALLY unleashed in ways that are deemed productive/fair... and hampered in ways that we call “cheating.” The very traits that Adam Smith called for.
NO doctrine or pure dogma can define fair vs cheating, since predators will cleverly find ways to abuse every social innovation. Only openness and agile, resilient accountability will catch these new cheating modes and correct them in real time.
Hence - dogmatic libertarians are utter fools. They believe that yattering pure essences can constrain clever predators? Yattering hypnotic essences is a key METHOD used by predators! To limit the opportunities of others and maximize their own, without having to compete on an open playing field at all.
(BTW, someone mentioned Somalia. Please note, there are TWO Somalias! The southern half, surrounding the capital, gets 100% of the press. Violent anarchy and despair. Nobody ever mentions Somaliland in the north, which has been mostly at peace for a decade! And yet, nobody ever even mentions the possibility of healing this horrid sore by bolstering Somaliland and helping it to grow!
(Why? The darker suspicion is that powers in the world WANT there to be a place that has no government or law at all. There are reports of titanic levels of illegal toxic waste dumping... Alas.)
I in fact used plenty of GOTOs in my doctoral research on comets (Fortran) without ever blowing up the Computer Center.
But that misses the point.
Oh, hardly. My position on your essay is known (go back a few threads). I wasn't responding to you directly.
I was responding to the insane notion that "goto" is a forbidden higher language construct. It's exactly as insane as the totalitarianism in grammar teaching which has produced abominations like "He's going with Jackie and I" in common speech today. (Or, to quote O'Reilly's appalling "Those rights were given to We the People." OUCH)
The rule is there to prevent stack overflows and unknown register states when an instruction pointer is changed to a line of code inside an uninitialized subroutine. If you jump out of a subroutine with a GOTO, you can cause your process to crash in unpredictable ways.
Likely, the computer center didn't blow because like many scientific FORTRAN programs (I maintain three large ones of that nature) the GOTO is never used in a way that would overflow the stack.
If you know what you're doing, go for it.
Woah. I just got way yoo technical.
Mr Brin, the reason you got so much flak about the programming language compared to religion, science and politic is the same reason why in the movie "Full Monty", if you've seen it, the workers watching the music video where the singer dress as a welder start criticizing her welding techniques.
I played around a little with the Quite Basic site and had a blast! Right away, I could think of three programs totally worth implementing:
1. Objects orbiting each other in Newtonian gravity. I threw together a MATLAB proglet to do this a while back, as feasibility testing for a plan my friends and I had to introduce computer simulation as a viable teaching tool for introductory physics. Our logic went something like this: there's a theorem in classical mechanics which we MIT students typically learned in our first semester of physics, if we took the "I'm not afraid of math" course option. The theorem says that an inverse-square law of gravity gives orbits in the form of conic sections. Now, that sounds like a horribly arbitrary statement. If you were in Newton's position trying to invent the science, how would you guess that that particular statement was the one to invest time into proving? Well, one way to motivate the proof is to calculate an orbit numerically: "Hey, my planet is moving around my sun in a curve that looks a lot like an ellipse!" Is it exactly an ellipse? Now we have a goal for our analytic work.
2. Molecular dynamics — pointlike atoms bouncing around inside a box, again in accord with Newton's laws. Variations on this problem can introduce several key topics in statistical mechanics.
3. ELIZA. Come on, you know you want to see it happen!
I will probably be wasting some time in the not-too-distant future playing with these ideas on the Quite Basic site. I highly encourage others to beat me to the punch.
1. Orbits ... Yes, yes, yes -- good idea!
2. Molecular dynamics ... ditto. I once saw an animation of Maxwell's Demon written in Klingon.
3. ELIZA. Come on, you know you want to see it happen!
Wow! Cool concepts.
Though it remains ideal to keep the number of lines of code as small as possible.
I'm sure some of you have old favorites... trim little demo programs from your old Commodore days,
Oh, the Prometheus Institute probably enjoys the implied dig at the Prometheus Award... for libertarian science fiction... which is often (tho not always) dominated by the indignation-junkie mystics of the movement like L. Niel Smith.
For a random cool scientific bit, I just finished reading this:
It uses the studies of functional MRI to probe and explain some of the different ways that people relate to one another. It seems to imply that there is a very strong, hardwired tendency that, like gravity, keeps our societies from flying apart.
It also seems to be showing that people were "built" to work much better in a In This Together world than a You're On Your Own world. There's not too much talk of the priests and the monopolists that are always trying to ruin our grand experiment, but the author does mention a few of the emotional roads that lead to this type of sabotage.
I happily learned BASIC as a kid, and it led me well into all the other languages that I have learned since.
But I would put in a plug for some of the work that John Maeda, designer, artist and MIT researcher. The latest version of a programming tool he came up with is at
Processing is... "an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production."
David Brin wrote:
Wow! Cool concepts.
Though it remains ideal to keep the number of lines of code as small as possible.
Naturally. The bulk of ELIZA's keyword-response set would almost certainly make it the longest of the three, probably too long to be conveniently entered by hand, but it's just such a classic!
Just so everyone knows where I'm headed with this. . . .
I view Quite BASIC as a stepping stone. With a tool of this sort, we might be able to redirect the disputation from Slashdot inanity to a productive discussion. I suspect it'll prove easier to get the real point across if we have a web application in hand which we can wave, saying, "This is what a simple tool can do. This is what students aren't getting anymore, and for no damn good reason." Language purists and indignation addicts will complain about recreating line-number BASIC — "This isn't 1980 anymore, you fools!" — but if we can show the tool at work, enough people might clue in upon the right idea.
BASIC is the beginning of this crazy little idea, but it can't be the end. With Strom's nifty website, we can get collective brainpower working over all those textbook examples. I'll bet you my autographed copy of Earth that they aren't the best programs possible to realize their intended goals! Let's get the CITOKATE wheel rolling, rework what we've been given and prove this isn't about nostalgia. When this is done, we'll be able to judge what actually matters about those example programs, and maybe even conclude something important about what language features are best for such applications.
Then, what about integrating computers better into the school curriculum overall? I mentioned earlier two ideas for teaching physics concepts with relatively simple simulations which complement (but should not replace) the classic chalk-and-blackboard approach. We could carry this much farther. Why, for example, aren't students using computers to analyze data they collect in chem lab? And what will these more advanced applications require in terms of data processing abilities, sophisticated language features and so forth? Having familiarized ourselves with the examples provided until now, we should be able to move in quite interesting directions.
And now, cautionary words:
I once took a class taught by design professor John Maeda; it was not, on the whole, an illuminating experience. By slavishly following rarefied principles of graphic art, he and his "Aesthetics + Computation Group" produced programming languages (DBN and NYLON) which ran the gamut from obtuse to unusable. It is very difficult to enshrine a standard of elegance in your programming language and still produce a tool anyone can use! I can only hope that "Processing" turns out better.
Besides, the solution to this problem is not to introduce new languages willy-nilly, touting the advantages of this over that. That is certainly the tempting course — display our hacker prowess by inventing an elegant language for children's use, and flaunt our generosity by suavely making it free — but that is not a productive course. We need a language as widely available as textbooks themselves, with completely transparent access, not a Babel of digital tongues each spoken only by a tiny cadre of ideologues.
In other words, we need something like Quite BASIC, made better as we move forward. CITOKATE.
Dear Dr. Brin,
I respectfully disagree with your assessment that we should analyze data from chemistry experiments with computers. As a collegiate chemistry student myself, and as an AP chemistry tutor, I think it is more instructive for the student to analyze the data by hand first. This allows the student to understand the underlying principles behind the numbers that come out, rather than just treating it as a black-box output. In most high school and lower-level chemistry, biology, and physics laboratory experiments, the number of data points collected makes it feasible to calculate numbers by hand, or possibly with a calculator.
Post a Comment