Interactive design notebooks based on constraint programming make people smarter. Two early systems proved that. Nothing comparable exists at the curren time - would you like to build one?
Expert Systems replicate the expertise of human experts in a specific domain. Would you like to have one as a personal assistant to handle all of your routine tasks?
Mycin exceeded human capacity for diagnosing and treating Encephalitis.
Emycin was an Expert-System Shell derived from Mycin by deleting Mycin’s domain knowlege
Tiresias was one such Emycin Expert System, for building Emycin-based Expert Systems!
Although Mycin was evaluated as more superior at diagnosis and treament prescriptions than the most expert human specialists, it was not put into practice because it required that nurses and physicians would need to use a computer terminal and at that time nurses and physicians didn’t have the skills or the patience to do so!
There’s a rich history of software tools which model what a computer user/designer/programmer/etc. is trying to do and assist them in doing it. Automated software assistants free us to do the creative work by handling all of the predictable parts. DWIM continuously learned by monitoring all errors (exceptions) reported by everyone using the same programming system (InterLisp).
Two especially brilliant systems have no worthy successor today. Would you like to create one?
- Augment
- The Mother of all Demos
The early commercial personal computers were extraordinary for their price, but they were very limited in their functionality.
Much more powerful and flexible machines were being developed for power users:
Before these more powerful machines could take advantage of the cheaper VLSI technology they were supplanted by the cheaper but less functional Personal Workstations running a POSIX which were then largely supplanted by Apple Macintoshes or Microsoft Windows PCs.
In terms of raw computing power, today’s Macs and PCs are more powerful than those earlier computers. But the earlier systems had features making them in many ways more powerful. Can the right software upgrade our modern fast-but-stupid systems to equal or surpass these earlier systems?
The goal is to create an automated manufacturing system which can create any designed manufactured product, including another automated manufacturing system! Thus
- The price of all goods can become little more than the cost of their raw materials
- Automated production of equipment to produce raw materials can bring prices down further
- More people able to participate with design and manufacturing, including hobbyists leads to more collaboration in creating and refining designs leading to a rapid evolution of innovative products
- Patent-free Open source designs will improve the fastest!
3D Printers are just one component of such a system. The whole thing is sometimes called a Fab Lab
- https://www.fablabs.io/
- http://cba.mit.edu/about/
- https://en.wikipedia.org/wiki/Fab_lab
- RepRap 3D Printers
This video is important because it shows the general idea with such an accessible example:
SpaceX prints large parts of their rockets using 3D Printers. Relativity Space prints their entire rockets with 3D Printers!
Did you know that biologists created a synthetic lifeform from scratch more than 10 years ago? And that they’ve been refining it ever since?
- https://redice.tv/news/craig-venter-creates-first-synthetic-life-form
- https://en.wikipedia.org/wiki/Artificial_gene_synthesis
What kind of 3D Printer could efficiently print a microfluidics-based compact chemical analysis and synthesis laboratory? Could you build such a 3D Printer using a Fab Lab in your garage?
- Breathless article
- The lab of the future is now
Cheap desktop 3D Printers generally only print models using plastic. Yet they can print molds which can be used to create components made of metal and other materials which can be used to build, for example, more powerful 3D Printers, such as the ones which are used to print rockets and jet turbines which are made of exotic metal alloys and other materials.
- Bootstrapping
- Using a simple tool or set of tools to produce a more powerful set of tools which are then used to produce a still more powerful set of tools, and so on without limit.
- Bootstrapping can be applied to physical tools, software tools and even conceptual tools!
Everything below here consists of materials which will hopefully lead to an improved version of this document - unless you get there before we do!
get my article back online!!!If you’re interested in creating the kinds of programming which have traditionally been done in C and C++, e.g. creating Operating Systems, Rust is likely your best language!