SQLite for PHP Compile Error and Fix

Trying to create an SQLite module in with pecl resulted in  

/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c  -fPIC -DPIC -o .libs/sqlite.o
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:56: error: ‘BYREF_NONE’ undeclared here (not in a function)
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:56: error: ‘BYREF_FORCE’ undeclared here (not in a function)
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:125: warning: initialization from incompatible pointer type
/tmp/tmpb8wKoA/SQLite-1.0.3/sqlite.c:126: warning: initialization from incompatible pointer type
make: *** [sqlite.lo] Error 1
ERROR: `make’ failed

 Ug.  Pain in the butt, but I did find a workaround….


Read more

Amazon S3 Tools, Using PHP

If you haven’t heard of Amazon S3, check it out here. It’s remote storage for your files, at $0.15 per GB per month. You sign up for an account for free, then pay at the end of each month for the GB and data transfer you used. It’s nice and cheap, and I find it better than an FTP account to backup files, for a couple reasons. 1) It’s cheap, pay only for what you use. 2) Interface is all HTTP REST making it easier to interface with in code. 3) It’s cheap 4) You can make select files public readable and available via an HTTP address 5) There is a Firefox extension, S3 Organizer, that looks like an FTP client, you can move files back and forth from your desktop. 6) It’s all the hype right now 7) It’s cheap remote backup.

The HTTP REST interface is easy to use with PHP. I made a few command line utils with PHP:
s3ls <path> – lists file details in S3 account that are prefixed with <path>
s3put <file> – stores file in S3 account in the same dir it’s in on your server
s3get <file> – retrieves file from S3 account – can use absolute path, else it assumes current working directory
s3syncdir <dir> – removes files from S3 that no longer exist on server, then uploads any missing or modified files to S3

Read more

Cisco Data Center Technology Forum

Yesterday, 2008-02-06, I attended this conference at the Phoenix Ritz Carlton. Cisco treated its attendees very nicely, with gourmet lunch, coffee, tea, soda, desert and snacks. The venue was also exciting:

1130-12 Registration
12-1 Data Center 3.0 Overview
1-2 Cisco IT
2-215 Break

I arrived shortly after 2pm, so I missed the above mentioned sections.

215-315 Data center switching
315-400 Virtualization across the data center
415 – 500 Storage Networking
5-545 Securing and Optimizing Applications
545-630 Cocktails and Questions

My notes from the session follow:

Read more

Index for God Sake!

Taken from:


If you have a database that is returning slow result you might want to optimize your queries and do indexing.

But how to tell which of the queries need to be optimized.

Lets look at the rulsts of the querey without returning all the results:
You will use the EXPLAIN clause
Explain clause will show rows returned in your query. (The more rows the slower the return)

Read more