- Tom Moore's Machine Phase blog -- Tom is now working for Nanorex, and doing a lot of pretty, brilliant nanomachine design work.
- Damian Allis's Somewhereville blog -- Damian is Nanorex's consulting quantum chemist, and a fascinating guy in general. He doesn't play a scientist on TV, he's an actual real scientist.
- Gina "Nanogirl" Miller's blog needs no introduction for those who've been around nanotech discussions for a while
- Blog of the Center for Responsible Nanotechnology
- Howard Lovy's NanoBot blog
- Foresight Institute's Nanodot blog
- Rocky Rawstern's blog
- A list of nanotech blogs
- An explanatory website (not a blog per se) by one of the authors of "Nanotechnology for Dummies"
- A blog about nanocrystals, though I'm not sure what differentiates a nanocrystal from any other crystal
- The Singularity Institute is primarily about artificial intelligence rather than nanotechnology but there is a lot of common ground.
- The IEEE has an automation blog about present-day industrial robots.
- Another present-day robot blog, this one with more of a hobbyist spin.
- Emeka Okafor's Timbuktu Chronicles blog is not about nanotechnology or robotics, it's about technologies that help and empower people in developing regions of the world. When not blogging, Okafor sometimes plays basketball, unless it's another guy with the same name.
Tinkering with various electronics and software things, and a bit of math and science in general.
Thursday, December 20, 2007
Other great nanotech (and related) blogs
I guess if I say "other great" nanotech blogs, the implication is that my blog is itself great, but many of these listed are much better than mine. The people doing them put in more work and more thought. Not all of these are relevant to long-term nanotech, but anyway here's the list.
Tuesday, December 11, 2007
The Roadmap Report is published!
The report is now available in PDF format. If you are a Digg subscriber, PLEASE vote up the digg story about it so it reaches the front page. Publicizing the report is a step toward a rational and benign development policy for advanced nanotechnology. I have the privilege of knowing a few of the people who've been involved with the Roadmap project, and they are the kind of people you hope will be involved: very bright, and very ethical.
I haven't gotten far in reading the report yet myself. It's rather thick, in two sections of about 200 pages each. Don't be put off by that, as the language is quite accessible, even in the more technical second half.
I haven't gotten far in reading the report yet myself. It's rather thick, in two sections of about 200 pages each. Don't be put off by that, as the language is quite accessible, even in the more technical second half.
Monday, October 22, 2007
Brilliant collection of hobby electronics videos
http://dev.emcelettronica.com/ETUBE
This is a collection of YouTube videos about different topics in hobby electronics. I've only just discovered this and haven't yet checked out many of the videos, but it's great to see that so many have been posted. It seems to mostly be two guys working for Make Magazine.
This is a collection of YouTube videos about different topics in hobby electronics. I've only just discovered this and haven't yet checked out many of the videos, but it's great to see that so many have been posted. It seems to mostly be two guys working for Make Magazine.
Friday, October 19, 2007
Other hobby electronics resources
Blogs
- Hobby Electronics Blog - lots of great PIC18F information here
- Alberto Ricci Bitti
- AVRFreaks
- Circuit Cellar Magazine
- EE476 Homepage (Cornell U) great microcontroller project ideas
- FPGA 4 Fun
- Kronos Robotics
- Microcontrollers Electronics Hobby
- Nuts and Volts Magazine
- Semifluid.com (interesing PIC projects)
- Spark Fun Electronics
Thursday, October 18, 2007
It's a good time to be an electronics hobbyist
OurPCB is a Chinese PCB fab outfit with an initial cost of $57.00 and a subsequent charge of around 15 to 25 cents per square inch for 2-layer boards and 50 to 75 cents per square inch for 4-layer boards. The per-square-inch costs shrink for bigger orders. So PCB fab and assembly is cheap. What do I do with this? Obviously there is a huge opportunity to do something.
PCBs and assembly (even surface mount assembly) are no longer a significant obstacle to complex electronic projects. The next obstacle is that I'm lazy about learning. To some extent that can be addressed by prioritizing what to learn - if USB does all the communication I need, I can ignore PCI.
We could have an electronics hobbyist renaissance as good as the 1970s, starting with a series of articles in Make magazine. O'Reilly would probably love it.
The economics works better for big boards than for small boards. I can envision scalable VLIW array processors spanning several FPGAs, or maybe tightly networked DSPs or GPUs. I like the look of the Analog Devices ADSP-31362. I could review some of the molecular modeling code out there (Amber, CHARMM, Gamess, Gaussian, Gromacs, NAMD) and build an scalable architecture optimized for molecular modeling, large-scale simulations, and other interesting things.
Building a supercomputer, that's so unimaginative. I don't have any interesting problems to feed it. I suppose I could build it and let other hobbyists figure out what problems to throw at it.
PCBs and assembly (even surface mount assembly) are no longer a significant obstacle to complex electronic projects. The next obstacle is that I'm lazy about learning. To some extent that can be addressed by prioritizing what to learn - if USB does all the communication I need, I can ignore PCI.
We could have an electronics hobbyist renaissance as good as the 1970s, starting with a series of articles in Make magazine. O'Reilly would probably love it.
The economics works better for big boards than for small boards. I can envision scalable VLIW array processors spanning several FPGAs, or maybe tightly networked DSPs or GPUs. I like the look of the Analog Devices ADSP-31362. I could review some of the molecular modeling code out there (Amber, CHARMM, Gamess, Gaussian, Gromacs, NAMD) and build an scalable architecture optimized for molecular modeling, large-scale simulations, and other interesting things.
Building a supercomputer, that's so unimaginative. I don't have any interesting problems to feed it. I suppose I could build it and let other hobbyists figure out what problems to throw at it.
Wednesday, October 17, 2007
Some of the code for the board
Much of this code was written by a genius named Wolfgang Wieser, who deserves the Nobel Prize in hobbyist electronics. I've tweaked his code in places.
The firmware is at http://will.ware.googlepages.com/fx2_firmware.tgz and the Eagle design files are at http://will.ware.googlepages.com/n1ibt_board.tgz.
I work in Linux, and the stuff in these tarballs is written to work on a Linux box. To build the firmware you'll need SDCC on your machine. I've built the firmware successfully on Mandriva 2006 and Fedora Core 5. I have had trouble getting it to work on Ubuntu and hope to get that fixed because I'm migrating my home machines to Ubuntu.
The firmware is at http://will.ware.googlepages.com/fx2_firmware.tgz and the Eagle design files are at http://will.ware.googlepages.com/n1ibt_board.tgz.
I work in Linux, and the stuff in these tarballs is written to work on a Linux box. To build the firmware you'll need SDCC on your machine. I've built the firmware successfully on Mandriva 2006 and Fedora Core 5. I have had trouble getting it to work on Ubuntu and hope to get that fixed because I'm migrating my home machines to Ubuntu.
Verilog/FPGA tools for Linux
Until I get more organized with this, it's just a collection of random links. I'll need to figure out a way to program the FPGA on my board.
Good Verilog tutorial here.
- http://www.linuxjournal.com/article/6857
- http://www.icarus.com/eda/verilog/FAQ.html
- http://www.comsec.com/wiki?FpgaToolChain
- http://linuxdevices.com/news/NS6579341834.html
- http://www.asic-world.com/verilog/verilinks.html
- http://www.linuxelectrons.com/News/EDA/20060109141717438
- http://www.geda.seul.org/mailinglist/geda-dev36/msg00134.html
Good Verilog tutorial here.
More about the board -- progress stalled, hoping to pick it up again
Periodically people email me and ask how things are going with my SDR board. Things are quite thoroughly stalled. I can program the FX2 over the USB cable, and I can wiggle the I/O pins, and I've connected the I/O pins to the FPGA's JTAG programming pins. Theoretically it should be pretty easy to program the FPGA after that. But that's where it is stalled; for some reason the FPGA won't program correctly. Go figure.
One thought is to make up a board with a lot more testpoints, like this.

This design is for a temporary two-layer board that I would use only to get the design and development effort back on track. Once I'd resolved the FPGA programming issues, I'd go back to a four-layer design with a lot fewer testpoints.
But if you're one of those impatient folks who wants to play with a software-defined radio RIGHT NOW then you should check out these links, many of which describe projects that are much further along than my board.
One thought is to make up a board with a lot more testpoints, like this.

