Dev Talk


Tracking Magento “add product to cart” action for analytic software purpose

Tracking Magento “add product to cart” action for analytic software purpose

Recently I have been working on a Magento extension for a 3rd party customer analytics and targeting web service, think Google Analytics alternative. One of the eCommerce tracking features that needed to be implemented was the “add product to cart” action. Since these kind of tracking services use JavaScript to trigger their tracking code, it’s up to us to see where and when will be embed certain tracking JavaScript in Magento. What’s interesting about “add product to cart” action is that it’s not your usual web page on which you land and are then in possibility to execute certain JavaScript.

Read more

CouchDB for PHP developers – CRUD

CouchDB for PHP developers – CRUD

Apache CouchDB™ commonly referred to as just CouchDB is an open source NoSQL database that uses JSON for storing data in form of documents, JavaScript as its query language using MapReduce queries, and regular HTTP for an API.

Read more

Easily manage LAMP name based virtual hosts

Easily manage LAMP name based virtual hosts

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

Consuming Magento REST service using Zend_OAuth_Consumer

Consuming Magento REST service using Zend_OAuth_Consumer

Ok folks. Until today, trying to cover this area completely, I wrote two articles about Magento oAuth and REST services:

This Magento REST and oAuth functionality and ways on which it could be used are so wide that I think that even in this three articles will not cover everything that I wanna share with you, so stay tuned for next articles about this topic in near future 🙂

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

Magento mobile theme – imobile

Magento mobile theme – imobile

Magento meets jQuery mobile (ver 1.1.0), before we start please note this is only experiment, use this theme on your own, this is not (yet) production ready. In a nutshell we have “package” under which we place all edited files. For start we use magento iphone theme and then add some “extra stuff”.

Read more

Installing & setting up PHPUnit manually without PEAR

Installing & setting up PHPUnit manually without PEAR

If there is one thing I hate in PHP world then that’s PEAR. With full respect to it, but it simply does not work for me. I usually jump around from Linux, Windows, OSX on a monthly basis and honestly I have never had it work out of the box. There where always some installation issues with PEAR itself then with the packages. Experience I’m describing here is completely subjective so please do not look at it as me trashing the PEAR. If it works for you, then great. If not, then here is s little HowTo on installing the PHPUnit manually without PEAR.

Read more

Using custom php.ini file with php CLI

Using custom php.ini  file with php CLI © 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

Create simple mobile ready search page

Create simple mobile ready search page

Idea is to create one page which will be ready for mobile devices and serve like mobile app. We will use google ajax search API and jQuery to enhance experience. Also we will have script which will notice visitors how to add shorcut for iOs devices and use search like standalone app.

Read more

New Croatian version of our website

New Croatian version of our website

Yesterday we launched a new, redesigned version of our Croatian website – inchoo.hr. The new design follows the inchoo.net’s look and feel with a little twist in the header to improve the differentiation of the two websites. The difference is obvious in the color scheme and contour of our hometown Osijek that can be seen in the header.

Read more

ZendFramework example on using Google URL Shortener service

ZendFramework example on using Google URL Shortener service

Seems like URL shorteners have gain extreme popularity with web services like Twitter. Not to mention the fact that long URLs are somewhat hard to pass along. They are also harder to verbalize in a conversation, and above all in some cases they are almost impossible to remember.

There are quite a large number of URL shorteners out there these days, mostly free. One of the freshest is Google’s URL shortener. This article is not about outlining the features that make this shortener better then the other ones (as I am sure some offer more features at the moment). This article is merely for the purpose of showing you how easy it is to use the Google URL Shortener service via your ZendFramework libraries.

Read more

How difficult is Git branching?

How difficult is Git branching?

Well, in short – it isn’t! But, when it comes to branching, it comes to “merging problem”. I say problem although it isn’t, and if you’re interested, I’ll show you why.

Read more

Our New Design is Nominated for CSS Design Awards

Our New Design is Nominated for CSS Design Awards

Hi Everyone,

After all the work we have done to get our new website up and running, we are now trying to get the attention of the design community and show that we do design in the same way we do development; with distinctive passion and quality. If you want to help us to win this award, all you have to do is to go to cssdesignawards.com hover the image and vote for us!

