DeeEmm AKA Michael Percy is an industrial software engineer specialising in language based programming. A long time supporter and contributor to the open source community, he can mostly be found tinkering about creating web sites and writing code for various CMS platforms as well as maintaining several websites of his own.

Over the past couple of days I have had a number of PayPal payment gateway issues. This has resulted in a number of transactions not being completed even though the PayPal transaction was successful.Transactions were stuck in the 'pending' mode and several customers complained that their purchases were not available for download.

You will be pleased to hear that the issue has now been traced to the recent Virtuemart update that was released. A change was added to this release to ensure that only the primary PayPal email was used for checkout. This resulted in a checkout failure if any other email address was used. If like me you have several email addresses associated with your PayPal account you will likely suffer similar issues and will be interested in downloading Virtuemart bugfix version 2.0.26d:

You can download the updated version 2.0.26d from http://dev.virtuemart.net/projects/virtuemart/files

Apologies to those who were unable to download their purchases straight away. If any new customers experience any issues please comment below and let me know and I will jump right onto it.

A while ago I switched to using zohomail for the email handling on a number of sites that I run. Zohomail is a nice alternative to hotmail or gmail and is also free for a limited number of users which makes it perfect when you just need to add a contact method to a website or just need something to process user messages.

I had previously been running zohomail under the SMTP service on my Joomla installs as I do not have sendmail installed. I find that it's simply too much to maintain and that SMTP is much simpler. Unfortunately for some reason whilst updating one of my sites the SMTP function simply stopped working and no amount of googling could give me an answer. So unperturbed I decided to engineer an alternative to the native Joomla SMTP functionality. After a bit of research and stumbling across Emanuel Tessores excellent article I decided to give MSMTP a shot

MSMTP is a very simple and easy to use smtp client with excellent sendmail compatibility. It can be used to in place of sendmail to allow you to send emails via a third party SMTP server such as zoho, gmail or hotmail. Installation and setup is relatively straightforward being installable via apt-get via the following command

sudo apt-get install msmtp

Once installed you need to create two files; a configuration file for the email server details that you wish to connect to and a log file to record each mail transaction. You can do this by using the commands below

If you are familiar with Stack Ideas products, such as the blogging component that you are reading from right now EasyBlog, you might have noticed that on their site they have been promoting a soon to be released social networking component called EasySocial. I first noticed this a few weeks back and I must admit I got a bit excited. Not one to usually get emotional over such things, the idea of a social networking component written by the excellent Stack Ideas team definitely has appeal.

I have a love / hate relationship with most extension vendors and products but my experience with Stack Ideas has been great, the support is excellent, the products are intuitive and of the best quality, and what's more they just work. No fuss, no hacking, no convoluted setup, they work with the minimum of fuss and continue to do so. So when I received an email that there would be a webcast on the upcoming EasySocial, I signed up right away.

Watching the webcast last night I was blown away by the quality of component. There has been a years worth of development so far and there are still features that are being held back for the next release (Boonex please take note). The component includes many ideas and suggestions from the Stack Ideas user base and whilst it was said that the component was not designed to specifically compete against JomSocial, it certainly raises the bar.

In many respects it is similar in functionality to JomSocial, it follows the standard format for social networking components - that of a facebookesque type of site with an activity wall, profile pages, messaging capabilities, etc. Where it differs is how these components have been executed, it's the fine details that really set it apart. There is a liberal use of AJAX for all functions resulting in what appears to be a very nice user experience, the interface also appears to be very intuitive, although this is obviously hard to really get a feel for from just watching on a webcast.

Just been putting a site together on the new JomSocial version 3. One of the first things I always do (as you should) is create a new template - a clone of the original one. This way I can hack away at creating the site and develop the template as I go along without changing the default.

