Import External Images

One plugin I use pretty frequently for WordPress is Import External Images. It lets you copy and paste content into your site, then with a couple of clicks it will sideload all of the images in that post that are still linked to external sources. I modified the one on to work with Squarespace and GoDaddy’s website builder. Let me know if you find any issues.

Download: import-external-images


So, I’ve been watching the registrations on and find it interesting the countries that I’m seeing there. It has started being used in Argentina, the Philippines, Austria,  Nigeria, and the UK, apart from Canada and the USA.  The consistent story I hear with most users is that they’re moving from an old/slow/bad host to something newer and better, and either aren’t being given the support to migrate cPanel that they need, or they aren’t on cPanel and have no easy email migration path. PERFECT! This is exactly why I launched the site! Still free for now. Try it out!

Adventures in VPS Land

So, 24 hours of using Virpus, and here’s my review. I’ll be frank here, I use Ramnode, love Ramnode, and have nothing but good things to say about them. I also use Cirrus Tech to host a Windows VPS. But I’m not one to put all of my eggs in one basket, especially with so many businesses relying on my hosting, so I signed up with no expectations for one of the Virpus Linux Seattle-based VPS’s, adding cPanel.

Since signing up, I’ve been able to considerably drop the load from one of my main VPS’s through this new VPS.

It was provisioned instantly, but looks like the IP address wasn’t automatically registered in WHM/cPanel’s system (maybe because I did it after hours?), so I had to wait for that and run a few commands to both install and register WHM… no biggie, it’s self managed, you get what you pay for. After getting it all set up and running, I moved over about 25 sites and swapped DNS IPs to see what it would be like load-wise. Support was quick to respond, even after-hours (not quite as fast as Ramnode but still very prompt and courteous).

Seems very stable, speeds are good, and I ran some hard disk tests which were comparable with Ramnode – almost exactly on par.

The server virtualization technology in use is Xen – which has pros and cons, like me having to patch my own kernel if there are security vulnerabilities, but not having to request second level quotas to be enabled. Also Xen is more flexible from a memory perspective, whereas Ramnode bites the big one when the server gets overloaded by requests due to the technology used: I can expect my clamav, spamd, and mysql services to need to restart daily – thankfully they do this on their own.

Now, I’m a server admin and web developer by trade, so I tend to know my stuff, so don’t take my ease of setup and use as what your experience will be like, but as far as I’m concerned the cost vs the features is well worth it. None of my mission critical sites are on it at this point, until I give it some break in time, but I’d be quite happy setting up clients on here if it continues with this level of responsiveness.


Made some changes to TransferMyEmail yesterday and today – basically I rewrote the parsing routine for folder structure and output of checkboxes. This was needed because originally I had been using “INBOX” as the root folder, which worked to a certain extent, but then had some feedback from Germany, where I found out “POSTEINGANG” could be used too, and also Gmail has a folder structure that is based partly on IMAP and partly on their tags. So you could have a list of folders, then in the middle a [GMAIL] root folder, then some other folders after that.

Long story short, it should handle anything you throw at it to a depth of 3 subfolders, and still iterate through everything properly.

Check out the project here:


I have this social aggregation project I’ve been working on called AfterGlow, and it’s not without its challenges, but tonight I did some work on it on a few areas that have been insufficient up until now. Instagram’s API supports pagination, so I added support for that – full support too, so it will continue down your Instagram feed until it reaches your set maximum results or the end of the feed. I also tweaked the parser for Pinterest to allow for date stamps to be read properly, and time sorting works as a result. They have a unique stamp compared to the other feeds so it took a few extra lines of code – I had only recently switched them from scraping over to RSS. Finally, I edited the moderation side of the admin dashboard so that it would be sorted by date too, and fixed the loading screen so it actually gets injected before the server parses and returns all of the feeds.

Check it out here: