This Visionary Sci-Fi Author Sees the Destruction of Human Civilization: Predatory Capitalism

Ted Chiang examines how Silicon Valley has become its own worst nightmare.

The political theorist Frederic Jameson once observed that “it has become easier to imagine the end of the world than the end of capitalism.” But what if predatory capitalism finally destroys life on earth? That’s the question posed by science fiction writer Ted Chiang, who argues that in “superintelligent AI,” Silicon Valley capitalists have “unconsciously created a devil in their own image, a boogeyman whose excesses are precisely their own.”

In a new essay for Buzzfeed, part of a series about the forces shaping our lives in 2017, the acclaimed author of “Arrival” (Stories of Your Life and Others) deconstructs our fear of artificial intelligence; specifically, that of tech titans like Tesla founder Elon Musk. For Musk, the real threat is not a malevolent computer program rising up against its creator like Skynet in the Terminator films as much as AI destroying humanity by accident. In a recent interview with Vanity Fair, Musk imagines a mechanized strawberry picker wiping out the species simply as a means of maximizing its production.

“This scenario sounds absurd to most people, yet there are a surprising number of technologists who think it illustrates a real danger. Why?” Chiang wonders. “Perhaps it’s because they’re already accustomed to entities that operate this way: Silicon Valley tech companies.”

In Musk’s hypothetical, the destruction of human civilization follows the logic of the free market.

“Consider: Who pursues their goals with monomaniacal focus, oblivious to the possibility of negative consequences? Who adopts a scorched-earth approach to increasing market share?” Chiang continues. “[The] strawberry-picking AI does what every tech startup wishes it could do—grows at an exponential rate and destroys its competitors until it’s achieved an absolute monopoly.”

Ultimately, the catastrophe Musk and others foretell has already arrived in the form of “no-holds-barred capitalism.”

“We are already surrounded by machines that demonstrate a complete lack of insight, we just call them corporations,” Chiang continues. “Corporations don’t operate autonomously, of course, and the humans in charge of them are presumably capable of insight, but capitalism doesn’t reward them for using it. On the contrary, capitalism actively erodes this capacity in people by demanding that they replace their own judgment of what ‘good’ means with ‘whatever the market decides.'”

For Chiang, the operative word is insight. Our capacity for self-reflection, or the “recognition of one’s own condition,” is what separates humans from the Googles, Facebooks and Amazons. And it is this deficiency that makes these monopolies so uniquely dangerous.

“We need for the machines to wake up, not in the sense of computers becoming self-aware, but in the sense of corporations recognizing the consequences of their behavior,” he concludes. “Just as a superintelligent AI ought to realize that covering the planet in strawberry fields isn’t actually in its or anyone else’s best interests, companies in Silicon Valley need to realize that increasing market share isn’t a good reason to ignore all other considerations.”

Read Chiang’s essay at Buzzfeed.


Related Stories

  • Are You Suffering from Selfitis?
  • Uber Stole Trade Secrets, Bribed Foreign Officials and Spied on Rivals, Filing Says
  • Dustin Hoffman Faces Disturbing New Allegations of Sexual Misconduct

SQLite Overview with Installation_pRoCess and self-start examples:SQL – Where all to UsE ?

sqlite image

SQLite is embedded relational database management system. It is self-contained, serverless, zero configuration and transactional SQL database engine. SQLite is free to use for any purpose commercial or private. In other words, “SQLite is an open source, zero-configuration, self-contained, stand alone, transaction relational database engine designed to be embedded into an application”.

SQLite is different from other SQL databases because unlike most other SQL databases, SQLite does not have a separate server process. It reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. SQLite was designed by D. Richard Hipp for the purpose of no administration required for operating a program in 2000.

SQLite Features

Following is a list of features which makes SQLite popular among other lightweight databases:

  • SQLite is open-source. License is not required to work with it.
  • SQLite doesn’t require a different server process or system to operate.
  • It facilitates you to work on multiple databases on the same session on the same time.
  • SQLite doesn’t require configuration. No setup or administration required.
  • SQLite is a cross-platform DBMS.
  • The length of the columns is variable and is not fixed. It facilitates you to allocate only the space a field needs.
  • Provide large number of API’s: SQLite provides API for a large range of programming languages.
  • SQLite is written in ANSI-C and provides simple and easy-to-use API.