Changing the style of elements by CSS is a pretty normal act and one that I prefer to do with the original CSS and not by overrides as is always suggested by vendors. Normally I use Coda to de-minify any minified CSS and then re-minify it once I have finished. For some reason I was hitting a few issues when de-minifying the standard templates style.css file, it seemed to be replacing any reference to images with an ASCII reference instead of the path and filename data. Guessing that this must be due to the method used to compress the file (something other than the normal whitespace stripper) I went on a hunt to find out what was up with the new CSS file format.

Not finding too much I stumbled across This Post which simply suggests that the CSS files should not be modified but does not say how they were compressed and how to de-minify them. It does however give a clue - 'use less compiler'.

So I goggled 'useless compiler' and came across the http://lesscss.org/ website. I say 'useless' with my tongue in my cheek, for on the first page there is a bit of a breakdown showing some examples, one is the use of variables.

This was the error I was recently faced with when I re-enabled user registrations here on the DeeEmm site.

You may recall from my last blog post Virtuemart Revisited that I have recently re-installed Virtuemart so that I can sell some extensions via a store front right here on the site. As part of my testing I run through the usual user experience to check that things work as they should and found that after registering a user, confirming the account and then being enabled by an administrator the 'You cannot access the private section of this site.' message was displayed and the new user could not log in.

Hmmnnn, not good.

So I check the ACL to ensure that the 'registered' user level has login access to the site. All good there so that isn't the issue. I then turn to Google to see what that turns up and find that most of the solutions given relate to the ACL permissions.

Over time I have gone through various stages of selling mods and extensions and somehow every time have ended up vowing never to do it again. I think in retrospect this has mostly this has been due to the piracy that seems to go hand in hand with the web extension community and the frustration that you get when you get your hard work ripped off by some snotty little script kiddy. In every case, the mods and extensions that I have written have ended up being released open source and for free. In fact these same mods and extensions are still available on the downloads page.

As you can see by the date on most of those items, it has been a few years since I have actively developed stuff for a wider audience. Most of the stuff I wrote was for the Boonex Dolphin platform, and whilst I ended up moving away from Dolphin to Joomla and JomSocial I never bothered to release any of the modifications, plugins and extensions that I had written for my sites on the Joomla / JomSocial platform.

Recently I have been developing some interesting things and have been toying with the idea of releasing them for sale, I also have the Dolphin to JomSocial migrator that I have up until now not made available to the public. So with a renewed interest in once again selling mods and extensions but this time for the Joomla / JomSocial platform I decided to put a recent plugin that I wrote up for sale.

The plugin is a simple extension for JomSocial that automatically adds new members to a JomSocial group. I wrote this simply because the only available version that I could find to purchase required an expensive 3 month subscription purchase to download. Something as simple as this is not worth the $30 subscription price that was being asked so I decided it would be better/cheaper/easier write my own. Having written it I could also see an opportunity to sell it to others who wanted the plugin but did not want to cough up the subscription for just one extension.

Having moved all of my sites to the Excellent Digital Ocean hosting I noticed that on some sites the php mail function seemed to be painfully slow and in some cases threw up some error messages telling me that it had failed. Googling didn't turn up too much in the way of solutions, most information seemed to suggest that the sendmail or postfix packages be installed instead.

Whilst sendmail and postfix are both great solutions, I did not really want to install a fully fledged mail server on my box as all email handling for my domains is handled on a separate server. It seemed like too much of a waste of resources so I decided to simply fix the issue with the php mail() function.

After doing a bit of digging I discovered that the issue lay with the hosts file. The host info was incorrect.

Editing the hosts file is pretty easy to do, but first you will need to know what the current hostname is set to. To do this simply type in the following command at the command prompt

A while back I was working on a project that allowed replication of an instance of Joomla. The reason for this was that I have a couple of sites that are set up as SaaS applications. Rather than use the traditional method of selling access to multiple user accounts on a single site I needed to provide complete anonymity between users. The nature of these apps were that all data is private and for me the best way to manage both the segregation and anonymity was to provide completely separate sites for each user.

