Category Archives: Software Development

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 [...]

I’m sure we all know this feeling…

found at http://i.imgur.com/pdpIk.png via google reader explore functionality late one last night

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 [...]

Howto: Enable regular expression highlighting in LimeChat

in LimeChat.app/Contents/Resources/logrenderer.rb around line 419… WFM. IANAL. YMMV. RTFM. OMGWTF. WTL. GTFO. ETC. words.each do |w| next if w.empty? s = body offset = 0 # rex = Regexp.new(w, true) # while rex =~ s # begin # left = $~.begin(0) right = $~.end(0) pre = $~.pre_match post = $~.post_match ok = true if exact_word_match [...]

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 [...]

Erlang… Starting to come together…

I’m finally starting to “get” erlang… just a little bit… I’ve managed to make several TCP daemons… an echo server, a reverse echo server, and a server which spits out an md5 values of the input given. Yea… I know… Lame… but its one hump I’m finally over…

Just because you build it, doesnt mean they will come

Here’s a small bit of advice for all you would-be “cloud storage providers.” Just because you have a buttload of disks doesn’t mean people will be falling over themselves to use your software. If I have to spend *any* of my time worrying about your load, storage, or other internal algorithms (or unnecessary limitations for [...]