Read more

Basic Git usage from console

Basic Git usage from console

Hi! Today I’m going to write an article about basic Git usage in practice. I’m not going to go into depth of Git repository setup, but rather on developer’s side – what’s important to understand to start using it?

Read more

New Inchoo.net Design

New Inchoo.net Design

Hi Everyone. Since I started working at Inchoo – in fact since my interview, Tomislav (our CEO) has been talking about the revamping of Inchoo.net. In Brazil we have a popular saying: “In a blacksmith’s house, the skewer is made of wood”, which can be applied to almost all types of businesses. You know the drill, unless something is really hurting, we keep our non-billable projects on the back-burner and keep the focus on our clients and opportunities for new projects. Thankfully, we found a gap in between projects and I was the designer responsible.

Read more

Zend framework coding style standard

Zend framework coding style standard © by rodolfoclix/sxc

Hello again! Today I’ll discuss some of the basic coding rules if your’re using Zend framework (or even Magento, which is written over Zend framework). Some might think that this is an redundant topic, but I strongly disagree – if you work in a team.

Read more

How to limit web services so they don’t kill CPU

How to limit web services so they don’t kill CPU © by groenmen/sxc

Hi! As any developer, I’ve encountered a small problem when working with PHP under Apache. It’s all good until you have to test the “real life” situations. For example – if you use imagemagick library in your application. It can get quite heavy on server load. So if you want to read a solution for it, read on.

Read more

Memory management in Zend framework

Memory management in Zend framework © by rodolfoclix/sxc

Hello everyone! Recently I’ve noticed that some developers don’t pay much attention to memory management in Zend framework. And here I’m not talking about Zend_Cache, but rather about object sizes. And if you’re thinking that I’m writing nonsenses, let me show you how to reduce memory usage by more than 100 times (in my example :D).

Read more

MySQL transactions in Zend framework

MySQL transactions in Zend framework © by jrdurao/sxc

Hi! Today I’m going to explain a part of Zend framework DB functionality. Transactions in general are quite useful, like temporary tables, but in most of situations unnecessary. Because of that, I’m going to explain when and how to use them through Zend framework.

Read more

Dynamic grids anyone?

Dynamic grids anyone?

For my second 🙂 article I’m again writing about Ext.js. Ext.js has one great part for showing data – grids. These look really nice and you can style them pretty easily. It all works like a charm when you’re using them for static data. But what when things get dynamic? What when you don’t know the number of the headers that you need in the table and not just rows? Here’s where this article will help.

Read more

PhpStorm IDE overview

PhpStorm IDE overview

Developing sites and applications demands the best tool you can afford. PhpStorm is by far the best friend you can get when dealing with web development. Here’s why.

Read more

Git vs SVN A.K.A. Everyone likes control

Git vs SVN A.K.A. Everyone likes control

Hi! Today I’ll try to make an objective overview of both SVN’s and Git’s pros and cons from developer side. I won’t go into depth of configuration of any of them neither will discuss specific commands, but rather functionality itself.

Read more

Magento LightSpeed Extension – Review

Magento LightSpeed Extension – Review

In the last 7 years of my involvement with web development I have had an opportunity to open a great number of different “boxes“ when looking for web site improvement. After opening these “boxes” things often didn’t seem as it was specified – luckily this is not a case with Magento Lightspeed extension : )

Read more

The principles of SOLID programming

The principles of SOLID programming

Hello there! Today I’ll be explaining The principles of SOLID programming. When I first got serious about OOP, I jumped to design patterns, but then I realized that everyone need a good grasp of the SOLID principles before you’re ready to tackle Design Patterns – in more of an Architect role – that is. So, to conclude this short introduction, I’ll try to explain this in as low-level of knowledge as possible.

Read more

Understanding PHP’s OOP – basic terms explained

Understanding PHP’s OOP – basic terms explained

Hello there! I’ll explain some basic terms of PHP’s Object Orientated Programming terms that any developer needs to know. Perhaps you already use all of those, but if you don’t know which is which, you will have a problem in team communication. If so, please read on.

Read more