I wanted to use a basic site as a template and then replicate it for each user. This meant replicating both the physical files and the database information for each subsequent user.

I had previously used JMS multisites but had found the component to be a bit overly complicated and limiting when used in a commercial capacity as licenses were required for each replication. It also did not do exactly what I required. I did have a look at modifying the code to do what I wanted but in the end my solution was to simply write my own component.

For my setup I required that each instance had it's own subdomain, but that users could log in from the main domain. Each instance was also created from creating a subscription on the main domain.

I've deleted a bunch of old user accounts that were either never enabled or never revisited the site after being enabled. In the very highly unlikely possibility that you had an account and find that it has been deleted you will need to rejoin.

Been busy today tidying up the site. I've been meaning to get around to finishing off a few things, namely the poor cataloguing of the tutorials section and reinstatement of the downloads section which unfortunately broke during the last site update.

I've changed the tutorials section so that it runs off of the excellent SectionX from StackIdeas. I had perviously used SectionX on a few 1.5 sites and was very disappointed that it was never updated it for later Joomla versions. In the end I migrated the tutorials across to EasyBlog, but it was never quite the same.

Whilst recently updating a clients site I was pretty stoked to find that SectionX had been updated to work with the current Joomla versions. Great news! So I have installed it and re-enabled the old tutorials. All I need to do now is to go through the blogs and migrate any new posts back across to being a Joomla article. Stack Ideas offer a free plugin that claims to do this so I will give it a go and see what happens.

One thing that I will need to revisit is commenting for articles in the tutorials section. This was being handled by EasyBlog but will now have to managed by something like Komento. (another StackIdeas product).

Looks like the Ubuntu forums have been hacked as they are currently offline. The forum is currently displaying the maintenance page with the following information: Ubuntu Forums is down for maintenance There has been a security breach on the Ubuntu Forums. The Canonical IS team is working hard as we speak to restore normal operations. This page will be updated with progress reports. What we know Unfortunately the attackers have gotten every user's local username, password, and email address from the Ubuntu Forums database. The passwords are not stored in plain text, they are stored as salted hashes. However, if you were using the same password as your Ubuntu Forums one on another service (such as email), you are strongly encouraged to change the password on the other service ASAP. Ubuntu One, Launchpad and other Ubuntu/Canonical services are NOT affected by the breach. Progress report 2013-07-20 2011UTC: Reports of defacement 2013-07-20 2015UTC: Site taken down, this splash page put in place while investigation continues. 2013-07-21: we believe the root cause of the breach has been identified. We are currently reinstalling the forums software from scratch. No data (posts, private messages etc.) will be lost as part of this process. 2013-07-22 -> 2013-07-25: work on reinstalling the forums continues. 2013-07-26: the forums are up running again and being tested privately by Forum administrators.

I have had a few of my larger sites hosted at Green Geeks for a number of years now. At one time I used to use them exclusively for all of my hosting, years ago the prices were good, and the service was great. However, over time the level of service seemed to drop massively and the number of issues that I experienced seemed to grow exponentially.

One issue that kept rearing it's head was unexpected server updates. The techs had a habit of making server configuration changes without any prior notice meaning that you would come into work and find that 100 out of your 200 sites had features that had stopped working. These changes were usually in response to server security compromises, and amazingly on some of these occasions there was even a root breach. Such changes were an absolute nightmare and sometimes would result in losing two days or more to update code to work with the new convoluted configurations. In the end I simply moved everything to another host.

Whilst this was easy for most sites, I have a couple of larger sites that simply were not an easy task to migrate. The sheer size of the sites meant days of FTP time to transfer the files. I simply kept putting the migration off until the inevitable happened.

Well that inevitable moment happend recently when the billing cycle was unable to renew as my credit card details had expired. Instead of emailing me to let me know so that I could update my details they simply flipped the switch and took the sites offline. The first I knew of it was receiving an email from an irate client saying that their service had been suspended. Great.

