logo

About Author: The Pleasure of Finding Things Out

My name is Popescu Lucian Gabriel and I was born in Turnu Severin, a city near Serbian border, on June 4th 1978. Ever since I was little, I loved to notice patterns and build theories onto their cause. The pleasure of finding things out naturally became my lifetime mission: it gave me endless intellectual and emotional satisfaction while creating works of order, with Bach's music as lifelong companion.

My Work Methodology

For me programming is art: taking a task, learning & thinking about it, elaborating into a structure then peeling off imperfections until what remains is completely harmonious, modular and deceptively simple. How arrogant is it for me, though, not to use what someone else did already?

Unfortunately very few developers (especially in web programming) take any consideration at writing elegant optimal code, so the end product is typically slow, chaotic, over-programmed and deeply coupled to the target framework. This forced me to become a serial wheel reinventer whenever task is within reach (doable by a single man).

Developing Libraries

Whenever I'm requested to develop a library, I split my workflow into four steps:

  1. researching: look for official specifications for subject of task or (if not found) already made solutions to understand what developers expect (if any)
  2. learning: if specifications exist (eg: oauth2 client), simply learn them and ignore what others did; otherwise, if task already done by others (eg: database migrations) compile resolutions into a specification
  3. thinking: based on specifications I learnt/created, build a logical tree of components that will serve as foundation for classes to develop. If task is inovative (eg: file-based database) foundation will be built purely by thinking.
  4. developing: developing classes on that logical tree then covering their operations with one or more unit tests. When developing classes I take extreme care at loose coupling while at the same time being very economic in code.

Each library will be loosely coupled: completely covering its subject, knowing nothing else! Eg: OAuth2 Client API

Developing Applications

Whenever I'm requested to develop an application (itself using libraries), I split my workflow into four steps:

  1. learning: learning what is expected from application to deliver (what its constractor and its target users expect)
  2. thinking: think of breaking up each functionality into a library to reuse for other purposes as well
  3. developing: developing each library independently to cover one functional aspect (as described in "Developing Libraries" section)
  4. binding: classes inside must be solely geared at integrating (binding) libraries underneath, themselves built with reusability in mind

Eg: Framework Skeleton API, binding OAuth2 Client API to gain ability of communicating with OAuth2 providers

Building This Framework

This framework was first and foremost an intellectual exercise of massive scale. "Every block of stone has a statue inside it and it is the task of the sculptor to discover it", said Michelangelo. You will never know what lies behind that block of stone until you remove last pieces of rabble, so the process itself adds pure excitement on top of aesthetic satisfaction on masterpiece about to be produced.

The Goals

Creating a framework that is absolutely modular: each aspect of a web application logic dedicated to an independent API, perfectly usable from outside framework, able to be reassembled elsewhere. Framework's job remains that of integration and nothing more!

The Means

A set of principles (harmony, simplicity and efficiency) in development "powered by" Art of Fugue (mostly) then months of arduous work to make every part in the puzzle fit perfectly: from code itself to architecture and documentation.

The Results

Assessing results of my own work will always be relative, but judging by quantifiable criteria (performance, modularity, elegance) framework is up to highest standards, an exercise of art of computer programming inspired by Bach's pursuit of beauty and order through simplicity.

×