Configuring BOSH support on a Prosody XMPP server

Prosody XMPP/Jabber logo In my last article on this topic I brought a brief introduction into installing XMPP server Prosody on you Debian/Ubuntu based server. In this follow-up article I'll show you how to configure Bidirectional-streams Over Synchronous HTTP (BOSH) XMPP extension on Prosody XMPP server with the intention of creating XMPP powered web applications.

Continue reading

Send email from PHP inside local LAMP development environment

Sendmail LAMP Very often when developing for web inside your LAMP environment you need to send emails using PHP. Configuring fully fledged email server on your Linux box is an option, although one I don't recommend. Life's too short to spend it configuring many mail transport agent of your choice configuration files just to check is your PHP application sending emails or not. In this article I'll show you how make your development environment capable of testing email sending features of your PHP applications in almost no time.

Continue reading

Customize default desktop environment settings for Gnome-centric Linux distributions

gnome-logoSome of you are probably wondering why would you want to spend your time fiddling with default desktop environment settings customization, when you can easily customize everything to your liking inside you own user account? Most probably you'd want to do this when you're re-mastering your favorite Linux distribution using tools like OS4 system imager (fork of the now discontinued Remastersys) or Relinux. In this article I'll show you how to handle this task elegantly using GSettings vendor overrides.

Continue reading

LAMP development in your home directory with suPHP module

suPHP Logo In one of my earlier articles I've described how to easily manage LAMP name based virtual hosts using bash script that simplifies virtual hosts management on a Debian based Linux operating systems. While I was coding the script in question, I have assumed that most people develop from default document root /var/www and using Apache's mod_php5. In this article I'll show you how to setup your LAMP environment to develop in your home directory using another Apache module suPHP.

Continue reading

PHP random sentence spinning function

recycle_phpIn this article I'm presenting my solution for a very common PHP developer job interview task where it is required to create a random sentence spinning function. Input of this function is a PHP string that employs syntax telling our code where's the randomness and what are the possible substrings for each section of randomness. Basically it is required to create PHP code that's able to process strings like the following:

<?php
$string = '{Please|Just} make this {cool|awesome|random} test sentence {rotate {quickly|fast} and random|spin and be random}';
?>

As you can probably guess the input sentence uses braces to declare sections of randomness and the pipe character to delimit substrings that should be used randomly inside their sections. Code also must be able to process nested sections of randomness.

Continue reading