Category Archives: PHP

Longest Common Prefix Between Two Strings

While working on a “for fun” side project I needed to get the longest common prefix of two arbitrary strings. Since I didn’t find what I was looking for in the PHP string functions I made my own. And for some perverse reason i decided to see what the fewest number of lines I could [...]

Using PHP and OpenSSH with username/password auth

It turns out that this is actually a tricky problem. It’s super easy to use the OpenSSH command line stuff via PHP when you have key based authentication set up, but it’s not at all easy to use when you want to go the user/pass route. This is for a couple of reasons: First you [...]

PHP SSH2 code

I’ve had a need to use the PHP SSH2 PECL recently (working on making a product, at work, more efficient) And thought I would share some of the preliminary code. You can find it here: vpssh.phps The most interesting thing is not vpssh_core or it’s exec (though it’s good code) the really interesting thing is [...]

Time based bloom filters

I find this concept fascinating and plan to investigate further down this road.

php debugging the really really hard way

If you’re ever in a situation where something is only happening intermittently, and only on a live server, and only while it’s under load… Lets say its not generating any error_log or stderr output, and you cant run it manually to reproduce… (we’ve all been in this situation) How do you get any debugging output [...]

Quality Time With Your JPEGs

When working with user provided images in PHP you run into a problem. Lets say that you want to generate thumbnails of uploaded JPEGs for users. This is a fairly common use case where you would employ PHP and GD (the most prevalent php image extension.) But when you generate the new, smaller, image what [...]

php open locking daemon

Don’t you hate that… When it’s 2:00am… and you really should be in bed… But your mind has hold of a problem, and wont let it go. I have a project where it would be really handy for a process to be able to lock (arbitrary string identifier) and for another process to be able [...]

Bigger Aint Always Better

Recently I was troubleshooting some inefficiencies with the jobs systems locking and fetching queries at work. Like a good little boy I, originally, came up with one index which satisfied all the queries that I needed to run against this particular critical table. (`completed`,`heartbeat`,`priority`,`datacenter`,`worker`) — datetime,datetime,tinyint,varchar(16),varchar(255) the query looked like this: SELECT `id`,GET_LOCK(CONCAT(‘foo_’,`id`),0) as mylock [...]

Just what you need to know to write a CouchDB reduce function

Lets say you have the CouchDB classes (located here) all compiled together and included into your test.php script. Lets also say that you have created a database with the built-in web ui called “testing”. Finally let us say that your test.php has the following code in it, which would add a record to the db [...]

random php… a multi-channel chat rooom class using memcached for persistence

why? i dunno… just because… just a toy… no sql, no flat file, no write permissions required anywhere, no fuss class mc_chat { var $chan = null; var $mc = null; var $ret = 5; function __construct($memcached, $channel, $retention=5) { $this->mc = $memcached; $this->chan = $channel; $this->ret = $retention; } function messages( $from=0 ) { [...]