Mind Matters Natural and Artificial Intelligence News and Analysis

CategoryProgramming

real-php-code-developing-screen-programing-workflow-abstract-algorithm-concept-lines-of-php-code-visible-under-magnifying-lens-stockpack-adobe-stock.jpg
Real Php code developing screen. Programing workflow abstract algorithm concept. Lines of Php code visible under magnifying lens.

How did Ray Solomonoff Kickstart Algorithmic Information Theory?

He started off the long pursuit of the shortest effective string of information that describes an object

In last week’s podcast,, “The Chaitin Interview II: Defining Randomness,” Walter Bradley Center director Robert J. Marks interviewed mathematician and computer scientist Gregory Chaitin on how best to describe true randomness but also on what he recalls of Ray Solomonoff (1926–2009), described in his obit as the “Founding Father of algorithmic information theory.” https://episodes.castos.com/mindmatters/Mind-Matters-125-Gregory-Chaitin.mp3 This portion begins at 10:30 min. A partial transcript, Show Notes, and Additional Resources follow. Gregory Chaitin (pictured): Ray Solomonoff was interested in prediction but I was more interested in looking at a given string of bits and asking, does it have structure or not, and the incompleteness results regarding this question. For example, most strings of bits have no structure, according to this definition. They…

infinite-random-numbers-original-3d-rendering-background-technology-and-science-concepts-stockpack-adobe-stock.jpg
Infinite random numbers, original 3d rendering background, technology and science concepts

Chaitin’s Discovery of a Way of Describing True Randomness

He found that concepts from computer programming worked well because, if the data is not random, the program should be smaller than the data

In this week’s podcast, “The Chaitin Interview II: Defining Randomness,” Walter Bradley Center director Robert J. Marks interviewed mathematician and computer scientist Gregory Chaitin on randomness. It’s a subject on which Chaitin has thought deeply since his teenage years (!), when he published a journal paper on the subject. How do we measure randomness? Chaitin begins by reflecting on his 1969 paper: https://episodes.castos.com/mindmatters/Mind-Matters-125-Gregory-Chaitin.mp3 This portion begins at 1:12 min. A partial transcript, Show Notes, and Additional Resources follow. Gregory Chaitin: In particular, my paper looks at the size of computer programs in bits. More technically you ask, what is the size in bits of the smallest computer program you need to calculate a given digital object? That’s called the program…

program-development-concept-young-man-working-with-computer-stockpack-adobe-stock.jpg
Program development concept. Young man working with computer

Why Software Cannot Just Evolve — a Demonstration

The claims for Avida — a software program that is supposed to “evolve” solutions via neo-Darwinian evolution — fail the most basic test

A Michigan State University publication headlined a media release declaring: “Evolution of learning is key to better artificial intelligence” (September 19, 2019). Reportedly, researchers used the computer simulation software, Avida, to show the “evolution of learning.” On that view, artificial intelligence arises via neo-Darwinian evolution. Really? The “Sound Bites” Were Exciting… The university’s team “composed of biologists and computer scientists used a digital evolution program that allowed them to observe tens of thousands of generations of evolution in just a few hours, a feat unachievable with living systems.” According to the release: • “The results are the first demonstration that shows the evolution of associative learning in an artificial organism without a brain.” • “While the environment was simulated, the…

font-lead-set-book-printing-stockpack-pixabay.jpg
font, lead set, book printing

The Myth of “No Code” Software (Part III)

The complexities of human language present problems for natural language programming

Many visions of the future include humans programming through “natural language” — where humans merely state what they want and computers “figure out” how to write code that does what is requested. While there have been many demos that have led people to believe that this will be possible, the truth is, the idea has so many problems with it, it is hard to know where to begin. Let’s begin with the successes of natural language programming. Wolfram|Alpha is probably the best-known natural language programming system. You type in a command in natural English, and Wolfram|Alpha converts that command into native Mathematica code and runs it. In 2010, Stephen Wolfram announced that Wolfram|Alpha signified that natural language programming really was…

cardboard-boxes-with-empty-space-on-left-side-logistics-and-delivery-concept-3d-rendering-stockpack-adobe-stock.jpg
Cardboard boxes with empty space on left side, logistics and delivery concept. 3D Rendering

The Myth of “No Code” Software (Part II)

Why (and where) no-code doesn't work