SQLite Limitations

There are few unsupported features of SQLite which are listed below:-
  • Right Outer Join and Full Outer Join is not Supported.
  • The RENAME TABLE and ADD COLUMN variants of the ALTER TABLE command are supported. The DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT are not supported.
  • FOR EACH ROW triggers are supported but not FOR EACH STATEMENT triggers.
  • VIEWs in SQLite are read-only. You may not execute a DELETE, INSERT, or UPDATE statement on a view.
  • The only access permissions that can be applied are the normal file access permissions of the underlying operating system.

SQLite Installation

SQLite doesn’t require configuration. No setup or administration required. Lets see how to install SQLite on different Systems such as Windows, Linux.

Install SQLite on Windows

Step 1: Go to SQLite official website download page And download precompiled binaries from Windows section.
Step 2: Download the sqlite-dll and sqlite-shell zip file. Or file.
Step 3: Create a folder C:>sqlite and unzip above two zipped files in this folder, which will give you sqlite3.def, sqlite3.dll and sqlite3.exe files.
Step 4: Add C:>sqlite in your PATH environment variable and finally go to the command prompt and issue sqlite3 command, which should display the following result.
sqlite shell

Install SQLite on Linux

Today, almost all the Linux OS are being shipped with SQLite. So you just issue the following command to check if you already have SQLite installed on your machine.
SQLite version 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
If you do not see the above result, then it means you do not have SQLite installed on your Linux machine. Follow following Steps
Step 1: Go to SQLite download page and download sqlite-autoconf-*.tar.gz from source code section.
Step 2: Run the following command :
$tar xvfz sqlite-autoconf-3071502.tar.gz
$cd sqlite-autoconf-3071502
$./configure --prefix = /usr/local
$make install
The above command will install SQLite on Linux.

SQLite Commands

SQLite commands are similar to SQL commands. There are three types of SQLite commands:
DDL: Data Definition Language
  • CREATE: Creates a new table, a view of a table, or other object in database.
  • ALTER: It is used to modify an existing database object like a table.
  • DROP: Deletes an entire table, a view of a table or other object in the database.
DML: Data Manipulation Language
  • INSERT: This command is used to create a record.
  • UPDATE: It is used to modify the records.
  • DELETE: It is used to delete records.
DQL: Data Query Language
  • SELECT: This command is used to retrieve certain records from one or more table.

SQLite Create Table Command

In SQLite, CREATE TABLE statement is used to create a new table. While creating the table, we name that table and define its column and data types of each column.
CREATE TABLE database_name.table_name(  
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
columnN datatype,
ID int PRIMARY KEY not null,
Address TEXT,
You can view the tables created in SQLite using .table command and .schema command is used to view the table details.

sqlite create table command

SQLite Insert Query

In SQLite, INSERT INTO statement is used to add new rows of data into a table. After creating the table, this command is used to insert data into the table.
There are two types of basic syntaxes for INSERT INTO statement:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)    
VALUES (value1, value2, value3,...valueN);
Here, column1, column2, column3,…columnN specifies the name of the columns in the table into which you have to insert data.

You don’t need to specify the columns name in the SQlite query if you are adding values to all the columns in the table. But you should make sure that the order of the values is in the same order of the columns in the table.
Then the syntax will be like this:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
Inserting values by first method:
INSERT INTO SCTPL (id, name,address)   
VALUES (101, Suven Consultants,Chembur);

Inserting values by second method:
INSERT INTO SCTPL VALUES (102,Suven Consultants,Thane);


In SQLite database, SELECT statement is used to fetch data from a table. When we create a table and insert some data into that, we have to fetch the data whenever we require. That’s why select query is used.
SELECT column1, column2, columnN FROM table_name;
SELECT * FROM table_name;

Do you want to learn Database Programming?