Category The Pensive

Nginx + WordPress caching that actually works

I spent a lot of time yesterday trying to enable WP Super Cache, and subsequently W3 Total Cache for this website. SInce none of the hits I got on Google did the trick I thought I’d post my working settings for page caching with W3 Total Cache. I went with this plugin mainly because it [...]

Why isset() in PHP can be misleading

I thought this was worth noting even though a comment on php.net explain it very well.

You can not rely on isset() for associative arrays unless you know for a fact you are checking an array.

Javascript variable definitions

The variable scope in javascript can still surprise me. This is a nice one I debugged today: A variable that is not defined by “var” have a global scope. This can be a real pain since the globalization is implicit and easy to forget. I forgot the “var” when writing a for loop and could [...]

Finding ordered position of a row in MySQL

This is slightly modified from something I found @ http://www.kirupa.com/forum/archive/index.php/t-263260.html Using high-score lists or similar you often have a large number of rows where you want to know who is in 7th place or how well is id:254 doing. This eliminates the slow looping in php of big result-sets by making a sub-query in MySQL. [...]

Duplicating a mysql database

This is another MySQL trick I keep coming back to. mysqldump -u root –password=pass db1 | mysql -u root –password=pass db2 found @ http://mywheel.net/blog/index.php/2006/01/05/mysql-duplicate-database-quick-tip/

Locating potential duplicate before switching collation in MySQL

When you need to switch a fields collation you can check if any existing data will conflict with this change. For example a keyword-field might contain data that is considered unique in one collation but not in another. The Swedish character ä is considered a unique character in swedish collation but in general collation it [...]

Copy files while preserving permissions

The unix cp command makes you the owner of the copied files. You can set flags but this is supposedly a more complete way to keep any attributes. mkdir /var/backup/michael cd /home/michael tar cf – . | (cd /var/backup/michael && tar xBfp -) found @ http://info.michael-simons.eu/2007/03/18/copy-directories-and-preserve-permissions/

Inserting from a select in MySQL

Quite simple but something I can never seem to remember: INSERT INTO files_users (file_id, user_id) SELECT id, ’2′ FROM efs.files; found @ http://mysql-tips.blogspot.com/2005/04/mysql-insert-select-example.html

Fixing existing data when switching character set in MySQL

When altering a database, table or field from one character set to another, existing data will probably look garbled since it is expected to be in the new character set. To “convert” existing data is not always easy. This method (found in the comments of a blog entry I have lost the url for) works as long as you can keep the database “locked” when you do this. Otherwise you will convert any new data entered and make that data look garbled.

Altering character set and collation of tables in MySQL

Altering the character set and collation of a table is sometimes not enough. You may have to alter the actual fields in the table to get MySQL to comply in some cases. I don’t know why or when MySQL does this. ALTER TABLE my_table DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;   ALTER TABLE my_table MODIFY my_field varchar(255) CHARACTER [...]