Lessons Learned: Why It’s Better Not To Use Parentheses When They’re Optional

There it is in the PHP manual for return():
Note: since return() is a language construct and not a function, the parentheses surrounding its arguments are not required. It is common to leave them out, and you actually should do so as PHP has less work to do in this case.
I knew the parentheses were optional, but I’ve [...]

Installing PHP APC On RHEL/CentOS

Yum up some packages:

yum install php-pear php-devel httpd-devel

Install APC using pear (the pear installer is smarter than the pecl installer):
When the installer asks about APXS, say ‘no’. 

pear install pecl/apc

Tell PHP to load APC:

echo extension=apc.so > /etc/php.d/apc.ini

Restart Apache:

/sbin/service httpd graceful

Installing memcached On CentOS/RHEL

Using info from CentOS forums, Sunny Walia and Ryan Boren, here’s how I got memcached running on my Dotster VPS:
Install libevent:

wget http://www.monkey.org/~provos/libevent-1.3e.tar.gz
tar zxvf libevent-1.3e.tar.gz
cd libevent-1.3e
 
./configure
make
make install

Install memcached

wget http://danga.com:80/memcached/dist/memcached-1.2.5.tar.gz
tar zxvf memcached-1.2.5.tar.gz
cd memcached-1.2.5
 
./configure
make
make install

We will start the server to use 30 megs of ram (-m 30), listen on ip 127.0.0.1 (-l 127.0.0.1) and run on port 11211 [...]

MySQL Documentation

Found in the MySQL 5.0 Reference Manual:

Related(g1,g2,pattern_matrix)
Returns 1 or 0 to indicate whether the spatial relationship specified by pattern_matrix exists between g1 and g2. Returns –1 if the arguments are NULL. The pattern matrix is a string. Its specification will be noted here if this function is implemented.

(emphasis mine.)

JSON on RHEL & PHP 5.1.6

Stuck with PHP 5.1.6 on RHEL or even CentOS (and a sysadmin who insists on using packages)? Need JSON? I did. The solution is easy:
yum install php-devel
pecl install json
The pecl install failed when it hit an 8MB memory limit, and I was clueless about how to fix it until I learned that the pecl installer [...]

More bsuite Hacking

Update: bugfix release b2v6 available.
Some conversations with Chow Kah Soon, who’s site is full of diversions from work , finally convinced encouraged me to solve some small problems that were giving him big trouble. Chow Kah Soon is in the lucky, but rare, position of having over 20,000 unique daily visitors to his site, [...]

Involvement, Inclusion, Collaboration

Peter Caputa dropped a comment on Jeff Nolan’s post about Zvents. The discussion was about how online event/calendar aggregators did business in a world where everything is rather thinly distributed. Part of the problem is answering how do you get people to contribute content — post their events — to a site that has little traffic, and how do you build traffic without content? The suggestion is that you have editorial staff scouring for content to build the database until reader contributions can catch up, and that’s where Peter comes in, suggesting that content and traffic aren’t where the value and excitement are: it’s the opportunity to involve fans in the event planning and marketing process.

Using XML In PHP5

Everybody likes documentation. The Zend folks posted this overview and SimpleXML introduction The O’Reilly folks at ONLamp offered this guide to using SimpleXML. Of course, there’s always the SimpleXML docs at PHP.net.
Two problems: I haven’t encountered CDATA in my XML yet, but I do hope to develop a better solution than offered here when I [...]

Helpful Pages In The Wordpress Codex

The following pages from the WordPress Codex were surprisingly helpful recently:

Creating a Static Front Page « WordPress Codex
Creating Tables with Plugins « WordPress Codex
Alphabetizing Posts « WordPress Codex

tags: documentation, wordpress, wordpress codex, wordpress development, wordpress documentation

Doing Relevance Ranked Full-Text Searches In MySQL

I’m going out on a limb to say MySQL’s full-text indexing and searching features are underused. They appeared in MySQL 3.23.23 (most people are using 4.x, and 5 is in development), but it’s been news to most of the people I know.
Here’s the deal, the MATCH() function can search a full-text index for a string [...]