Along with the recent site update I have also decided to junk the 'web technologies' moniker and revert to just the plain old 'DeeEmm' name. The reason for adopting the name in the first place was to try and leverage the DeeEmm name to generate some business from the hard earned reputation that I had garnered from providing free templates, mods and plugins for various web platforms.

For some reason, perhaps the free lovin hippy side of me, I decided to give away (yes GIVE AWAY!!) modifications and plugins for FREE!! This had a rather good outcome in that I managed to secure me quite a good reputation. Whilst others seemed to milking every and any opportunity I decided to try and undermine their cashing in by providing my mods for free. This ploy worked remarkably well, especially with the Boonex Dolphin platform, in fact so well that I still get enquiries for Dolphin work long after I opted to have nothing to do with it (some 2 or 3 years in fact!). The upshot of my free mods was that I received many many enquiries. But whilst I received many enquiries, the conversion rate was relatively low, in fact for every fifty enquiries only one would end up as a sale and not someone expecting free advice or help, not a very good conversion ratio.

For some reason most of those enquiries related to the Dolphin platform all ended up being little more than wishful thinking, it appeared that most of the enquiries that I received seemed to want everything that I could offer, but expected to pay more-or-less nothing for it. This is a phenomenon not experienced with other software platforms and I'm not 100% sure why.

I would like to say it is because of of a carefully considered business model where a less than a perfect software core is sold and then Svengali types swan along and sell you solutions to all of the inherent problems in the code. However I think that the reality is much worse than that.

The template is now based on the popular Twitter boostrap template and some of the superfluous areas of the sites have been removed. The discussions area is now no more. I figure that I'm not developing commercial components any more so there is really no need for it, instead I will simply support each mod / tutorial through it's comment section.

Whilst on the subject of comments handling, I decided to stop using the excellent Komento and instead simply reply on the inbuilt comments system for EasyBlog. This is more than adequate and running a skinnier site is going to be much easier to manage.

There are numerous other changes, most of them minor and none really that noticeable so that's it for another year or so until the next update.

To enable your JomSocial site to communicate with it's members you need to set a CRON job up to pop messages off of the mail queue. This is done by calling the following script. "http://yourdomain.com/index.php?option=com_community&task=cron"

Normally this can be easily achieved by adding a cron via cPanel or whatever your flavour of web admin interface happens to be. If, like me, you are running a virtual or dedicated server you might need to add a CRON via the command line.

My particular flavour of linux happens to use the crontab function to run CRON tasks. To add a cron job its simply a case of running the following command

Been getting spam for quite a while in a few of my JomSocial sites so decided to take a look into why. Spam messages were somehow being left by guest users even though guest access was disabled and permissions were set to members only for group discussions. After a short while I was easily able to replicate how to to do this myself.

So wanting to the the right thing and not publicly post the exploit for others to see and abuse I emailed JomSocial support with details of the exploit and how to fix it. After waiting for a while I got absolutely no response whatsoever. I then posted a message to their Facebook feed, same thing - absolutely no reply whatsoever. Pretty ironic considering that thier Facebook page is pretty active lately telling us what a great job they are doing improving JomSocial.

Hmmnnnn what to do?

So next I post a support thread on their forum. After a couple of weeks of not receiving any official reply I gave up any expectation of ever getting a reply and simply fixed my sites myself. I eventually received an email requesting that I give examples of the exploit, screen grabs and a whole bunch of other stuff that would take up heaps of my time. I politely declined saying that they had missed their chance but offering that they could engage me professionally if they wanted me fix their code. Not surprisingly there was no reply.

