In God Code We Trust.


CodeIgniter : Myth And Fact


Today, i got some tweet refering to an article : Why CodeIgniter is Dead. And as you might guess, this sort of thing spreading rapidly through twitter, and recently, through IRC discussion. When someone hear my opinion, he said that i take it too personal. Well i just said, that those artice is nothing but a marketing effort that discredit CI as a framework (a black-campaign), and an in-ethical way to gain attractions. It generally said framework "A" doesn't support X and Y things, and framework "B" does, without a strive relevancies that bounds "A" and "B" in the same domain, in this case, as a PHP framework. I have never met a Python developer flaming Django over Pylons, Perl developer flaming Maypole over Catalyst or Ruby developer flaming RoR over Sinatra. But I’ve bumped into plenty within PHP framework worlds. If you are one of these people, please stop that. That mindset is terrifying. But I am not interest to defend something here. I just think it is necessary, for people to know the myths and the facts behind any points within Shawn's article.

Read more

Re-invent my wheel : Juriya Project


People often say: dont re-invent the wheel. For many cases, I often believed to follow this dogma. And in our daily life, this is often true, especially if you are a programmer. Use of existing ones, rather than make your life harder by finding things that were found someone else. But how do we know, the meaning behind it, without trying it yourself? Without going through the entire process, from planning, fractions of the experiment, the repetition of 'trial and error', in order to create a 'wheel'? By the way, 'wheel' reminds me of a car, and my impressions about the car not so good lately: my index finger squeezed the car door, and now in addition to swollen he turns blue! But not because of this, of course, I started my own experiment, to re-invent my 'wheel'. Juriya Project is my PHP framework prototype name, and this will gonna be fun :)

Read more

What Can We Learn from: a Dog ?


I love to read. When I find a spare time, in the middle of the hustle and bustle of a hectic life schedule, a good book can release stress and most importance, make me feel remains: alive. This month I finish reading a novel, "The Art of Racing in the Rain". This novel is light, but smart. Four hundred and three pages, tells about the life of Denny (a driver) with Eve (his wife), Zoe (her daughter) and the main character in the novel, Enzo: a Jack Russell Terrier dog.

Read more

Gas ORM : New design and benchmarking


Gas ORM was updated into v.1.1.0, which support the latest version of CI (2.1, in github). What you can expect from this new version are : better design flexibility, yet better (raw) performance. This post will show you, how you can implement Gas in your models, including how to validate data and doing your own callback function (validation process in Gas). In last section, the benchmark test will show us, why importing foreign code such as Doctrine or PHP AR into CI application, rather than utilize native framework capabilities, is not a good idea. If you are PHP AR fanatic and love to import it into your app, you'd better stop reading right now, because i use it as comparation, and you apparently would not happy to see the result : Gas ORM beat it hard, right in its bloated ass.

Read more

Gas ORM : A lighweight ORM for CodeIgniter


CodeIgniter (CI) is one of famous PHP framework. It's my favourite framework, when i deal with PHP apps, alongside with Kohana or Zend. Unfortunately for me, CI didnt have ORM to simplify my database abstraction (and minimize my codebase). When we are just about write a blog application, maybe we will not face any difficulties, but, if you're about building your next portal app, with complex data-set, you will ended up with draw dragons in your models. CI AR (alongside with its DB utility packages) is powerfull tool. Also, CI already have its own validator class. So, instead of import some available PHP ORM (PHP ActiveRecord, Doctrine, so on), which potentially make a huge duplication on my app codebase (for its own DB and validator utility packages), in my recent application, i wrote my own, which built specifically for my CodeIgniter app. I named it : Gas ORM.

Read more

An Open Letter to Join the Wall Street Occupation


Turmoil of the revolution. Moving from the Tunisians, Egyptians, is now arriving in the country of Uncle Sam. In three weeks, an action that had just started by some people, now turned into a big strike. Workers and youth, together floating to the streets, do the occupation in the sanctum of the great cathedral of global capitalism.

Read more

HTTP Accelerator : Caching With Varnish


High-performance application is one of the most important issue, that any web developer concerned. To get a boost in performace for a given component, we can often stick to cache in front of it to reduce read request. This is at its core a performance issue(s), but crawl into scaling as a way to expand the capacity of a component without having to have to design it to be linearly scalable. If we can reduce the usage on a component by five times, we can scale up to five times the traffic without having to change the component at all.

Read more

Understanding HTTP


The most familiar way of interacting with remote service, as far as web developers are concerned, is using HTTP. HTTP is widely agreed and understood protocol, with support in most languages: it's the backbone of the web. In use since 1990, the protocol was formalized in RFC 1945 in May 1996 and has been updated once (HTTP/1.1) in RFC 2068 in 1997. As internet standards go, it's fairly set in stone and easy to implement against in its most basic forms.

As if powering the Web were not enough, HTTP is also the protocol underlying a number of the other services. Services based on XML-RPC, SOAP and REST all use HTTP as their base transport. Atom, the newcomer to the publisih protocols, is also built on top of HTTP, which is ideal for use as a transport layer in higher-level protocols because it completely defines a mechanism for requesting and returning resources. The main benefit of using HTTP isn't necessarily as a protocol, but rather that it's been around for a long time and a lot of client and server code already exists.

Read more

Hello World


I never thought of it before, to start writing a personal blog. But apparently, this will be an interesting side activity.

As a web developer, I would write about my adventures in the process of developing an application or a project, in conjunction with web programming languages ​​(PHP, Perl, Ruby and web semantic languange) and other related stuff (IDE, OS) in general. As a personal archive, and a place where seasoned programmers can look up, also a place where anyone who is interested in web programming in general can learn something.

Read more