This design is for a temporary two-layer board that I would use only to get the design and development effort back on track. Once I'd resolved the FPGA programming issues, I'd go back to a four-layer design with a lot fewer testpoints.
But if you're one of those impatient folks who wants to play with a software-defined radio RIGHT NOW then you should check out these links, many of which describe projects that are much further along than my board.
The software-defined radio board (an old post)
Two years after my first attempt, I am working on a new board for software-defined radio. In the past, I pursued this as a political agenda, but that made me rush, and ultimately design a crummy board that didn't work. I've split the design into two pieces and this board is the first piece. It has an 8-bit processor with USB slave capability, and it has a Xilinx XC3S400 FPGA with 400K gates, lots of on-chip RAM, and 16 hardware multipliers, each 18-bit by 18-bit. The USB channel can get data to or from your laptop at over 50 megabytes per second. The board has 46 general purpose I/O pins and six dedicated pins. Not counting assembly, which you can do cheaply at home, the board costs about $70, so it's a pretty good deal for a hobbyist.
The second piece of the radio is a board with fast digital-to-analog and analog-to-digital converters, to translate the signals between the digital domain and the world of radio electronics. A receiver would use an ADC, a transmitter would use a DAC. I'd like to design a receiver board first, but I want to get the USB/FPGA board up and running before that.
If you had this thing connected to your laptop, you'd install GNU Radio and you could transmit and receive radio signals. Depending on the analog hardware you had, you could do this on any of several radio bands, and with the USB bandwidth and a fast ADC, you could pull in whole television signals, maybe even HDTV signals. And that's when things get interesting politically, because that's the battleground for fighting the Broadcast Flag battle.
The USB/FPGA board is a remarkable example of what a low-budget electronics hobbyist can do these days. A couple years ago I spent some money on a license for CadSoft Eagle to do four-layer boards but I expect it to fill my hobbyist needs for a long time. Now I can send my Gerber files to PCB fab outfits in China like this one and get boards for ridiculously low prices. As a result, my electronics projects cost very little more than the price of the parts. It's cool, and it calls for a renaissance of electronics hobby activity. To us oldtimers it seemed like the 1970s was the peak for that kind of thing, but it can come back stronger than ever.
The second piece of the radio is a board with fast digital-to-analog and analog-to-digital converters, to translate the signals between the digital domain and the world of radio electronics. A receiver would use an ADC, a transmitter would use a DAC. I'd like to design a receiver board first, but I want to get the USB/FPGA board up and running before that.
If you had this thing connected to your laptop, you'd install GNU Radio and you could transmit and receive radio signals. Depending on the analog hardware you had, you could do this on any of several radio bands, and with the USB bandwidth and a fast ADC, you could pull in whole television signals, maybe even HDTV signals. And that's when things get interesting politically, because that's the battleground for fighting the Broadcast Flag battle.
The USB/FPGA board is a remarkable example of what a low-budget electronics hobbyist can do these days. A couple years ago I spent some money on a license for CadSoft Eagle to do four-layer boards but I expect it to fill my hobbyist needs for a long time. Now I can send my Gerber files to PCB fab outfits in China like this one and get boards for ridiculously low prices. As a result, my electronics projects cost very little more than the price of the parts. It's cool, and it calls for a renaissance of electronics hobby activity. To us oldtimers it seemed like the 1970s was the peak for that kind of thing, but it can come back stronger than ever.
Monday, October 01, 2007
Things are a little different for Ubuntu
On an Ubuntu box I needed to change my 1xEVDO files. Now /etc/ppp/peers/1xevdo look like this.
-detachAnd /etc/ppp/peers/1xevdo_chat looks like this.
ttyACM0
115200
debug
noauth
defaultroute
usepeerdns
connect-delay 10000
user 5089547611@vzw3g.com
show-password
crtscts
lock
lcp-echo-failure 4
lcp-echo-interval 65535
connect '/usr/sbin/chat -v -t3 -f /etc/ppp/peers/1xevdo_chat'
TIMEOUT 10That seems to do the trick. This stuff was cribbed from an article at Linux.com. It seems to work a good bit better, actually, so I should probably try this on the FC5 box as well.
ABORT 'NO CARRIER'
ABORT 'BUSY'
ABORT 'NO DIALTONE'
ABORT 'NO ANSWER'
ABORT 'ERROR'
SAY 'Starting CDMA modem script\n'
'' 'ATZ'
'OK' 'ATE0V1'
OK-AT-OK 'ATDT#777'
CONNECT \d\c
Friday, September 28, 2007
Verizon phone as cellular modem
In a week or two I will be traveling. There will probably be Verizon coverage but there won't be conventional internet access. So I picked up a USB data cable for my LG VX8300 and added Verizon's BroadbandAccess connectivity to my account for a month. I'm a big Linux snob, so I needed to dig around for relevant Linux info. I found everything I needed on KA9Q's web page on the subject.
On Fedora Core 5, I needed to set up three files:
On Fedora Core 5, I needed to set up three files:
- /etc/ppp/peers/1xevdo
- /etc/ppp/peers/1xevdo_chat
- /etc/ppp/pap-secrets
- /etc/resolv.conf # use known-good nameservers
pppd call 1xevdoas root. Within a few seconds, you should see a valid IP address when you type
ifconfig ppp0and you're online. It's the coolest thing. Considerably slower than the wireless service at Starbucks or Panera but it's a lot better than no connectivity at all.
Tuesday, September 11, 2007
The Roadmap conference is coming up
A couple years ago, Foresight, Battelle, the Society of Manufacturing Engineers and a few other organizations put together a project called the Technology Roadmap for Productive Nanosystems. The idea was to figure out the steps that would lead us to a world of safe and mature nanotechnology. I know some of the people involved in this effort. They've had meetings to which I've not been invited, which is appropriate because they have important work to do, and they don't want the distraction of answering questions from the idly curious.
Their work has percolated along for about two years (that I've been aware of, probably more time before that) and finally there will be a conference where they will tell the world what they've been up to. As luck would have it, I have a schedule conflict and will be unable to attend, but there will be a CDROM of the presentations and I hope to ask around and see if I can get a copy.
I have high hopes for the work these people have done. This is a well-organized effort by a lot of very smart people with a wide range of relevant expertise.
The Center for Responsible Nanotechnology website discusses the societal risk of multiple competing nanotechnology development efforts:
Their work has percolated along for about two years (that I've been aware of, probably more time before that) and finally there will be a conference where they will tell the world what they've been up to. As luck would have it, I have a schedule conflict and will be unable to attend, but there will be a CDROM of the presentations and I hope to ask around and see if I can get a copy.
I have high hopes for the work these people have done. This is a well-organized effort by a lot of very smart people with a wide range of relevant expertise.
The Center for Responsible Nanotechnology website discusses the societal risk of multiple competing nanotechnology development efforts:
The existence of multiple programs to develop molecular manufacturing greatly increases some of the risks listed above. Each program provides a separate opportunity for the technology to be stolen or otherwise released from restriction. Each nation with an independent program is potentially a separate player in a nanotech arms race. The reduced opportunity for control may make restrictions harder to enforce, but this may lead to greater efforts to impose harsher restrictions. Reduced control also makes it less likely that a non-disruptive economic solution can develop.A unified effort like the Technology Roadmap initiative represents a safeguard against these very realistic concerns.
Tuesday, August 21, 2007
Software-defined radio board: Stalled, for now
Periodically people email me and ask how things are going with my SDR board. Things are quite thoroughly stalled. I can program the FX2 over the USB cable, and I can wiggle the I/O pins, and I've connected the I/O pins to the FPGA's JTAG programming pins. Theoretically it should be pretty easy to program the FPGA after that. But that's where it is stalled; for some reason the FPGA won't program correctly. Go figure.
One thought is to make up a board with a lot more testpoints, like this.
But if you're one of those impatient folks who wants to play with a software-defined radio RIGHT NOW then you should check out these links, many of which describe projects that are much further along than my board.
One thought is to make up a board with a lot more testpoints, like this.
I had a picture of a board design here before, but I think I've since misplaced that file. I'll try to remember to check around for it.This design is for a temporary two-layer board that I would use only to get the design and development effort back on track. Once I'd resolved the FPGA programming issues, I'd go back to a four-layer design with a lot fewer testpoints.
But if you're one of those impatient folks who wants to play with a software-defined radio RIGHT NOW then you should check out these links, many of which describe projects that are much further along than my board.
Monday, July 02, 2007
Linear least square error estimation
Let z be some unknown function of x and y. Assume the function is close to linear, so we want a function
f(x,y) = a x + b y + cthat approximates z by minimizing the total square error for a collection of N data points (xi, yi, zi). We will need to accumulate the following sums. This can be done incrementally in real time, if the data arrive that way. We can use exponentially weighted sums to give more importance to more recent data points, if that makes sense.
Sx = ∑ xiThen we have a total square error:
Sy = ∑i yi
Sz = ∑i zi
Sxx = ∑i xi2
Syy = ∑i yi2
Sxy = ∑i xiyi
Syz = ∑i yizi
N = ∑i 1 (or with exponential weighting if desired)
E = ∑i (zi - axi - byi -c)2and we want to minimize that error by choosing (a,b,c) at a minimum:
∂E/∂a = ∂E/∂b = ∂E/∂c = 0Then we can obtain (a,b,c) from linear algebra.
0 = Sxz - a Sxx - b Sxy - c Sx
0 = Syz - a Sxy - b Syy - c Sy
0 = Sz - a Sx - b Sy - cN
[ a ] [ Sxx Sxy Sx ]-1 [ Sxz ]Based on all this, we can write a linear least-squares estimator class in Python.
[ b ] = [ Sxy Syy Sy ] [ Syz ]
[ c ] [ Sx Sxy N ] [ Sz ]
Recent tech talk at Google: Aubrey de Grey
This is a Google Tech Talk by Aubrey de Grey, who has studied gerontology at Cambridge University. He has thought about ageing as a problem with an engineering solution. He has charted the course of the solution in broad strokes, and put together a credible plan to make good progress over the coming decades, with ideas about which science to pursue and how much money would be needed.
My health is good but not stellar and like many Americans, I'm overweight. I ordinarily assume that as my 50th birthday fast approaches, I've got 25 or 30 years left. That's how I try to plan my finances and other aspects of my life.
In this talk de Grey presents what he calls conservative estimates of what would be possible if we were to pursue his research program. If he's right, I've got a good shot at not just a few more decades of life, but perhaps a few more centuries, conceivably a lot more centuries.
I fear death as much as any normal person. Perhaps if I had more time, more youth, more energy, I could make some more important contribution to humanity than I've made. Certainly I have the selfish wish to have more freedom, travel more, make more money, play with more toys, read more books, have more sex, all that stuff.
My health is good but not stellar and like many Americans, I'm overweight. I ordinarily assume that as my 50th birthday fast approaches, I've got 25 or 30 years left. That's how I try to plan my finances and other aspects of my life.
In this talk de Grey presents what he calls conservative estimates of what would be possible if we were to pursue his research program. If he's right, I've got a good shot at not just a few more decades of life, but perhaps a few more centuries, conceivably a lot more centuries.
I fear death as much as any normal person. Perhaps if I had more time, more youth, more energy, I could make some more important contribution to humanity than I've made. Certainly I have the selfish wish to have more freedom, travel more, make more money, play with more toys, read more books, have more sex, all that stuff.
Thursday, June 28, 2007
Aubrey de Grey's tech talk at Google
This is one of those brilliant things like Cory Doctorow's writing that gives you REAL HOPE that the future will be a good and happy place, and that you might have a chance of making it to that point. Aubrey de Grey has been studying gerontology (the science of ageing) at Cambridge University and he proposes that with some science and engineering smarts, we can make huge progress toward extended lifetimes in the time left to even old farts like me (not quite 50 yet).
As I think about the benefits that I personally would like to get from nanotechnology, I think life extension is a big thing. Of course we'll have ever more powerful computers and capable robots and flying cars and all those nifty toys, and they'll all be very inexpensive, but I really want a lot more time to enjoy everything. And as my parents get older, I'd love to be able to offer that to them as well, though even by de Grey's very optimistic estimates, they're too old to benefit much.
As I think about the benefits that I personally would like to get from nanotechnology, I think life extension is a big thing. Of course we'll have ever more powerful computers and capable robots and flying cars and all those nifty toys, and they'll all be very inexpensive, but I really want a lot more time to enjoy everything. And as my parents get older, I'd love to be able to offer that to them as well, though even by de Grey's very optimistic estimates, they're too old to benefit much.
Saturday, May 19, 2007
Social policy bonds
Two earlier posts (one on DRM, the other on amortizing development cost) deal with cases where today's free market does a poor job of compensating somebody for something of value. I think these are what economists might call "missing market" problems -- it's not that a free market couldn't work in this situation, it's simply that we don't have the right market mechanisms in place yet.
One more approach to the missing market problem is the social policy bond, invented by New Zealand economist Ronnie Horesh. It works a bit like the X Prize or the Methuselah Mouse Prize, in that when something good is accomplished, somebody gets money. But with the X Prize, all the money goes to the winner (in that case Burt Rutan, who won the prize in 2004 flying SpaceShipOne), and none goes to the runners-up, or to the subcontractors who helped the winner win. The incentives in a one-winner prize therefore punish anybody who doesn't win.
Social policy bonds spread the winning money more fairly. Everybody who puts in time or money can get something back. In Horesh's vision it works like this. A deep-pocketed government announces that attaining some goal is a desirable social good. Tax money is put aside to bring about that goal in an economically efficient way. The government prints bonds which are redeemable for some large-ish amount of money when the goal is accomplished, and sells those bonds at a lower price to anybody who wants to buy them. The free market does the rest -- compensations will arrange themselves so that people work toward bringing about the goal, so that they can collect on the redemption of their bonds. People who would be potential prize winners (if the government were using a prize) can use the bonds as loan collateral to pay subcontractors.
This strikes me as a brilliant idea, although Horesh recognizes a potential free-rider problem with the scheme. When social policy bonds have been used in real life a few times, we'll have a better idea how big a problem that will be.
I like the idea that a social policy bond could be issued not by a government, but by an individual or private organization. There are two potential problems. One, an individual can't command the huge sums of money that a government can, so it might take thousands or millions of people each issuing privately-backed bonds to make something happen. Two, the issuer of a bond needs to have people believe that he/she/it will make good on the redemption, and there isn't an obvious mechanism how an individual can do this. Maybe there is some trustworthhy organization (like a bank? or Lloyd's of London?) that could hold the money in escrow. I've discussed the notion of privately-backed social policy bonds with Horesh in email, and he feels these two problems are prohibitive, but I still think it's worth a shot.
One more approach to the missing market problem is the social policy bond, invented by New Zealand economist Ronnie Horesh. It works a bit like the X Prize or the Methuselah Mouse Prize, in that when something good is accomplished, somebody gets money. But with the X Prize, all the money goes to the winner (in that case Burt Rutan, who won the prize in 2004 flying SpaceShipOne), and none goes to the runners-up, or to the subcontractors who helped the winner win. The incentives in a one-winner prize therefore punish anybody who doesn't win.
Social policy bonds spread the winning money more fairly. Everybody who puts in time or money can get something back. In Horesh's vision it works like this. A deep-pocketed government announces that attaining some goal is a desirable social good. Tax money is put aside to bring about that goal in an economically efficient way. The government prints bonds which are redeemable for some large-ish amount of money when the goal is accomplished, and sells those bonds at a lower price to anybody who wants to buy them. The free market does the rest -- compensations will arrange themselves so that people work toward bringing about the goal, so that they can collect on the redemption of their bonds. People who would be potential prize winners (if the government were using a prize) can use the bonds as loan collateral to pay subcontractors.
This strikes me as a brilliant idea, although Horesh recognizes a potential free-rider problem with the scheme. When social policy bonds have been used in real life a few times, we'll have a better idea how big a problem that will be.
I like the idea that a social policy bond could be issued not by a government, but by an individual or private organization. There are two potential problems. One, an individual can't command the huge sums of money that a government can, so it might take thousands or millions of people each issuing privately-backed bonds to make something happen. Two, the issuer of a bond needs to have people believe that he/she/it will make good on the redemption, and there isn't an obvious mechanism how an individual can do this. Maybe there is some trustworthhy organization (like a bank? or Lloyd's of London?) that could hold the money in escrow. I've discussed the notion of privately-backed social policy bonds with Horesh in email, and he feels these two problems are prohibitive, but I still think it's worth a shot.
Monday, May 07, 2007
Anonymous e-cash
I once interviewed at a place called NTRU Cryptosystems. They have a very fast public key algorithm suitable for implementation in slow, memory-limited embedded systems. One of the interesting aspects of their algorithm is that creating public/private key pairs is a very quick operation. If you've used PGP or GPG, you've probably noticed that with traditional RSA, the key generation process is annoyingly slow. Recalling that cryptography's version of a person's identity is a private key, this made me think about what might be possible if key generation were a very inexpensive operation, and what you get is a kind of anonymity that could make electronic cash work really well. But you don't really need fast key generation. You can set up your home computer to generate many key pairs overnight, and save them all on a USB flash drive for use the following day.
How do you get from plentiful key pairs to anonymity? You start a bank that accepts public keys as proofs of identity, and therefore associates accounts with public keys. The bank does not ask a client for any identification other than a public key. The bank allows the money to be withdrawn by any party who can prove ownership of the public key by using the corresponding private key to sign documents, which signatures the bank can verify using the public key. The bank will transfer the money to the ownership of a different public key, given a digitally signed transfer request from the original holder. The transfer document could be presented in email, which could be routed through any number of anonymous remailers.
If I wish to transfer anonymously, I can send the bank a series of emails transferring the money from one identity to another, each identity represented by one of the key pairs I generated last night. Going through several anonymous identities provides plausible deniability that I still have the money.
All it takes to create such a bank is to set up a database that associates public keys with cash balances, and a website that performs redemptions and transfers as discussed above. One would want to locate the bank in a country or region with a favorable tax and regulatory climate.
How do you get from plentiful key pairs to anonymity? You start a bank that accepts public keys as proofs of identity, and therefore associates accounts with public keys. The bank does not ask a client for any identification other than a public key. The bank allows the money to be withdrawn by any party who can prove ownership of the public key by using the corresponding private key to sign documents, which signatures the bank can verify using the public key. The bank will transfer the money to the ownership of a different public key, given a digitally signed transfer request from the original holder. The transfer document could be presented in email, which could be routed through any number of anonymous remailers.
If I wish to transfer anonymously, I can send the bank a series of emails transferring the money from one identity to another, each identity represented by one of the key pairs I generated last night. Going through several anonymous identities provides plausible deniability that I still have the money.
All it takes to create such a bank is to set up a database that associates public keys with cash balances, and a website that performs redemptions and transfers as discussed above. One would want to locate the bank in a country or region with a favorable tax and regulatory climate.
Thursday, May 03, 2007
6.432, one of my favorite MIT courses
MIT has put the materials for 6.432 online. This is a BRILLIANT course. It covers the application of Bayes' theorem to a wide variety of problems in engineering and communication. It explains a lot of the math behind radar, and those wierd noises that modems make. I really want to say more about this but presently I don't have the time to do justice to just how cool this stuff is.
Hmm, as I quickly review the notes they've posted, it looks like they didn't actually put up the real contents of the course. I've started assembling some notes in a user page on Wikipedia, and I hope they will eventually address the pieces that are missing.
Hmm, as I quickly review the notes they've posted, it looks like they didn't actually put up the real contents of the course. I've started assembling some notes in a user page on Wikipedia, and I hope they will eventually address the pieces that are missing.
Friday, December 29, 2006
More fabrication techniques
In the late 1990s, Tom Knight at MIT worked on something he called microbial engineering, the intentional redesign of simple (prokaryotic) bacteria, which has resulted in MIT's Biological Parts Project. The idea is to identify re-usable components that can be included in rationally designed microorganisms to perform various functions.
This idea is not without precedent: in 1978, Genentech re-engineered E. coli bacteria to produce inexpensive human insulin, vital to the survival of diabetes patients. Previously insulin had been extracted from ground-up organs of farm animals at considerably greater expense. The 1978 work did not have access to a catalog of biological parts or many of the techniques and other knowledge infrastructure that will grow up around the MIT work.
In an earlier posting I described some very interesting work being done by Christian Schafmeister, who is assembling monomer chains to create structures with specific, controllable, and reasonably rigid shapes. He is developing a collection of 15 or 20 monomers, and perhaps that number will grow over time, which can be strung together using synthetic chemistry techniques. Schafmeister has an article in this month's Scientific American.
DNA origami exploits the very selective self-stickiness of DNA. It is likely that DNA (which can be created in any desired sequence) will become a very flexible framework on which to position molecules. Proteins can also be engineered, provided we can predict how they will fold, and this should be a solvable problem if we restrict ourselves to a subset of well-understood proteins. Many proteins like to cling to DNA at very specific locations. A combined approach using a DNA scaffolding, with attached proteins to provide local functionality, could yield very interesting results.
This idea is not without precedent: in 1978, Genentech re-engineered E. coli bacteria to produce inexpensive human insulin, vital to the survival of diabetes patients. Previously insulin had been extracted from ground-up organs of farm animals at considerably greater expense. The 1978 work did not have access to a catalog of biological parts or many of the techniques and other knowledge infrastructure that will grow up around the MIT work.
In an earlier posting I described some very interesting work being done by Christian Schafmeister, who is assembling monomer chains to create structures with specific, controllable, and reasonably rigid shapes. He is developing a collection of 15 or 20 monomers, and perhaps that number will grow over time, which can be strung together using synthetic chemistry techniques. Schafmeister has an article in this month's Scientific American.
DNA origami exploits the very selective self-stickiness of DNA. It is likely that DNA (which can be created in any desired sequence) will become a very flexible framework on which to position molecules. Proteins can also be engineered, provided we can predict how they will fold, and this should be a solvable problem if we restrict ourselves to a subset of well-understood proteins. Many proteins like to cling to DNA at very specific locations. A combined approach using a DNA scaffolding, with attached proteins to provide local functionality, could yield very interesting results.
Thursday, December 07, 2006
Molecular dynamics simulation of small bearing design
This video was created using the simulation facilities of NanoEngineer-1 (see http://www.nanoengineer-1.com), together with open-source animation tools like Pov-RAY, ImageMagick, and mpeg2encode. This is a simulation of the molecular bearing design on page 298 of "Nanosystems" by Eric Drexler. When viewed at 0.15 picoseconds per second of animation, thermal motion of atoms (particularly hydrogens) is visible. At 0.6 picoseconds per second, thermally excited mechanical resonances of the entire structure are seen. At 6 picoseconds per second, the rotation of the shaft (one rotation every 200 psecs) becomes apparent.
Update: On more careful analysis we discovered that the temperature is incorrectly represented in this video. The atoms should shake more violently to represent an ambient temperature of 300 Kelvin (ordinary room temperature). The vibrations you see in the video correspond to about 70 Kelving (very chilly). In spite of the more violent thermal vibrations, the structure remains chemically stable and mechanically workable at room temperature.
Bearing animation video
This video was created using the simulation facilities of NanoEngineer-1 (see http://www.nanoengineer-1.com), together with open-source animation tools like Pov-RAY, ImageMagick, and mpeg2encode. This is a simulation of the molecular bearing design on page 298 of "Nanosystems" by Eric Drexler. When viewed at 0.15 picoseconds per second of animation, thermal motion of atoms (particularly hydrogens) is visible. At 0.6 picoseconds per second, thermally excited mechanical resonances of the entire structure are seen. At 6 picoseconds per second, the rotation of the shaft (one rotation every 200 psecs) becomes apparent.
Thursday, November 09, 2006
Verilog/FPGA tools for Linux
Until I get more organized with this, it's just a collection of random links. I'll need to figure out a way to program the FPGA on my board.
Good Verilog tutorial here.
- http://www.linuxjournal.com/article/6857
- http://www.icarus.com/eda/verilog/FAQ.html
- http://www.comsec.com/wiki?FpgaToolChain
- http://linuxdevices.com/news/NS6579341834.html
- http://www.asic-world.com/verilog/verilinks.html
- http://www.linuxelectrons.com/News/EDA/20060109141717438
- http://www.geda.seul.org/mailinglist/geda-dev36/msg00134.html
Good Verilog tutorial here.
Friday, November 03, 2006
Another software-defined radio board
Two years after my first attempt, I am working on a new board for software-defined radio. In the past, I pursued this as a political agenda, but that made me rush, and ultimately design a crummy board that didn't work. I've split the design into two pieces and this board is the first piece. It has an 8-bit processor with USB slave capability, and it has a Xilinx XC3S400 FPGA with 400K gates, lots of on-chip RAM, and 16 hardware multipliers, each 18-bit by 18-bit. The USB channel can get data to or from your laptop at over 50 megabytes per second. The board has 46 general purpose I/O pins and six dedicated pins. Not counting assembly, which you can do cheaply at home, the board costs about $70, so it's a pretty good deal for a hobbyist.
The second piece of the radio is a board with fast digital-to-analog and analog-to-digital converters, to translate the signals between the digital domain and the world of radio electronics. A receiver would use an ADC, a transmitter would use a DAC. I'd like to design a receiver board first, but I want to get the USB/FPGA board up and running before that.
If you had this thing connected to your laptop, you'd install GNU Radio and you could transmit and receive radio signals. Depending on the analog hardware you had, you could do this on any of several radio bands, and with the USB bandwidth and a fast ADC, you could pull in whole television signals, maybe even HDTV signals. And that's when things get interesting politically, because that's the battleground for fighting the Broadcast Flag battle.
The USB/FPGA board is a remarkable example of what a low-budget electronics hobbyist can do these days. A couple years ago I spent some money on a license for CadSoft Eagle to do four-layer boards but I expect it to fill my hobbyist needs for a long time. Now I can send my Gerber files to PCB fab outfits in China like this one and get boards for ridiculously low prices. As a result, my electronics projects cost very little more than the price of the parts. It's cool, and it calls for a renaissance of electronics hobby activity. To us oldtimers it seemed like the 1970s was the peak for that kind of thing, but it can come back stronger than ever.
The second piece of the radio is a board with fast digital-to-analog and analog-to-digital converters, to translate the signals between the digital domain and the world of radio electronics. A receiver would use an ADC, a transmitter would use a DAC. I'd like to design a receiver board first, but I want to get the USB/FPGA board up and running before that.
If you had this thing connected to your laptop, you'd install GNU Radio and you could transmit and receive radio signals. Depending on the analog hardware you had, you could do this on any of several radio bands, and with the USB bandwidth and a fast ADC, you could pull in whole television signals, maybe even HDTV signals. And that's when things get interesting politically, because that's the battleground for fighting the Broadcast Flag battle.
The USB/FPGA board is a remarkable example of what a low-budget electronics hobbyist can do these days. A couple years ago I spent some money on a license for CadSoft Eagle to do four-layer boards but I expect it to fill my hobbyist needs for a long time. Now I can send my Gerber files to PCB fab outfits in China like this one and get boards for ridiculously low prices. As a result, my electronics projects cost very little more than the price of the parts. It's cool, and it calls for a renaissance of electronics hobby activity. To us oldtimers it seemed like the 1970s was the peak for that kind of thing, but it can come back stronger than ever.
Friday, October 27, 2006
Nature article on molecular motors
A Nature article on molecular motors found in biology. I'm not sure of the date, I found this on the Advanced Nanotechnology Blog maintained by Brian Wang.
Thursday, August 03, 2006
Automated design
Design is a search problem. A product or machine has some kind of specification or instructions, and you want to find the best possible specification to suit some purpose. The space of all possible specifications is usually too large to be searched exhaustively. The usual response to this is to exercise human cleverness - what the inventor in the garage does. An alternative is to search the design space using computer algorithms.Why would you do that? Isn't it fun to invent stuff? It is, but the stuff we invent these days is getting so complicated that sometimes human cleverness might not suffice to solve a design challenge. Nanotech stuff will be orders of magnitude more complicated than anything we can make today. So it's good to take a look at this approach.
Automated design is the application of global optimization to design problems using techniques like simulated annealing, genetic algorithms, and ant colony optimization to generate candidate problem solutions, and computer simulations to evaluate the fitness of the candidates. Genetic algorithms are the most widely known of these techniques. Here is a discussion of GAs by John Holland, one of the early pioneers in the field.
There has been a lot of research and development applying GAs to
engines and other machinery.
Here are two applications of GAs to optimize the design of diesel engines. Somebody else optimized a valvetrain., and somebody else, an exhaust manifold. There is also work on a flywheel made of composite materials, and some work on reducing engine emissions by optimizing the chemical reaction rate of the fuel. In a more nanotech-ish vein, there is some work on the molecular design of novel fibers and polymers.
One of the more interesting efforts in this field is John Koza's invention machine, which applies GAs to a very wide variety of design problems, and which has produced a number of new patents for designs that did not originate in human imaginations.

NASA used genetic algorithms to design microwave antennas for the ST5 mission to measure the Earth's magnetosphere. There is some discussion of this work on Wikipedia.
While genetic algorithms are the most widely known of this class of algorithms, simulated annealing has a decades-long history of success in the placing and routing of FPGAs and custom integrated circuits. Other applications for global optimization include scheduling and resource allocation.
Random links
Automated design is the application of global optimization to design problems using techniques like simulated annealing, genetic algorithms, and ant colony optimization to generate candidate problem solutions, and computer simulations to evaluate the fitness of the candidates. Genetic algorithms are the most widely known of these techniques. Here is a discussion of GAs by John Holland, one of the early pioneers in the field.
There has been a lot of research and development applying GAs to
engines and other machinery.
Here are two applications of GAs to optimize the design of diesel engines. Somebody else optimized a valvetrain., and somebody else, an exhaust manifold. There is also work on a flywheel made of composite materials, and some work on reducing engine emissions by optimizing the chemical reaction rate of the fuel. In a more nanotech-ish vein, there is some work on the molecular design of novel fibers and polymers.
One of the more interesting efforts in this field is John Koza's invention machine, which applies GAs to a very wide variety of design problems, and which has produced a number of new patents for designs that did not originate in human imaginations.
NASA used genetic algorithms to design microwave antennas for the ST5 mission to measure the Earth's magnetosphere. There is some discussion of this work on Wikipedia.
While genetic algorithms are the most widely known of this class of algorithms, simulated annealing has a decades-long history of success in the placing and routing of FPGAs and custom integrated circuits. Other applications for global optimization include scheduling and resource allocation.
Random links
Monday, July 24, 2006
Spimes
Bruce Sterling gave an interesting talk at a SIGGRAPH conference in 2004. He described two kinds of human artifacts, blobjects and spimes. Blobjects are simply artifacts that have been designed with modern CAD systems, so their shapes are more curvy and sexy than the same-functioned artifacts of past generations. Examples are the iMac and the new VW beetle.
The spime is a different beast. It is jam-packed full of information technology. It has RFID or Bluetooth to talk to nearby computers (or maybe other spimes). It has GPS so it knows where on Earth it is. It knows how to connect to the Internet. It willingly participates in data mining efforts by Google and other search engines and advertisers. In addition to being designed with a CAD system, it might be manufactured with rapid prototyping techniques such as 3D printers.
Sterling's predictions about the spimes' use of information are cynical. They are programmed by the corporations that built them. They collect consumer demographics information about the people who buy and use them. Their first allegiance is to their manufacturer. They are smart enough that the distinction has teeth - the hand drill I bought at Sears does not change its behavior to act in Sears' best interests rather than mine.
If spimes aren't nanotechnology, why am I writing about them in a nanotech blog? Because they shake loose my thinking about what products could be. I hadn't thought about ANY of this stuff before I read the transcript of Sterling's talk. My cell phone today has way more computing power than the Apollo guidance computer had. When a ballpoint pen has way more computing power than my cell phone has today, of course somebody will program it to do things like this.
The spime is a different beast. It is jam-packed full of information technology. It has RFID or Bluetooth to talk to nearby computers (or maybe other spimes). It has GPS so it knows where on Earth it is. It knows how to connect to the Internet. It willingly participates in data mining efforts by Google and other search engines and advertisers. In addition to being designed with a CAD system, it might be manufactured with rapid prototyping techniques such as 3D printers.
Sterling's predictions about the spimes' use of information are cynical. They are programmed by the corporations that built them. They collect consumer demographics information about the people who buy and use them. Their first allegiance is to their manufacturer. They are smart enough that the distinction has teeth - the hand drill I bought at Sears does not change its behavior to act in Sears' best interests rather than mine.
If spimes aren't nanotechnology, why am I writing about them in a nanotech blog? Because they shake loose my thinking about what products could be. I hadn't thought about ANY of this stuff before I read the transcript of Sterling's talk. My cell phone today has way more computing power than the Apollo guidance computer had. When a ballpoint pen has way more computing power than my cell phone has today, of course somebody will program it to do things like this.
Wednesday, July 12, 2006
More hoverboard progress
I made the skirt tighter, and I improved the air seal between the leafblower and the skirt feed. For a couple of reasons, I can't successfully ride on the thing myself.
To a zeroth-order approximation, there are two kinds of engineering styles, planning and prototyping. A planner tries to think through every possible detail or failure mode first, plans out everything on paper, and only then does he pick up his tools and start building. A prototyper begins with a general idea of his goal, grabs his roll of duct tape, and starts putting together the cheapest, cheesiest possible version that will work. With prototyping I discover principles and failure modes that I might never have found by thinking ahead. Besides, I get to take cool videos sooner than later.
When I was a young child, I was by necessity a planner because I didn't have any stuff to build with. So I'd think about things and imagine things and try to reason through as many implications and ramifications as I could. The balance between planning and prototyping is economical. The cost of prototyping is materials, labor, and the risk of problems that might have been avoided with planning. The cost of planning is time, and the risk of problems that can't be foreseen until you have a working model. Simulation is a half-way approach - a good simulator will alert you to problems you didn't foresee with pure analysis and design, but is cheaper than building a prototype.
But you can't shoot the video until you have the prototype. And the video is very cool.
- The plywood base isn't wide enough, so it's very hard to balance.
- The plywood base isn't stiff enough, so it flexes under my weight.
- The air connections need to be better, the duct tape keeps leaking.
- It's probably a good idea to strap the leafblower engine down to the plywood permanently - leafblowers are cheap nowadays.
To a zeroth-order approximation, there are two kinds of engineering styles, planning and prototyping. A planner tries to think through every possible detail or failure mode first, plans out everything on paper, and only then does he pick up his tools and start building. A prototyper begins with a general idea of his goal, grabs his roll of duct tape, and starts putting together the cheapest, cheesiest possible version that will work. With prototyping I discover principles and failure modes that I might never have found by thinking ahead. Besides, I get to take cool videos sooner than later.
When I was a young child, I was by necessity a planner because I didn't have any stuff to build with. So I'd think about things and imagine things and try to reason through as many implications and ramifications as I could. The balance between planning and prototyping is economical. The cost of prototyping is materials, labor, and the risk of problems that might have been avoided with planning. The cost of planning is time, and the risk of problems that can't be foreseen until you have a working model. Simulation is a half-way approach - a good simulator will alert you to problems you didn't foresee with pure analysis and design, but is cheaper than building a prototype.
But you can't shoot the video until you have the prototype. And the video is very cool.
Saturday, July 08, 2006
Building a hoverboard
I'm going to try to build a hoverboard. Here are some videos of people building and playing with hoverboards:
Here's the leafblower, with its elliptical snout. I will need an elliptical hole in the board to put the snout in, so the underside of the board can fill with air.
Here are the tools for making the elliptical snout hole. It came out a little rough, but I hope to put something soft or foamy around it anyway, to help seal it, so I think I can tolerate this much slop. There is also a hole in the center, for a bolt that will hold the middle of the curtain to the top of the board.
So I got the thing put together. I connected the center of the skirt to the bottom of the board with a plywood disc strain relief. I stapled the skirt to the top of the board and duct-taped liberally all the way around the edge of the skirt. I put some duct tape around the elliptical snout hole to help the seal.
I don't think the duct tape around the snout hole did much good, the gap was still quite big. I may decide to sacrifice the leafblower after all, or maybe its normal snout is removable and replaceable with a hose whose other end could be liberally duct-taped to the board.
I got the thing working, after a fashion. I climbed aboard, trying standing, sitting, and kneeling positions. I had made the skirt too baggy, so the craft was much too tippy. Trying to just keep it balanced had me sweating like a horse. A couple of times, I was able to balance it well enough that it started to move frictionlessly for a second or two.
Then I uploaded my FIRST GOOGLE VIDEO EVER!!! OMG PONIES!!!!
I need a tighter skirt, and a better seal for the leafblower. I might want to see about finding a lighter passenger.
References
- One
- Two
- Long and detailed with info about design principles
- Here is a TV show in England where a guy built one and provided lots of instructions.
Thursday, April 27, 2006
Creepy crawlies 2
The gray goo scenario is not an immediate threat. Evolution of nanomachines can be prevented, and gray goo replicators can simply not be designed, as long as everybody agrees to those rules. If that were that, we could prevent the gray goo scenario forever. But not everybody will agree. Some, having loudly agreed in public, will quietly break the rules in private. But real live gray goo won't become possible very soon.
There are lots of "interesting" lesser threats.
Another possibility is to educate ourselves about the possible range of weapons, in the hopes of designing effective defenses. This is a much more technically tractable problem, and it's one of the reasons I work for Nanorex. Our software can help people to explore the space of possible threats and defenses more quickly, and to create an active research literature.
Is an active literature a good idea? Would it not be an enabler for those who wish to do harm? Should it not be suppressed or at least discouraged?
This is like the relinquishment question. If the bad guys have an active research literature and the good guys don't, then the first bad guy attack could reduce the good guys to a state where they could never again hope to meaningfully protect themselves.
Ideally, thoroughly effective defenses would be deployed everywhere, long before the first offensive weapons appear. I hope it goes that way. If we're not so lucky, there may turn out to be such a diversity of possible offensive weapons that "effective defenses" aren't practical.
There are lots of "interesting" lesser threats.
At the time of the Pontiac rebellion in 1763, Sir Jeffrey Amherst, the Commander-in-Chief of the British forces in North America, wrote to Colonel Henry Bouquet: 'Could it not be contrived to send smallpox among these disaffected tribes of Indians? We must use every stratagem in our power to reduce them.' The colonel replied: 'I will try to inoculate the [Native American tribe] with some blankets that may fall in their hands, and take care not to get the disease myself.' Smallpox decimated the Native Americans, who had never been exposed to the disease before and had no immunity.What we can expect in the near term is biological warfare, evolving along lines similar to biological warfare today, and with similar motives. If we are interested in a future world that is benign, we can try to remove the incentives for biological warfare, so that there is as little of it as possible. This is an area where I myself can offer no particular insight. There have been many many different manifestations of human evil in recent decades and centuries. I would like to think I could entrust politicians and diplomats to go about its prevention, but they are usually the ones who start the next one. This is a thorny problem involving culture clashes, economics, religion, and many other topics beyond the scope of this blog.Silent Weapon: Smallpox and Biological Warfare by Colette Flight writing for bbc.co.uk/history
Another possibility is to educate ourselves about the possible range of weapons, in the hopes of designing effective defenses. This is a much more technically tractable problem, and it's one of the reasons I work for Nanorex. Our software can help people to explore the space of possible threats and defenses more quickly, and to create an active research literature.
Is an active literature a good idea? Would it not be an enabler for those who wish to do harm? Should it not be suppressed or at least discouraged?
This is like the relinquishment question. If the bad guys have an active research literature and the good guys don't, then the first bad guy attack could reduce the good guys to a state where they could never again hope to meaningfully protect themselves.
Ideally, thoroughly effective defenses would be deployed everywhere, long before the first offensive weapons appear. I hope it goes that way. If we're not so lucky, there may turn out to be such a diversity of possible offensive weapons that "effective defenses" aren't practical.
Wednesday, April 26, 2006
Lessons from software development
I've been a software engineer for ten years now. Software engineers build and maintain very complex systems, so complex that no single engineer can grasp the whole thing in all its details all at once. Coming from electrical engineering, I found that a humbling new experience.
Software engineering looks a particular way, because bits are much much cheaper than transistors. Software products are generally much more complex than hardware products. So software engineering has a richer set of tools for managing complexity than hardware engineering has.
Testing is hugely important. Engineers test products, and the more testing they do earlier, the fewer bugs they need to fix later. If you've got a system that's incomprehensibly complex, you can still understand how to test it.
Modularity is an example of information hiding. Designs are made up of individually comprehensible pieces or modules. Each piece has complexity inside and simplicity outside. The simple outside part, the interface, determines how that piece works with its neighbors.
Software engineering looks a particular way, because bits are much much cheaper than transistors. Software products are generally much more complex than hardware products. So software engineering has a richer set of tools for managing complexity than hardware engineering has.
Testing is hugely important. Engineers test products, and the more testing they do earlier, the fewer bugs they need to fix later. If you've got a system that's incomprehensibly complex, you can still understand how to test it.
Modularity is an example of information hiding. Designs are made up of individually comprehensible pieces or modules. Each piece has complexity inside and simplicity outside. The simple outside part, the interface, determines how that piece works with its neighbors.
Tuesday, April 25, 2006
nanoENGINEER-1, alpha 7 release
The Nanorex team is proud to announce the release of nanoENGINEER-1 Alpha 7, the seventh major release of nanoENGINEER-1. This is the first major release since Alpha 6 was announced on August 17, 2005. Alpha 7 has many improvements and new features.
Undo/Redo
Alpha 7 now includes a new Undo/Redo system making it easy to undo accidental changes to models.
Simulator/Minimizer Improvements
The nanoENGINEER-1 simulator and minimizer have undergone major revisions since Alpha 6. A7 introduces our new and improved molecular force field. We have expanded the list of parameters from our initial testing set to include more atoms and bond types from among the main group elements. It is our intent to have all possible bond types for the first three rows of the main group of the periodic table (B-F, Al-Cl, Ga-Br, and H with all chemically possible combinations of single, double, and triple bonding) accounted for with the completion of the simulator work, except for bond torsion terms, which are planned for Alpha 8. Once this initial set is complete, we will welcome requests for other bond types.
To ensure the accuracy of the minimizer and, consequently, our new molecular force field model, we are developing tests which compare the minimizer output to quantum mechanical results performed at the same high level of theory (B3LYP/6-31+G(d,p)) as the force field itself. These tests have been run on a variety of small structures to cover as many of the force field parameters as possible.
Improved Modeling Interface
Making nanoENGINEER-1 easy to learn and use is one of our highest priorities. With Alpha 7, building models has never been easier and more intuitive. Chemists using commercial molecular modeling programs such as Chem3D, Spartan or Accelrys will find nanoENGINEER-1 a breeze and enjoy its ability to manipulate large chemical species just as easily as small molecules. Mechanical engineers experienced with traditional CAD programs like SolidWorks or Pro/ENGINEER will feel right at home creating and viewing models even though their knowledge of chemistry may be limited.
Wiki-based Help
A new Wiki web site for nanoENGINEER-1 hosts a set of on-line Help pages that can be accessed by pressing the F1 Key while the cursor is hovering over objects in the nanoENGINEER-1 user interface. Users are able (and encouraged) to create a Wiki user account and add or edit the Help pages themselves. We anticipate that over time the Wiki will become an invaluable resource for users of nanoENGINEER-1.
Improved Graphics
Graphics quality and POV-Ray support has been improved significantly. We’ve included animation when switching between views, specular highlighting and improvements to the general graphics and lighting control system that give nanoENGINEER-1 a professional luster it lacked in previous versions.
Nano-Hive Support
nanoENGINEER-1 can serve as a general purpose molecular modeling front-end to Nano-Hive, a nanospace simulator written by Brian Helfrich. Working together, nanoENGINEER-1 allows users to interactively define, calculate and visualize 2D electrostatic potential (ESP) images of molecular models. To see an example of this new capability, check out the ESP Image jig in the nanoENGINEER-1 Gallery.

Mac OS X
Alpha 7 does not yet work on Intel-based Mac systems. We are working on this and hope to support Intel-based Mac systems in the coming weeks. We also just discovered a problem plotting nanoENGINEER-1 simulation trace files using GNUplot on Mac OS X. We will be fixing this problem in the next day or two and posting a new MacOS install package in the Download Area.
Undo/Redo
Alpha 7 now includes a new Undo/Redo system making it easy to undo accidental changes to models.Simulator/Minimizer Improvements
The nanoENGINEER-1 simulator and minimizer have undergone major revisions since Alpha 6. A7 introduces our new and improved molecular force field. We have expanded the list of parameters from our initial testing set to include more atoms and bond types from among the main group elements. It is our intent to have all possible bond types for the first three rows of the main group of the periodic table (B-F, Al-Cl, Ga-Br, and H with all chemically possible combinations of single, double, and triple bonding) accounted for with the completion of the simulator work, except for bond torsion terms, which are planned for Alpha 8. Once this initial set is complete, we will welcome requests for other bond types.To ensure the accuracy of the minimizer and, consequently, our new molecular force field model, we are developing tests which compare the minimizer output to quantum mechanical results performed at the same high level of theory (B3LYP/6-31+G(d,p)) as the force field itself. These tests have been run on a variety of small structures to cover as many of the force field parameters as possible.
Improved Modeling Interface
Making nanoENGINEER-1 easy to learn and use is one of our highest priorities. With Alpha 7, building models has never been easier and more intuitive. Chemists using commercial molecular modeling programs such as Chem3D, Spartan or Accelrys will find nanoENGINEER-1 a breeze and enjoy its ability to manipulate large chemical species just as easily as small molecules. Mechanical engineers experienced with traditional CAD programs like SolidWorks or Pro/ENGINEER will feel right at home creating and viewing models even though their knowledge of chemistry may be limited.Wiki-based Help
A new Wiki web site for nanoENGINEER-1 hosts a set of on-line Help pages that can be accessed by pressing the F1 Key while the cursor is hovering over objects in the nanoENGINEER-1 user interface. Users are able (and encouraged) to create a Wiki user account and add or edit the Help pages themselves. We anticipate that over time the Wiki will become an invaluable resource for users of nanoENGINEER-1.Improved Graphics
Graphics quality and POV-Ray support has been improved significantly. We’ve included animation when switching between views, specular highlighting and improvements to the general graphics and lighting control system that give nanoENGINEER-1 a professional luster it lacked in previous versions.Nano-Hive Support
nanoENGINEER-1 can serve as a general purpose molecular modeling front-end to Nano-Hive, a nanospace simulator written by Brian Helfrich. Working together, nanoENGINEER-1 allows users to interactively define, calculate and visualize 2D electrostatic potential (ESP) images of molecular models. To see an example of this new capability, check out the ESP Image jig in the nanoENGINEER-1 Gallery.
Mac OS X
Alpha 7 does not yet work on Intel-based Mac systems. We are working on this and hope to support Intel-based Mac systems in the coming weeks. We also just discovered a problem plotting nanoENGINEER-1 simulation trace files using GNUplot on Mac OS X. We will be fixing this problem in the next day or two and posting a new MacOS install package in the Download Area.
Saturday, April 15, 2006
Creepy crawlies
When Eric Drexler published Engines of Creation, he included a section on run-away nanotech replicators. The notion is that if there are replicators running around that can use almost anything as feedstock, they buzz through the biosphere converting everything to copies of themselves, leaving behind an ocean of replicators. This is called the "gray goo scenario".
This idea has been popularized by Bill Joy and Michael Crichton and, along with the toxicity of present-day nanoparticles, is considered by many to be one of the grave risks we face in pursuing nanotechnology. Bill Joy's article in Wired recommends that we (the U.S.? the developed nations? Bill and the mouse in his pocket?) simply refrain from developing the technology.
There's a problem: we might refrain, but others won't. The research is difficult but not impossible. Those who pursue the research would be the people who didn't agree to refrain from development, and this dangerous new technology would end up in the hands of those we'd be most fearful of having it.
Drexler and the Foresight Institute, seeking to educate the public and help reason win out over panic, have struggled with these worries for years now. He has argued that building a free-ranging eat-anything replicator is a very difficult engineering problem, comparable to building a car that can forage in the woods for fuel when it runs out of gasoline. Nobody designs a foraging car by accident. A gray-goo replicator may not be possible at all, and if it is possible, it will be the design work of many years.
A dangerous replicator might evolve from nanomachines that started out safe. Many troublesome viruses probably started out as mutations of innocent snippets of DNA. Human-designed nanomachines should not be permitted to evolve. There has been keen interest in nanofactories in recent years, where the instructions are clearly separate from the assembly machinery (what Ralph Merkle calls a broadcast architecture, and computer folks call a SIMD architecture). The instructions are only put to use when the human user decides to push the button to make stuff happen. Autonomous self-replication can not occur, and therefore evolution cannot occur.
Another way to prevent evolution is to ensure that every mutation is fatal. Suppose the replicator's only copy of its blueprint is encrypted, and replication requires decrypting the blueprint each time. If you change one bit or one character in an encrypted document and try to decrypt it, the whole thing becomes meaningless garbage. Any change to the encrypted blueprint will turn the decryption into garbage, and the machine won't be able to build anything.
Finally, there are different ways to pull the plug. One is to stop supplying the energy required for replication. Another is to require tha replication depend upon some exotic "vitamin" available only in a controlled environment.
This idea has been popularized by Bill Joy and Michael Crichton and, along with the toxicity of present-day nanoparticles, is considered by many to be one of the grave risks we face in pursuing nanotechnology. Bill Joy's article in Wired recommends that we (the U.S.? the developed nations? Bill and the mouse in his pocket?) simply refrain from developing the technology.
There's a problem: we might refrain, but others won't. The research is difficult but not impossible. Those who pursue the research would be the people who didn't agree to refrain from development, and this dangerous new technology would end up in the hands of those we'd be most fearful of having it.
Drexler and the Foresight Institute, seeking to educate the public and help reason win out over panic, have struggled with these worries for years now. He has argued that building a free-ranging eat-anything replicator is a very difficult engineering problem, comparable to building a car that can forage in the woods for fuel when it runs out of gasoline. Nobody designs a foraging car by accident. A gray-goo replicator may not be possible at all, and if it is possible, it will be the design work of many years.
A dangerous replicator might evolve from nanomachines that started out safe. Many troublesome viruses probably started out as mutations of innocent snippets of DNA. Human-designed nanomachines should not be permitted to evolve. There has been keen interest in nanofactories in recent years, where the instructions are clearly separate from the assembly machinery (what Ralph Merkle calls a broadcast architecture, and computer folks call a SIMD architecture). The instructions are only put to use when the human user decides to push the button to make stuff happen. Autonomous self-replication can not occur, and therefore evolution cannot occur.
Another way to prevent evolution is to ensure that every mutation is fatal. Suppose the replicator's only copy of its blueprint is encrypted, and replication requires decrypting the blueprint each time. If you change one bit or one character in an encrypted document and try to decrypt it, the whole thing becomes meaningless garbage. Any change to the encrypted blueprint will turn the decryption into garbage, and the machine won't be able to build anything.
Finally, there are different ways to pull the plug. One is to stop supplying the energy required for replication. Another is to require tha replication depend upon some exotic "vitamin" available only in a controlled environment.
Monday, April 10, 2006
Scanning probe microscopy
SPM is a collection of microscopy techniques (of which the first was the scanning tunneling microscope or STM) that permit the imaging of individual atoms. The resolution of the microscopes is not limited by diffraction, but only by the size of the probe-sample interaction volume, which can be as small as a few picometres. The interaction can be used to modify the sample to create small structures.
The STM is an ingenious gadget, invented in 1981 at IBM Zurich. An atomically sharp probe is positioned above a sample; the gap is typically on the order of a nanometer. The probe and the sample are both electrically conductive. A voltage is applied between the probe and the sample. Electrons tunnel across the gap.

It turns out that the tunneling current is very strongly dependent upon the gap distance. So you build a servomechanism that moves the probe up and down in the Z direction, to keep the gap distance constant by keeping the tunneling current constant. Next, you scan the probe in the X and Y directions, tracking out a raster pattern like the one on your television screen. By looking at the Z position information from the servomechanism, you end up with a function Z = f(X, Y) and when you plot that function, or use it to color the pixels on a computer screen, you get pretty pictures of atoms.

The STM is so conceptually simple that it's possible to build one as a hobbyist.
A few years after the STM, the AFM or atomic force microscope was invented. With this device, the interaction between the probe (this time on the end of a cantilever) and sample is not an electric current flow. Instead it is a force due to the Van der Waals interaction. The force can be measured using piezoelectric strain gages built into the cantilever, or using a reflected laser beam to measure deflection of the cantilever.

You would have hoped that these microscopes would have been useful in pushing atoms around as well as seeing them. To a limited extent they are, but not so useful that you can start to build molecular machines with them. Darn.
The STM is an ingenious gadget, invented in 1981 at IBM Zurich. An atomically sharp probe is positioned above a sample; the gap is typically on the order of a nanometer. The probe and the sample are both electrically conductive. A voltage is applied between the probe and the sample. Electrons tunnel across the gap.
It turns out that the tunneling current is very strongly dependent upon the gap distance. So you build a servomechanism that moves the probe up and down in the Z direction, to keep the gap distance constant by keeping the tunneling current constant. Next, you scan the probe in the X and Y directions, tracking out a raster pattern like the one on your television screen. By looking at the Z position information from the servomechanism, you end up with a function Z = f(X, Y) and when you plot that function, or use it to color the pixels on a computer screen, you get pretty pictures of atoms.

The STM is so conceptually simple that it's possible to build one as a hobbyist.
A few years after the STM, the AFM or atomic force microscope was invented. With this device, the interaction between the probe (this time on the end of a cantilever) and sample is not an electric current flow. Instead it is a force due to the Van der Waals interaction. The force can be measured using piezoelectric strain gages built into the cantilever, or using a reflected laser beam to measure deflection of the cantilever.

You would have hoped that these microscopes would have been useful in pushing atoms around as well as seeing them. To a limited extent they are, but not so useful that you can start to build molecular machines with them. Darn.
Molecular electronics
Over the past few years there has been a lot of fascinating work in molecular electronics. Because of the success of digital logic implemented in VLSI over the past several decades, molecular electronics researchers have focused most of their attention on implementing digital circuits using logic gates.
Early work included the identification of a molecular rectifier or diode, a device that allows electrical current to pass one way but not the other. Arranging diodes in a crossbar arrangement is a major step toward the implementation of complex logic circuits. Additional pieces required to make it practical include nanoscale wires, inverters, and amplifiers, and maybe a flip-flop.

Carbon nanotubes can have different chiralities, which give different electrical properties. Some chiralities give conduction so that the nanotube functions as a wire. Other chiralities give semiconductor behavior, introducing the possibility that a nanotube may be useful as a carbon transistor.
There was some very interesting work done by HP and UCLA in January 2002, basically a way to build a rectangular array of north-south and east-west wires, and connect them by fuses that could be selectively blown. That permits a lot of flexibility in wiring up circuits, which you need to do anything interesting. I haven't heard much more about the HP-UCLA work since 2002, though, and I wonder if they've hit some kind of stumbling block. Their work was based on rotaxanes and catenanes.
There is more to say on this topic, and it will merit another posting one of these days.
Early work included the identification of a molecular rectifier or diode, a device that allows electrical current to pass one way but not the other. Arranging diodes in a crossbar arrangement is a major step toward the implementation of complex logic circuits. Additional pieces required to make it practical include nanoscale wires, inverters, and amplifiers, and maybe a flip-flop.

Carbon nanotubes can have different chiralities, which give different electrical properties. Some chiralities give conduction so that the nanotube functions as a wire. Other chiralities give semiconductor behavior, introducing the possibility that a nanotube may be useful as a carbon transistor.
There was some very interesting work done by HP and UCLA in January 2002, basically a way to build a rectangular array of north-south and east-west wires, and connect them by fuses that could be selectively blown. That permits a lot of flexibility in wiring up circuits, which you need to do anything interesting. I haven't heard much more about the HP-UCLA work since 2002, though, and I wonder if they've hit some kind of stumbling block. Their work was based on rotaxanes and catenanes.
There is more to say on this topic, and it will merit another posting one of these days.
Thursday, April 06, 2006
More molecular machines in nature
Painless blog posting: plug "molecular machine" into Google Scholar, and cut-and-paste whatever comes out! I'm not quite that lazy, I looked at them to see if they were reasonably complete, and weren't of such narrow interest that only three people in the world would want to read them.
Two molecular machines combined
The first combination of two molecular machines has been claimed by Kazushi Kinbara at the University of Tokyo, Japan. The first piece is a light-driven actuator which twists a double bond one way in UV light, and the other way in visible light, causing a pliers-like pair of pieces to hinge closed and open. The ends of the pliers connect to a couple of flippers. By pulsing the light correctly, one can presumably get the flippers to kick, and make the thing swim around in a liquid.

Click for larger image
According to the article, research labs have produced a profusion of interesting molecular machines, but none by itself does anything complex enough to be really useful or extensible. The innovation here is supposed to be the combination of multiple machines. I'm not sure that flapping flippers is much more useful behavior than any of the individual machines would perform. It would be interesting Kinbara had found some kind of general approach by which different submachines could be built into large assemblies, but there is no evidence for that in the articles I could find. Kinbara evidently sees the value of that as a goal, and guesses that large assemblies are about five years out.

Click for larger image
According to the article, research labs have produced a profusion of interesting molecular machines, but none by itself does anything complex enough to be really useful or extensible. The innovation here is supposed to be the combination of multiple machines. I'm not sure that flapping flippers is much more useful behavior than any of the individual machines would perform. It would be interesting Kinbara had found some kind of general approach by which different submachines could be built into large assemblies, but there is no evidence for that in the articles I could find. Kinbara evidently sees the value of that as a goal, and guesses that large assemblies are about five years out.
Sunday, March 26, 2006
More steps along the way
If one thinks about this stuff much, one must inevitably ask, what is the pathway to get from here to there? Ordinarily when attacking a big complicated task, one partitions it into many small subtasks. Then you can draw a big diagram with little boxes connected by lines, the boxes representing subtasks and the lines representing dependencies between subtasks, what the project management weenies call a PERT chart. So where is the PERT chart for developing advanced molecular manufacturing?

Rob Freitas took a stab at one a couple years ago, aimed specifically at diamondoid systems. At the most recent Foresight conference, Drexler and Damian Allis presented work on a tooltip similar in appearance to those described by Freitas, and also intended for extracting and depositing individual atoms on a work surface. More or less simultaneously the Foresight Institute announced their plan to develop a technology roadmap to get us to "productive nanosystems", which is basically the nanofactory shown in the animation. From there it's a relatively small step to any other form of nanotechnology. The nanofactory is the preferred concept today because there is no conceivable way that it could get loose or mutate or go out of control, and people worry about such things.
The people doing Foresight's technology roadmap stuff are talking to people with money, so that might turn out to be interesting. There is also the work by Schafmeister and Rothemund. So it's a pretty interesting time.

Rob Freitas took a stab at one a couple years ago, aimed specifically at diamondoid systems. At the most recent Foresight conference, Drexler and Damian Allis presented work on a tooltip similar in appearance to those described by Freitas, and also intended for extracting and depositing individual atoms on a work surface. More or less simultaneously the Foresight Institute announced their plan to develop a technology roadmap to get us to "productive nanosystems", which is basically the nanofactory shown in the animation. From there it's a relatively small step to any other form of nanotechnology. The nanofactory is the preferred concept today because there is no conceivable way that it could get loose or mutate or go out of control, and people worry about such things.
The people doing Foresight's technology roadmap stuff are talking to people with money, so that might turn out to be interesting. There is also the work by Schafmeister and Rothemund. So it's a pretty interesting time.
Monday, March 20, 2006
DNA origami
There is an MSNBC story about "DNA origami", a technique invented by Paul Rothemund at Caltech to form large complicated shapes by controlling folding patterns in long DNA chains.

Each of the two smiley faces are giant DNA complexes, imaged with an atomic force microscope. Each is about 100 nanometers across (1/1000th the width of a human hair), 2 nanometers thick, and comprised of about 14,000 DNA bases. 7000 of these DNA bases belong to a long single strand. The other 7000 of these bases belong to about 250 shorter strands, each about 30 bases long. These short strands fold the long strand into the smiley face shape. - Paul Rothemund
Rothemund's work is published in Nature, and the full text is available as a PDF at his website. Rothemund works in the DNA and Natural Algorithms Group headed by Erik Winfree.

Each of the two smiley faces are giant DNA complexes, imaged with an atomic force microscope. Each is about 100 nanometers across (1/1000th the width of a human hair), 2 nanometers thick, and comprised of about 14,000 DNA bases. 7000 of these DNA bases belong to a long single strand. The other 7000 of these bases belong to about 250 shorter strands, each about 30 bases long. These short strands fold the long strand into the smiley face shape. - Paul Rothemund
Rothemund's work is published in Nature, and the full text is available as a PDF at his website. Rothemund works in the DNA and Natural Algorithms Group headed by Erik Winfree.
Monday, March 06, 2006
DNA computing progress
On February 24th, National Geographic reported on progress in DNA computing. This field began in 1994 with Leonard Adelman's work on solving the Hamiltonian path problem, and then I didn't hear much about it after that.
Ehud Shapiro and his colleagues at the Weizmann Institute in Israel have developed a DNA computer that can perform 3.3x1014 operations per second. A cubic centimeter of "computer soup" contains about 1.5x1016 individual computers, with a memory capacity of about 6x1020 bytes (ten billion 60-gigabyte hard drives). The two primary advances are that the system is generally programmable, and that the computation is powered by DNA rather than ATP.
"Autonomous bio-molecular computers may be able to work as 'doctors in a cell,' operating inside living cells and sensing anomalies in the host," said Shapiro. "Consulting their programmed medical knowledge, the computers could respond to anomalies by synthesizing and releasing drugs."This approach appears applicable only to embarrassingly parallel problems involving no inter-processor communication. It should be able to tackle some problems in global optimization, though probably not very complicated ones like de-novo protein design, one of the possible pathways toward advanced nanotechnology. For the time being, it's not yet clear that this is a very useful technique.
Monday, January 30, 2006
Design tools for nanotechnology
I've thought a lot about nanotechnology design systems over the past ten years. First I read a beautiful description of a virtual reality system for studying molecular machines up close. It was feasible but not economical; some day that will change. Next I read a little about molecular mechanics, and realized that the principles involved were well within my mathematical and programming abilities.
So I wrote some code (first C, then Lisp, finally Java) that allowed you to put together a little structure with carbon, hydrogen, oxygen, and nitrogen. You could energy-minimize it, and theoretically I could have done equations of motion, but at some point I got busy with other things.
On mailing lists and Usenet, I continued to think more about design systems for nanotech.
So I wrote some code (first C, then Lisp, finally Java) that allowed you to put together a little structure with carbon, hydrogen, oxygen, and nitrogen. You could energy-minimize it, and theoretically I could have done equations of motion, but at some point I got busy with other things.
On mailing lists and Usenet, I continued to think more about design systems for nanotech.
- In the electronics world there is a language for design and simulation called VHDL, which offers a lot of great facilities for managing the complexity of very large projects. Some day nanotech will have its own version of VHDL. Developing it will require learning which details can be safely ignored to give a really terse description of a useful structure.
- When simulating, you don't want to model every single atom in a huge structure. Frequently you want to say that these million atoms just act like a big block, with a little rubberiness or sponginess, but I don't care about their individual vibrations inside the block.
- It would be extraordinarily cool if I could put on VR goggles and force-feedback gloves and physically interact with the structures I design.
- If we accept the premise that real nanotech hardware may be potentially dangerous, we should develop design and simulation software first, so that we're familiar with the dangerous things before they actually exist.
Saturday, December 31, 2005
Nanomachines in nature
Kinesin and dynein are proteins that move along a microtubule and can drag along a mechanical load (another molecule). They are among several molecular motors found in nature. Another example is the flagella that push bacteria around in pond water, driven by a motor that looks like it came from a mechanical parts catalog. Click the image below for an enlarged version.

Ribosomes translate RNA sequences into proteins a chemical/mechanical process.
Some people are using these molecular machines to plan nanotechnology roadmaps, and there has been some laboratory progress. We won't have real nanotechnology any time soon, but these are excellent steps in that direction. Biomechanics hints at a lot of interesting things we can do with available cellular mechanisms.
To people thinking about the long term, as I like to do, these efforts are stepping stones. We'll use them to build tools, and use those tools to build other tools, with the eventual goal of a manufacturing infrastructure that permits us to build large rationally-designed products to atomic precision.

Ribosomes translate RNA sequences into proteins a chemical/mechanical process.
Some people are using these molecular machines to plan nanotechnology roadmaps, and there has been some laboratory progress. We won't have real nanotechnology any time soon, but these are excellent steps in that direction. Biomechanics hints at a lot of interesting things we can do with available cellular mechanisms.
To people thinking about the long term, as I like to do, these efforts are stepping stones. We'll use them to build tools, and use those tools to build other tools, with the eventual goal of a manufacturing infrastructure that permits us to build large rationally-designed products to atomic precision.
Saturday, December 17, 2005
How molecular modeling works
I learned about molecular modeling while working on my NanoCAD applet. Now we use it in nanoENGINEER-1.
Atoms are comprised of a small dense positively-charged nucleus surrounded by a probabilistic cloud of negatively-charged electrons. The shape and behavior of the electron cloud is governed by quantum mechanics. The nucleus is heavy enough that you can think of it in classical terms. The electrons and the nucleus electrically attract each other.
If you want to get really accurate information about molecular mechanics, you get a cluster of computers and run software that solves the quantum mechanical wave equation. Generally this is a hugely compute-intensive undertaking. If you want to see behavior over a series of moments in time, like an animation, you probably can't afford to do real quantum mechanics, so you've got to cheat.
The way to cheat is to regard the nuclei as point masses connected by non-linear springs. These non-linear springs take into account the electrostatic forces with the electrons and other nearby nuclei. This formulation gives energies in terms of geometric properties such as bond lengths, bond angles, and dihedral angles. Additionally there are grosser electrostatics to think about (charged ions, and bonds have electrical dipole moments if the atoms have different electronegativities) and one more force between unbonded atoms called the van der Waals force. The NIH has a great web page about this stuff.

Each of these things gives a component of potential energy in terms of the geometry of the molecule. Taking the negative gradient of that energy in the 3N space of atom coordinates gives you the forces acting on the atoms. Plug those into equations of motion, and integrate, and you're done.
There are still a few things to think about. One is numerical instabilities: any non-zero time step will give approximate answers, and you end up with violations of conservation of energy. Another thing is that you can't model the making and breaking of chemical bonds this way, you can only model stable structures that aren't reacting.
There are some things that can help with numerical stability. One is to notice that the quick motion of the hydrogens, which will consume a lot of your computrons, isn't very interesting. So you can play tricks like making the hydrogens heavier, or locking the hydrogens' positions relative to the atom they bond to (just add their masses to its mass), allowing a longer time step. Another is to use an integration method like Verlet that does better with energy conservation.
I'll probably write more about this topic in the future. It's deep and interesting, and if the Nanorex experience adds some modest qualifications in molecular modeling to my resume, it will have been time very well spent.
Atoms are comprised of a small dense positively-charged nucleus surrounded by a probabilistic cloud of negatively-charged electrons. The shape and behavior of the electron cloud is governed by quantum mechanics. The nucleus is heavy enough that you can think of it in classical terms. The electrons and the nucleus electrically attract each other.
If you want to get really accurate information about molecular mechanics, you get a cluster of computers and run software that solves the quantum mechanical wave equation. Generally this is a hugely compute-intensive undertaking. If you want to see behavior over a series of moments in time, like an animation, you probably can't afford to do real quantum mechanics, so you've got to cheat.
The way to cheat is to regard the nuclei as point masses connected by non-linear springs. These non-linear springs take into account the electrostatic forces with the electrons and other nearby nuclei. This formulation gives energies in terms of geometric properties such as bond lengths, bond angles, and dihedral angles. Additionally there are grosser electrostatics to think about (charged ions, and bonds have electrical dipole moments if the atoms have different electronegativities) and one more force between unbonded atoms called the van der Waals force. The NIH has a great web page about this stuff.

Each of these things gives a component of potential energy in terms of the geometry of the molecule. Taking the negative gradient of that energy in the 3N space of atom coordinates gives you the forces acting on the atoms. Plug those into equations of motion, and integrate, and you're done.
There are still a few things to think about. One is numerical instabilities: any non-zero time step will give approximate answers, and you end up with violations of conservation of energy. Another thing is that you can't model the making and breaking of chemical bonds this way, you can only model stable structures that aren't reacting.
There are some things that can help with numerical stability. One is to notice that the quick motion of the hydrogens, which will consume a lot of your computrons, isn't very interesting. So you can play tricks like making the hydrogens heavier, or locking the hydrogens' positions relative to the atom they bond to (just add their masses to its mass), allowing a longer time step. Another is to use an integration method like Verlet that does better with energy conservation.
I'll probably write more about this topic in the future. It's deep and interesting, and if the Nanorex experience adds some modest qualifications in molecular modeling to my resume, it will have been time very well spent.
Monday, December 05, 2005
Design-ahead
Design-ahead is the idea that we can design things that cannot be built yet. The products of future nanotechnology will follow the laws of physics, just as horseshoes and jet engines do. Those laws are knowable today, and they allow us to reason about future gadgets that we can't yet make.
Using hammers and tongs and a forge to make metal hot and soft, a blacksmith can make a horseshoe. He can make an axe or a sword or metal parts for a wagon. But he can't make a jet engine. The reason he can't make a jet engine is because the necessary tolerances are much too precise. Building a jet engine takes a more advanced form of manufacturing technology than blacksmithing.
The blacksmith can read about thermodynamics and materials and fluid mechanics and other sciences, and he can start to reason about whether a jet engine could actually work. Given a jet engine design, he can calculate how strong the metal needs to be, the pressure and temperature of gasses flowing through the engine, how much thrust it could deliver, and other such things. He can determine whether a design is theoretically feasible or theoretically disallowed by physical laws, even if he can't build the engine.
Many indicators suggest that within a few decades, we will be building machines of molecular size. These machines will have moving parts: gears, axles, bearings, rods, pistons, all the machine parts we are familiar with today, in addition to much smaller versions of today's electronics. We will be able to fit hundreds of millions of moving parts inside a small fraction of the volume of a human cell. These can be used to build machines that monitor the cell's health and protect it from viruses and some effects of ageing. We will also be able to make much stronger materials than we can make today, because we'll make large pieces with no material flaws in them.
Why bother with design-ahead? For a few reasons. One is that it will help us get to the point of really doing this stuff. Another is that it will help us plan for things that can go wrong, like nanotech weapons getting into the hands of terrorists and rogue states. Another is to encourage people to learn about nanotech so that the economic disruption is mitigated when it arrives. The kids who study physics and chemistry and computers today can be the designers of tomorrow's nanotechnological gadgets.
Using hammers and tongs and a forge to make metal hot and soft, a blacksmith can make a horseshoe. He can make an axe or a sword or metal parts for a wagon. But he can't make a jet engine. The reason he can't make a jet engine is because the necessary tolerances are much too precise. Building a jet engine takes a more advanced form of manufacturing technology than blacksmithing.
The blacksmith can read about thermodynamics and materials and fluid mechanics and other sciences, and he can start to reason about whether a jet engine could actually work. Given a jet engine design, he can calculate how strong the metal needs to be, the pressure and temperature of gasses flowing through the engine, how much thrust it could deliver, and other such things. He can determine whether a design is theoretically feasible or theoretically disallowed by physical laws, even if he can't build the engine.
Many indicators suggest that within a few decades, we will be building machines of molecular size. These machines will have moving parts: gears, axles, bearings, rods, pistons, all the machine parts we are familiar with today, in addition to much smaller versions of today's electronics. We will be able to fit hundreds of millions of moving parts inside a small fraction of the volume of a human cell. These can be used to build machines that monitor the cell's health and protect it from viruses and some effects of ageing. We will also be able to make much stronger materials than we can make today, because we'll make large pieces with no material flaws in them.
Why bother with design-ahead? For a few reasons. One is that it will help us get to the point of really doing this stuff. Another is that it will help us plan for things that can go wrong, like nanotech weapons getting into the hands of terrorists and rogue states. Another is to encourage people to learn about nanotech so that the economic disruption is mitigated when it arrives. The kids who study physics and chemistry and computers today can be the designers of tomorrow's nanotechnological gadgets.
Subscribe to:
Posts (Atom)