Not being a very heavy traffic type of site DeeEmm.com has always been quite happy residing on a shared server along side the other similar sites that I run. My two heavy traffic sites reside on a dedicated server but there has never been a need for such extravagances here. That is, until just recently.Go Yabba Yabba!I have a habit of bouncing between hosting plans so that i can get a better deal and have moved between several hosts before settling on GoDaddy. They offered the cheapest unlimited hosting and as I had domains and online storage registered there it seemed like a no-brainer. Before I moved I gave them a call to make sure that they supported Joomla and a few specific hosting requirements that I needed. The support guy was very helpful and reassured me that there were no account restrictions and the hosting could be configured as I required. Cool.So nearly a year goes by, with no major dramas. The support has been excellent when I have needed it and the sites are running much better then they did on my previous host (who had a habit of continually reconfiguring the servers in the name of 'security' which usually ended up breaking my site).Out of the blue just before Christmas I get an email from 'network violations' telling me that my account is in contravention of their hosting policy and will be taken down unless I immediately fix it. On digging a little further it transpires that as a couple of the sites I had hosted there have over 1024 files within a directory it was seen as being in contravention with their terms and conditions. They advised me to immediately change the site so that it did not have greater then 1024 files or folders in a single directory and then send them an email stating that I had removed the offending items, was in agreement to their rule of 1024 and would not do it again.WTF!?!I smell a rat!I was majorly pissed off as one of the issues I asked about before committing was hosting limitations on their 'unlimited' plans. Well after doing some digging I found out that there is no such clause in their T&C, hence the request to cut and paste a specific statement into an email. Obviously I refused.After some debate and moving up the food chain a few levels I ended up in a stalemate conversation with one of their managers who was not going to budge on their newly created 1024 rule and whilst I managed to get the deadline extended a little they were adamant that I had to address the file issue.There was no compromise on their behalf and I was fed a bullshite story about how my sites were affecting other domains on the shared hosting (quite amazing considering that neither site was actually live, the DNS records were still pointing at my previous registrar meaning that there was zero traffic to their servers).With lies and a complete lack of cooperation on behalf of GoDaddy I decided to vote with my feet and take my (considerable) business elsewhere. Their loss! I did however manage to get a parting shot by getting them to refund me for the three hosting plans that they miss-sold me. The ironic thing was that in the course of the discussions I had with them I asked if they would upgrade me to a VPS plan for free - which they declined. Not sure why as it was a fraction of the price of the three plans. Idiots.My GainTheir loss has literally turned into my gain as I discovered Digital Ocean who offer basic VPS hosting from as little as $5 / month. I have now migrated all of my hosted sites over to a single VPS instance which is working absolutely flawlessly. The best thing is that should I need I can easily and instantly upgrade to a higher spec VPS with the click of a button.I'm going to carry on testing things out for a while and will probably move my two large sites across as it is much better value than I am currently getting./DM

The past few weeks I have been rejigging all of my sites, services and applications so that they all now fall under the banner of my company Indau. The reason for this is that there was no direct correlation between each of the products. This autonomy also failed to leverage a very important commodity - diversity.

By associating all of my different products with my company, it demonstrates the diversity in the work that I do, and therefore work that the company is able to provide. It helps sell my services.

The reshuffle is partially due to expansion in a new direction, it also helps me to delineate paying projects from hobby projects. Not that hobby projects are without value, indeed the opposite is true. Whilst undertaking the reshuffle I also decided to revive my long suffering content management system. DMCMS. The reason for this is partially because I want to play with the fantastic tools on offer by the guys at Atlassian, but also because it deserves to live on.

I've been a proponent of Evernote for quite some time now, I use it on my Mac, my iPhone and iPad as well as using the online version when accessing from my clients windows machines. Being able to instantly share data between all of my machines has been an excellent boon to my productivity, and being able to find information fast means that I am never caught short in meetings or whilst out in the field. Well at least that's how it used to be before the latest Evernote 5 update.

The new version of Evernote has been vastly prettyfied, so much so in fact, that instead of being the leading GTD app (GTD = getting things done), it has now entered to realms of bloatware. The new update is visually very different, and a considerable amount of time would have appear to have been spent on creating new fancy graphics and swipe actions. Unfortunately this is at the expense of usability.