Emperor's New Mind: Concerning Computers, Minds, and the Laws of Physics
Author: Roger Penros
For decades, proponents of artificial intelligence have argued that computers will soon be doing everything that a human mind can do. Admittedly, computers now play chess at the grandmaster level, but do they understand the game as we do? Can a computer eventually do everything a human mind can do?
In this absorbing and frequently contentious book, Roger Penrose--eminent physicist and winner, with Stephen Hawking, of the prestigious Wolf prize--puts forward his view that there are some facets of human thinking that can never be emulated by a machine. Penrose examines what physics and mathematics can tell us about how the mind works, what they can't, and what we need to know to understand the physical processes of consciousness.
He is among a growing number of physicists who think Einstein wasn't being stubborn when he said his "little finger" told him that quantum mechanics is incomplete, and he concludes that laws even deeper than quantum mechanics are essential for the operation of a mind. To support this contention, Penrose takes the reader on a dazzling tour that covers such topics as complex numbers, Turing machines, complexity theory, quantum mechanics, formal systems, Godel undecidability, phase spaces, Hilbert spaces, black holes, white holes, Hawking radiation, entropy, quasicrystals, the structure of the brain, and scores of other subjects.
The Emperor's New Mind will appeal to anyone with a serious interest in modern physics and its relation to philosophical issues, as well as to physicists, mathematicians, philosophers and those on either side of the AI debate.
Interesting textbook: The Betrayal of America or Bobby and J Edgar
Wicked Cool PHP: Real-World Scripts That Solve Difficult Problems
Author: William Steinmetz
PHP is an easy-to-use scripting language perfect for quickly creating the Web features you need. Once you know the basics of how the language works, wouldn't it be great to have a collection of useful scripts that solve those tricky problems and add interesting functionality to your site? We thought so, too.
Instead of starting at "Hello World," "Wicked Cool PHP" assumes that you're familiar with the language and jumps right into the good stuff. After you learn the FAQs of life-the most commonly wished for PHP scripts-you'll work your way through smart configuration options and the art of forms, all the way through to complex database-backed scripts.
"Wicked Cool PHP" contains a wide variety of scripts to process credit cards, check the validity of email addresses, template HTML, and serve dynamic images and text. The 76 easily implemented scripts will also teach you how to:
Send and receive email notifications Track your visitors' behavior with cookies and sessions Override PHP's default settings Manipulate dates, images, and text on the fly Harness SOAP and other web services Create an online poll, ecard delivery system, and blog
But it's not all fun and games: Security is a big concern when programming any web application. So you'll learn how to encrypt your confidential data, safeguard your passwords, and prevent common cross-site-scripting attacks. And you'll learn how to customize all of the scripts to fit your own needs.
Dynamic Web content doesn't have to be difficult. Learn the secrets of the craft from two experienced PHP developers with "Wicked Cool PHP,"
Table of Contents:
Introduction xiiiThe Faqs of Life-The Scripts Every PHP Programmer Wants (or Needs) to Know 1
Including Another File as a Part of Your Script 2
What Can Go Wrong? 3
Highlighting Alternate Row Colors in a Table 4
Hacking the Script 5
Creating Previous/Next Links 7
Using the Script 10
Printing the Contents of an Array 11
Turning an Array into a Nonarray Variable That Can Be Restored Later 12
What Can Go Wrong? 12
Sorting Multidimensional Arrays 13
Hacking the Script 14
Templating Your Site with Smarty 14
Installing Smarty 14
A Brief Smarty Tutorial 15
What Can Go Wrong? 16
Hacking the Script 17
Configuring PHP 19
Configuration Settings and the php.ini File 20
Locating Your php.ini File 20
Revealing All of PHP's Settings 21
Reading an Individual Setting 21
Error Reporting 22
Common Error Messages 23
Suppressing All Error Messages 24
Extending the Run Time of a Script 24
What Can Go Wrong? 25
Preventing Users from Uploading Large Files 25
Turning Off Registered Global Variables 25
Enabling Magic Quotes 26
What Can Go Wrong? 26
Restricting the Files that PHP Can Access 26
What Can Go Wrong? 27
Shutting Down Specific Functions 27
Adding Extensions to PHP 27
Adding PHP Extensions 28
Installing Extensions with a Web-Based Control Panel 29
What Can Go Wrong? 32
PHP Security 33
Recommended Security Configuration Options 35
SQL Injection Attacks 35
Preventing Basic XSS Attacks 37
Using SafeHTML 38
What Can Go Wrong? 39
Protecting Data with a One-Way Hash 40
Hacking the Script 41
Encrypting Data with Mcrypt 41
Hacking the Script 43
Generating Random Passwords 43
Using the Script 44
Working with Forms 45
Security Measures: Forms Are Not Trustworthy 45
Verification Strategies 46
Using {dollar}_POST, {dollar}_GET, {dollar}_REQUEST, and {dollar}_FILES to Access Form Data 47
Fetching Form Variables Consistently and Safely 47
Trimming Excess Whitespace 47
Importing Form Variables into an Array 48
Making Sure a Response Is One of a Set of Given Values 51
Hacking the Script 51
Using Multiple Submit Buttons 52
Validating a Credit Card 52
Using the Script 54
Hacking the Script 55
Double-Checking a Credit Card's Expiration Date 55
Using the Script 56
Checking Valid Email Addresses 56
Checking American Phone Numbers 57
Working with Text and HTML 59
Extracting Part of a String 59
Hacking the Script 61
Making a String Uppercase, Lowercase, or Capitalized 62
What Can Go Wrong? 62
Finding Substrings 63
What Can Go Wrong? 64
Replacing Substrings 64
What Can Go Wrong? 65
Finding and Fixing Misspelled Words with pspell 65
Working with the Default Dictionary 66
Adding a Custom Dictionary to pspell 68
What Can Go Wrong? 69
Regular Expressions 69
Regular Expression Basics 69
Special Character Sequences 70
Pattern Repeaters 71
Grouping 71
Character Classes 71
Putting It All Together 72
Matching and Extracting with Regular Expressions 72
Replacing Substrings with Regular Expressions 74
Rearranging a Table 75
Creating a Screen Scraper 75
Hacking the Script 77
Converting Plaintext into HTML-Ready Markup 77
Automatically Hyperlinking URLs 80
Stripping HTML Tags from Strings 80
Working with Dates 81
How Unix Time Works 81
Getting the Current Timestamp 82
Getting the Timestamp of a Date in the Past or Future 83
Creating Timestamps from a String 83
Creating Timestamps from Date Values 84
Formatting Dates and Times 85
Calculating the Day of the Week from a Given Date 88
Finding the Difference Between Two Dates 88
Using the Script 89
Hacking the Script 90
MySQL Date Formats 90
Working with Files 91
File Permissions 91
Permissions with an FTP Program 92
The Command Line 93
What Can Go Wrong? 93
Placing a File's Contents into a Variable 93
Hacking the Script 95
What Can Go Wrong? 95
Creating and Writing to a File 96
Checking to See If a File Exists 96
Deleting Files 97
Uploading Images to a Directory 97
Using the Script 101
What Can Go Wrong? 101
Hacking the Script 101
Reading a Comma-Separated File 101
User and Session Tracking 103
Using Cookies and Sessions to Track User Data 104
Cookies 104
Sessions 104
Creating a "Welcome Back, Username!" Message with Cookies 105
What Can Go Wrong? 106
Using Sessions to Temporarily Store Data 107
What Can Go Wrong? 109
Checking to See If a User's Browser Accepts Cookies 109
Redirecting Users to Different Pages 110
Forcing a User to Use SSL-Encrypted Pages 111
Extracting Client Information 111
Session Timeouts 115
A Simple Login System 116
Working with Email 119
Using PHPMailer to Send Mail 120
Installing PHPMailer 120
Using the Script 121
Adding Attachments 122
What Can Go Wrong? 123
Using Email to Verify User Accounts 124
Working with Images 129
Creating a CAPTCHA (Security) Image 129
Creating Thumbnail Images 136
Using cURL to Interact with Web Services 141
Connecting to Other Websites 142
Using Cookies 144
Transforming XML into a Usable Form 144
Using Mapping Web Services 146
Using PHP and SOAP to Request Data from Amazon.com 149
Building a Web Service 151
Intermediate Projects 155
A User Poll 156
Creating a Ballot Form 157
Processing the Ballot 159
Getting Poll Results 160
Hacking the Script 162
Electronic Greeting Cards 162
Choosing a Card 164
Sending the Card 165
Viewing the Card 169
Hacking the Script 171
A Blogging System 171
Creating Blog Entries 172
Displaying an Entry 174
Adding Comments 178
Creating a Blog Index 178
Hacking the Script 181
Appendix 183
Index 185
No comments:
Post a Comment