In my previous article, I noted that what programmers do is translate ambiguous specifications into very exact specifications, taking into account all of the specific subtleties that the implementation requires. However, I recognize that those not familiar with custom software may not recognize the problem. This article describes in additional detail the kinds of considerations that cause no-code solutions to be problematic. The essence of the problem is this: there are an infinite number of possible ways your business could possibly work, but only one way that it actually works. The work of the programmer is to make sure the software matches the specific way that your business works. Let’s take something simple like calculating shipping. It might be easy…

programming-work-time-programmer-typing-new-lines-of-html-code-laptop-and-hand-closeup-working-time-web-design-business-concept-stockpack-adobe-stock.jpg
Programming Work Time. Programmer Typing New Lines of HTML Code. Laptop and Hand Closeup. Working Time. Web Design Business Concept.

The Myth of “No Code” Software (Part I)

"No code" software has its place, but not as a replacement for programmers

For at least the past twenty-five years of software development, people have been claiming that, using this tool or that tool, we will be able to build software with “no code,” and that our tools will build code for us.  The claims have varied with whatever the current technology is. In the 1990s, the idea was that we could have a system which allowed building software entirely with drag-and-drop interfaces. Tools such as Visual Basic, Delphi, PowerBuilder, and even Microsoft Access made people think that this was an achievable dream. It turned out not to be deliverable on its promises. We’ll get more into the “why” later on. Today we have a new set of tools and a new set…

shot-of-corridor-in-working-data-center-full-of-rack-servers-and-supercomputers-with-pink-neon-visualization-projection-of-data-transmission-through-high-speed-internet-stockpack-adobe-stock.jpg
Shot of Corridor in Working Data Center Full of Rack Servers and Supercomputers with Pink Neon Visualization Projection of Data Transmission Through High Speed Internet.

Would Super AI Cure Cancer — or Destroy the Earth?

Max Planck Institute computer scientists say that we not only don’t but can’t know

An international team of computer scientists associated with the Max Planck Institute concluded that, given the nature of computers, there is no way of determining what superintelligent AI would do: An international team of computer scientists used theoretical calculations to show that it would be fundamentally impossible to control a super-intelligent AI “A super-intelligent machine that controls the world sounds like science fiction. But there are already machines that perform certain important tasks independently without programmers fully understanding how they learned it. The question therefore arises whether this could at some point become uncontrollable and dangerous for humanity”, says study co-author Manuel Cebrian, Leader of the Digital Mobilization Group at the Center for Humans and Machines, Max Planck Institute for…

teddy-bear-and-toys-in-a-babys-room-stockpack-adobe-stock.jpg
Teddy bear and toys in a baby's room

Why Medical Device Companies Use Priorities Created by Toy Makers

The priorities followed by product developers arise from the ontology they use

The priorities of product development teams arise from the ontology, the beliefs about the nature of reality, they follow. One of the greatest values of defining that ontology is to identify blind spots and wrong assumptions. When the source of priorities is clear, improved, more adaptable options become possible. As Clayton Christensen (1952–2020, pictured) has said: To grow profit margins and revenue, he observes, such companies tend to develop products to satisfy the demands of their most sophisticated customers. As successful as this strategy may be, it means that those companies also tend to ignore opportunities to meet the needs of less sophisticated customers — who may eventually form much larger markets. A hierarchy of products starts with the components,…

mensch-und-roboter-in-der-medizin-der-zukunft-beruf-arzt-am-arbeitsplatz-stockpack-adobe-stock.jpg
Mensch und Roboter in der Medizin der Zukunft, Beruf Arzt am Arbeitsplatz

Can Robots That Work With People Ever Be Safe?

Robot IQ offers five reasons why not

Cobots are robots designed to be friendly to people. But some doubt that friendship will work: It can be tempting to think of risk as an either/or situation — either your application is safe or it isn’t. In reality, risk is a sliding scale and you can never get rid of all risks completely. You can only know the true risk of a particular task by performing an adequate risk assessment. You need to do this whether the robot is collaborative or not. Truth: cobot safety can be changed to suit task performance The reality is that cobots have always been high-performance robots suitable for a range of industrial applications. Instead of being lesser robots, as some people mistakenly believe,…

cropped-shot-of-radio-host-speaking-in-microphone-in-broadcasitng-studio-stockpack-adobe-stock.jpg
cropped shot of radio host speaking in microphone in broadcasitng studio

