Hi there.

I'm Erfan - a full-stack Magento developer and consultant living in Perth, Australia. I'm the organiser of Western Australia's Magento meetup and at the moment I'm working at SPEQS, a startup that will revolutionise how people buy eyewear online.

You can check out my blog below, or get in touch with me here.


In the web industry there are a lot of tools available to make a developers life easier. Because this ecosystem moves so fast - and it's hard to keep track of everything - I thought it would be a good idea to do a roundup of tools I personally use for Magento development. These slides cover Composer,…...
Something I recently found out, is a feature that all blocks have. Interestingly enough, it wasn’t part of the Frontend certification, maybe because it isn’t used very much. I decided to dig into it anyway. It’s pretty simple - Mage_Core_Block_Abstract has the ability to group it’s children blocks without…...
For some reason, there are two different database table API’s - it seems one is for creating new tables, and the other for modifying existing tables. When you do $installer->getConnection()->newTable() you get an instance of Varien_Db_Ddl_Table. Its addColumn method signature looks like this: $table->addColumn('id',…...
Sometimes Magento still confuses me when I try to create adminhtml pages and widgets like tabs or grids. One interesting example is that I needed a grid inside an edit form for a one-to-many relationship - just like how the coupons form and grid is located inside of a shopping cart pricerule. In this…...