Tools

Mitigating Facebook’s “x-fb-http-engine: Liger” site hammering using Apache or nginx

Facebook Liger hammering preview

Facebook is using a sort of web page prerendering mechanism in it’s in-app browser for mobile users [see disclosure here]. It is used by Facebook’s in-app browser to speed up page rendering for web link content shared on Facebook. But it can cause serious headaches, and this post should explain how to mitigate it with Apache or nginx.

Read more

Magento without an IDE? Say hello to Sublime!

tools_sublime

We are all aware of the Magento codebase size and its complexity. That is one of the reasons most people use full-fledged IDEs for Magento programming. Most answers regarding the “what IDE should I be using for Magento?” or “what is the best Magento development environment?” include big boys like Eclipse, NetBeans and PhpStorm. Since you’ve already read the title, you may be wondering: “what can a text editor like Sublime Text offer me for my Magento development?”. Vanilla installation? Not much, but with the help of a few plugins, well… Keep reading and you just may be in for a treat.

Read more

Using Redis cache backend and session storage in Magento

Redis Logo

Combined with the power of Zend Framework, Magento currently supports many cache backends with file system, APC and Memcached being the most widely used. Every supported cache backend brings it’s own set of upsides and downsides, but since there’s a lot to choose from, one could easily assume that as far as cache backends are concerned, Magento is very well covered. To some degree this might be true, but when you seriously up the number of requests, none of the cache backends scale well. Besides poor scaling, some of the cache backend implementations also suffer from serious limitations like not having support for grouping of related cache entries, a.k.a. tagging. With this in mind, and in order to provide support for stable and scalable cache backend, latest versions of Magento are turning to Redis key-value store. In this article I’ll do my best to describe process of implementing Redis as cache and session backend with recent versions of Magento Community and Enterprise Edition.

Read more

Easily manage LAMP name based virtual hosts

lamp-vhost-manager

I’ve been developing inside LAMP environment since the day one of my web development adventure. Reason for this is that all of the web development tools like web server, database management system, source code revision control systems are at home when I log into the Linux powered workstation. Of course there are some downsides to developing inside LAMP, most importantly the sheer complexity of LAMP environment configuration. With this in mind I’ve created tool designed to simplify management of name based virtual hosts on Debian based Linux operating systems. In this article I’ll give my best to provide an overview of this tool and present you with a few clear examples illustrating its usage.

Read more

Git deployment

gitd.1

This article shows proof of concept for git deployment.

It is completely irrelevant where do you host your code as long as you actually do have git repository 🙂

It is not meant to be used in production environments unless you are aware what it does exactly.

Read more

(Not only) Magento .gitignore generator

gitignoreImage © SteveFE@sxc.hu

Most of the time developer will add all Magento source files inside the git version control. It is much easier that way to track any change or even deploy the files on server by executing git pull.

But sometimes it is completely unnecessary to track all files and developer would like to track only few specified files and folders under web root, for example when developing Magento extension for Magento Connect.

Read more

Setup automatic per-folder subdomains on your local linux based computer

rusek@sxc.hu © rusek@sxc.hu

WARNING: this is a fully linux-based tutorial. I’m pretty sure that this is possible on Micro$oft Windows and OS/X, but unfortunately I’m not using them, neither I know a good DNS server for them and the impact on XAMPP and MAMP.

As you probably already know, one of the main problems when you’re doing multiple projects is to organize them properly, first for fast local testing of changes, second for your own sake, to not get lost on your own computer.
One more problem are the testing local domains. Well, the easiest way when you create a project is to create a new project folder, put a new domain (and every subdomain you’ll use) into your /etc/hosts file, create a new virtual host in the apache config, run a2ensite #### (or however you enable a new site on your distribution), restart the webserver… Which means, you need to do that everytime when you’re creating a new project. Not a very convenient way if you ask me, as you’re bloating your /etc/hosts file and your Apache2 virtualHost file(s).

So, one day, I was thinking about that and looking for a solution for it. I’m sure there are a bunch of ways to get rid of this problem, and this solution which I’ll show you is how I managed to do it.

Read more

Using custom php.ini file with php CLI

Featured Image © pk2000@sxc.hu

Considering that I have never been real Linux user before, there was few things that I had to learn to successfully handle my code on server through SSH.

One of these things is forcing php CLI to use my custom php.ini file on server.

Let me start this story from beginning …

Read more

Parsing Amazon affiliate links in WordPress

Featured Image

Recently my team had problem with Amazon affiliate links on our web site.
On the web, we have wordpress installation and inside main content of web page we have some Amazon affiliate links that entered in the content few years ago and not working any more because Amazon changed API somehow. I searched the web for some new version of wordpress plug-in for new API version, because our old plug-in for displaying that links properly was turned off.

FYI that links inside content look like this:

Read more