Radio Is Changing From Hardware to Software: New Policies Needed!

Perhaps surprisingly, theology may play a role in determining how radio will be used

As I noted in an article earlier this week, dynamic spectrum access networks (DySPAN), implementing policy-based radio, are defining the future of wireless. The new networks are based on ontologies. Ontology is the study of the essential nature of a subject. It identifies the objects or variables that are involved. It then identifies the relationships between them. An ontology identifies the variables and how they relate to one another. That knowledge is then used to develop solutions. The initial ontology focuses on the variables that may result in one radio service interfering with another. The subject is the transmission level. The purpose is to improve coexistence. The goal is to get transmitters to share the same spectrum with a minimum…

team-of-programmers-working-on-new-projectthey-working-late-at-night-at-the-office-stockpack-adobe-stock.jpg
Team of  programmers working on new project.They working late at night at the office.

Does Programming Depend More on Math or Language Skills?

Neither, actually, say researchers. It’s a more global network

Researchers have discovered that learning to code software uses not just math or language skills but rather a broader region of the brain called the “multiple demand network,” which is active when we are solving complex problems: “Understanding computer code seems to be its own thing. It’s not the same as language, and it’s not the same as math and logic,” says Anna Ivanova, an MIT graduate student and the lead author of the study. Anne Trafton, “To the brain, reading computer code is not the same as reading language” at MIT News Paper. (open access) (December 15, 2020) Neuroscientist Evelina Fedorenko, another of the study’s authors, says that there are two schools of thought regarding programming: One is, you…

quantum-computer-closeup-stockpack-adobe-stock.jpg
quantum computer closeup

Could Slowing Quantum Processes Lead To More Useful Computing?

“Adiabatic” quantum computing slows down the process, in the hope of achieving more reliable quantum positions

In a recent podcast, “Enrique Blair on quantum computing,” Walter Bradley Center director Robert J. Marks talks with fellow computer engineer Enrique Blair about why quantum mechanics is so strange but important to our future. They discussed the prospects of slowing down quantum computing to make it more useful (adiabatic computing). https://episodes.castos.com/mindmatters/Mind-Matters-110-Enrique-Blair.mp3 The discussion of quantum communication begins at approximately 58:47. The Show Notes and transcript follow. Enrique Blair (pictured): I guess the challenge with entangling massive numbers of quantum systems is that entanglement becomes much more fragile. In quantum communication, you just need pairs of photons to be entangled. One with another, that’s it. Whereas with quantum computing, you need many, many systems to be entangled, and that’s just…

concept-of-a-futuristic-quantum-data-center-supercomputer-running-with-physical-waves-stockpack-adobe-stock.jpg
Concept of a futuristic quantum data center, supercomputer running with physical waves

Why Google’s “Quantum Supremacy” Isn’t Changing Much—Not Yet

Quantum computing was suggested by physicist Richard Feynman in 1982; the supremacy battles are quite recent

In last week’s podcast, “Enrique Blair on quantum computing,” Walter Bradley Center director Robert J. Marks talks with fellow computer engineer Enrique Blair about why quantum mechanics is so strange but important to our future. One thing they discussed was Google’s claim to quantum supremacy. What does it mean? Does it matter? https://episodes.castos.com/mindmatters/Mind-Matters-110-Enrique-Blair.mp3 The discussion of quantum supremacy begins at approximately 47:55. The Show Notes and transcript follow. Excerpts from the transcript: Robert J. Marks (pictured): Google recently announced they had achieved quantum supremacy. What is quantum supremacy, and how does that relate to the quantum computer and the other computers that we use today? Enrique Blair: It’s a pretty interesting buzzword. Maybe the first thing to mention is what…

black-diagonal-chain-a-blockchain-concept-double-stockpack-adobe-stock.jpg
Black diagonal chain, a blockchain concept, double

Can Blockchain Help Ensure Fraud Free Voting?

Could blockchain have prevented the current controversy around voter fraud in the recent U.S. election?

In Wednesday’s meeting between Donald Trump’s lawyer Rudy Giuliani and Republican senators from the Pennsylvania legislature about potential voter fraud in the state, one state senator suggested blockchain as a potential cure for the type of voter fraud being alleged. A company called VOATZ has the technology to do this and was mentioned by name. Blockchain is the secret sauce that keeps bitcoin working. Each new bitcoin transaction is encrypted as a new link in the chain, which is distributed to numerous sites. If anyone tries to change a link in the blockchain, everyone who stores the bitcoin blockchain knows it, so the fraud is detected and removed. The beauty of blockchain is that trust is assured among people who…

educated-school-kid-lifting-world-globe-chalk-doodle-drawing-on-green-chalkboard-for-education-concept-stockpack-adobe-stock.jpg
Educated school kid lifting world globe chalk doodle drawing on green chalkboard for education concept

To Fix Math Education, See It as a Program That Needs an Update

As a computer programmer, I’ve seen this problem in my work: The basic idea is still sound but “fixes” have made it too complex

In this series we are looking at ways that math education can be reformed. In contrast to some other math reform efforts, we are not trying to fundamentally rewrite what math education is doing but to simply admit that we can do better and see where that takes us. (See Part 1, Part 2, and Part 3.) Here in Part 4, let’s look at specific content issues that, I will argue, we could improve when we do a curriculum revision. Mathematics is an old subject. We have inherited quite a bit of mathematical thought. We must educate future generations so as to make sure that this hard-won knowledge is not lost. But one of the biggest impediments to our task…

infrastructure-portuaire-stockpack-adobe-stock.jpg
infrastructure portuaire

Making Docker Work in Your Computer Infrastructure

Here are some best practices for building Docker images

If you use Docker to manage your infrastructure, you need to put time into thinking about how to build it. Here is a quick rundown of the things to keep in mind: Smaller is Better By itself, Docker makes great use of filesystem space. Because each container only holds the changes from the images, a little bit of image bloat doesn’t directly impact the server adversely. However, this doesn’t mean that we shouldn’t worry about bloat at all. Not only should we not waste space without reason, images that are too big cause other problems that you need to be aware of. The most important consideration is attack surface. Every program that you have on your image is a potential…

-stockpack-unsplash.jpg

China: COVID-19’s True History Finds an Unlikely Home — GitHub

The Chinese Communist party, rewriting the COVID-19 story with itself as the hero, must reckon with truthful techies

For a brief window of time at the beginning of 2020, China’s internet censors didn’t block stories about Wuhan and COVID-19, the coronavirus. Caixin, a widely-read news magazine, published a multi-page investigative report on everything leading up to the outbreak, including the way in which the provincial authorities in Hubei, of which Wuhan is the capital, suppressed knowledge of the virus. Fang Fang, an award-winning novelist, kept a Wuhan diary online on Weibo, which was recently published as a book in the U.S. (HarperCollins 2020). For that short time, comments on the coronavirus were not being censored (Wired) at WeChat. Many people were thus able to vent their frustrations and pay their respects when 32-year-old ophthalmologist and whistleblower Li Wenliang…

new-resistors.jpg
many new resistors stay together in close-ups

Circuit Patterns, Part 3: Pull-Up and Pull-Down Resistors

