17 Keys To Success

Jim Rogers‘ Keys to Success (taken from the titles and sub headings of each chapter of the new book, “A Gift To My Children“):

1. Do not let others do your thinking for you

2. Focus on what you like

3. Good habits for life & investing

4. Common sense? not so common

5. Attention to details is what separates success from failure

6. Let the world be a part of your perspective

7. Learn philosophy & learn to think

8. Learn history

9. Learn languages (make sure Mandarin is one of them)

10. Understand your weaknesses & acknowledge your mistakes

11. Recognize change & embrace it

12. Look to the future

13. “Lady Luck smiles on those who continue their efforts”

14. Remember that nothing is really new

15. Know when not to do anything

16. Pay attention to what everybody else neglects

17. If anybody laughs at your idea view it as a sign of potential success

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

First thing in the morning, I got this mysql server error.

1
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Apparently, /tmp/mysql.sock is missing. I know that’s the right path, but the file is not there.

I restarted the mysql server by press the “Start MySQL Server” button, but it’s not running. I ran mysqld, but it gave me more errors and failed to start.

I ended up making it work by providing a my.cnf file, which I hadn’t needed.

1
sudo cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

Modify the default settings if needed. Then press the “Start MySQL Server” button again. My apache server then worked fine.

PHP command line memory limit error

Very often, when data size gets bigger and bigger, some scripts will break due to default memory limit. I got the following error today.

1
2
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in /someDir/myScript.php on line 15
Segmentation fault: 11

I checked my php help. I am using version 5.3.6.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$ php -h
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a
 
  -a               Run as interactive shell
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.
 
  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin
 
  --ini            Show configuration file names
 
  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --ri <name>      Show configuration for extension <name>.

Looks like -d with do it. So I ran the following:

1
php -d memory_limit=512M myScript.php

It worked fine.

If you can afford to change your php.ini file, use – -ini to see where your php.ini file is, then make your changes accordingly. You can also use -n to ignore your php.ini file, but then you will be using default parameters which may be even harder to debug.