If a part of a circuit is disconnected, the voltage of that circuit isn’t necessarily zero; it can pick up static electricity
In this series, we have been talking about the importance of circuit patterns for both understanding circuit schematics that you might find on the web and building your own circuits. This series introduces some of the commonly used circuit patterns that are essential to electronics. Part 1 covered the importance of patterns and the most basic resistor pattern, the current limiting resistor. Part 2 covered voltage dividers, which—once you recognize them — you see in circuits everywhere. Part 3 covers two other important resistor patterns: pull-up and pull-down resistors. To understand the importance of pull-up and pull-down resistors, you must first realize that, if a part of a circuit is disconnected, the voltage of that circuit isn’t necessarily zero. In fact, it is unknown. This is especially true of inputs to microcontrollers such as an Arduino or a single-board computer such as Raspberry Pi. These inputs use so little current that, if they are disconnected from any voltage, they can react to voltage fluctuations in the air as if they were changes to their inputs. For instance, let’s say that you wanted a microcontroller to sense whether or not a button is pushed. It is tempting for new electronics hobbyists to simply connect a voltage source to an on/off button which goes to a pin on the microcontroller. This works fine while the button is pressed. What happens when the hobbyist lets go of the button? Letting go disconnects the microcontroller pin from the circuit. This does not mean that the voltage is zero, it means that the voltage is floating! Static electricity in the air will influence the voltage. All sorts of things that you can’t control will influence the voltage on that pin. Therefore, we must make sure that the pin is always attached to a fixed voltage. We want the high, positive voltage when the button is pressed and a zero voltage when the button is released. It might be tempting to simply connect the pin to ground (zero voltage) directly, thinking that, when the button is pushed, you will get the voltage from the button and when it is not pushed, it will then drop to zero. The problem is that electricity always finds the easiest path to ground. So, when the button is pushed, it will skip the microcontroller pin entirely and just short out directly to ground. To fix this situation, what is needed is a pull-down resistor. A pull-down resistor will keep the voltage high when the button is pushed but then pull the voltage low when the button is released. The size of the resistor will affect the operation as well. A larger resistor will waste less current when the button is pushed but it takes longer to stabilize the circuit when the button is let go. A smaller resistor will stabilize the circuit more quickly but waste more electricity while the button is pushed. In practice, for beginners, pretty much any resistor of 1,000 ohms or higher will work fine. In fact, just using the largest resistor you have is probably the best choice: A pull-up resistor is just like a pull-down resistor but with a different “default” value. Pull-down resistors essentially say, “if this circuit gets disconnected, set the voltage to zero.” Pull-up resistors essentially say, “if this circuit gets disconnected, set the voltage to be the battery (or source) voltage.” Pull-down resistors get connected to ground and pull-up resistors get connected to a voltage source. Pull-up resistors would be used if, for instance, the button itself was connected to ground instead of to the positive voltage source. In practice, some parts of circuits may look like they are connected when, in reality, they aren’t. Some input/output pins from transistors, microcontrollers, or integrated circuits may feature situations where the pin acts as if it were completely disconnected. In those cases, you need a pull-up or pull-down resistor to tell the circuit what its voltage is. For more information on pull-up and pull-down resistors and other basic circuit patterns, have a look at my new book, Electronics for Beginners: A Practical Introduction to Schematics, Circuits, and Microcontrollers, published by technology publisher Apress (a Springer Nature company). Here are Parts 1 and 2: Circuit Patterns, Part I: Understanding circuit schematics You will get on much better in electronics if you learn to see the schematic line drawings as a series of patterns. When you begin to see the drawings in books on electronics as a connected series of familiar patterns, the world of electronics opens up. Circuit Patterns, Part 2: Voltage Dividers When you see two resistors connected in series with a wire coming out from between them, the wire is likely a voltage divider. Knowing about voltage dividers will not only help you with projects, it will help you recognize this pattern on schematics you might find on the internet. You may also want to have a look at: New electronics book honors citizen scientist Forrest Mims IIIJonathan Bartlett’s dedication reflects Mims’ immense influence on electronics enthusiasts—including himself, as a boy. Electronics for Beginners follows in Mims’ footsteps as it shows the budding electronics enthusiast the many new components now available and how to use them. Read More ›
bright-colored-light-led-smd-screen-stockpack-adobe-stock.jpg
Bright colored light LED smd screen

Circuit Patterns, Part 2: Voltage Dividers

Pretty much any time you see two resistors connected in series with a wire coming out from between them, you are witnessing a voltage divider in action.

In yesterday’s installment, we talked about the importance of circuit patterns, both for understanding the circuit schematics that you might find on the web and for building your own circuits. This series introduces some of the commonly used circuit patterns that are essential to electronics. The first installment covered the most basic resistor pattern, the current limiting resistor. In this article, we are going to look at another basic resistor pattern the voltage divider. Voltage dividers work because resistors, while they limit current, also eat up excess voltage. An LED, for instance, will tend to only eat up a few volts. The excess voltage left over will quickly lead to an overabundance of current. That is why, to work properly,…

concentrated-elementary-student-examining-circuit-board-stockpack-adobe-stock.jpg
Concentrated elementary student examining circuit board

Circuit Patterns, Part I: Understanding Circuit Schematics

You will get on much better in electronics if you learn to see the schematic line drawings as a series of patterns

When I was young, I wanted to learn how to build electronics. I bought a large number of books from Radio Shack and read them all, cover to cover. Unfortunately, the books that I read helped me to understand a little bit about the periphery of electronics but not the core subject. I learned what each type of part did in general resistors, capacitors, transistors, inductors, etc., but I never really understood how all of the pieces fit together. How do you go from understanding the parts to understand how they fit together into a circuit? Throughout my life, I have returned to electronics now and again, sometimes personally, sometimes professionally. I eventually learned that most electronics follows basic patterns…