Agroid – Green Pakistan

Agroid – Green Pakistan is the name of constant struggle of five years without any fear of losing. I believe if we want to empower unprivileged people and eliminate poverty, then agricultural reforms are very much needed. Food security is tightly coupled with education, health and peace. Farmers and agriculturists have very little or even no use of information, communication and mobile technology to make meaning for their lives, but it will change their lifestyles in a very positive way.

Agriculture is the backbone of Pakistan’s economy; almost 100 million people of Pakistan are dependent on agriculture. More than 50 percent of mature crops destroy due to lack of proper information, knowledge and awareness. Through using advance and modern method of agriculture, we can double the production and save the destruction as well; which will ultimately benefit the farmers.

Change is not related to vote and system; anyone can play his role and contribute his work to change for betterment. \The first project under Agroid – Green Pakistan initiative is Agroid – Pocket Agriculturist which is an information and management system that will benefit farmers as well as all those who are associated with agriculture industry in any sense. Agroid – Pocket Agriculturist will provide timely information about:

  • Prices, analysis and reviews of seeds, fertilizers and sprays for which area the particulars of them are useful and what is the best time for their use.
  • It will provide alerts on agriculture diseases, respective precautions and preventions
  • Flood warnings, weather forecasts and canal water status etc.

Latest research methodologies are being adopted to authenticate the information to be provided with a team of experts taking care of any error and omission.

Finally, it is being taken care that the method of providing information is such that it can be taken benefit by a person who has just a basic knowledge about phone for example he can make calls /messages. The slogan is to “MAKE MEANING” that means the focus is to provide information, communication and mobile technology benefits to those for whom it is meaningless at the moment.


Entrepreneurial Pakistan – A Hall of Shame

Incubators, accelerators, mentor-ships, seed funds, investments, startup incentives and entrepreneurial competitions are nothing more than inheritance, dowry, favoritism and liquidation of relations and connections; English/ physical presentation is a big plus.

Pseudo experts and ignorant judges are poisoning innovation & creativity, research & development, science & technology and inventions & discoveries.

Entrepreneurship and innovation is a close and small box in Pakistan that means something in between e-business, e-commerce, mobile apps which are mainly based on advertising revenue stream. Research and development is limited to surveys and sampling. Inventions and discoveries are not able to go beyond the UPS, quad-copter or DIY kits.

Majority of startups born after some program announcement and die on rejection, or in case of selection, which is mostly based on corrupt and opaque practices; then the idea or startup dies right after getting all incentives. Can anybody dare to audit, analyze and report that how many startups/ ideas are no more which was getting too many perks?

The very nominal successful ventures those also left the country, what is the return for the nation else than “A Pakistani do this or that; clap, clap or slap”.

Let’s think because you can as you have also a mind, and please correct me if my narrative is not right.

Rapid Entrepreneurial Economic Growth Through Innovative Rebate Framework – Research Paper Abstract

This research paper is proposing an entrepreneurial and industrial incentive framework for the long term and speedy economic growth at underdevelopment and underprivileged areas. Researchers of this paper are recommending that stable economy growth is dependent on long-term initiatives which should be increased with time contrast with a tax-free zone and time duration amnesty schemes that are causing fake economy, corruption, criminalization and the collapse of the economy after term completion of tax relaxation and perks. The aim of this research work is to investigate the advantages and disadvantages of current taxation structures around the globe for the development of the entrepreneur specific solution to overcome difficulties which are the reason to discourage startups and new ventures entry in the economy. Researchers are focusing the macro level and long term benefits and criticizing the micro level and short-term impact of existing structures and systems. Real growth depends on stable and mature ventures rather than new businesses which close down before the expiration of incentives provided.

This framework is based on out-the-box, innovative and creative alternative purposed solution rather than survey and sampling based pseudo research & development.

MERITOCRACY – Free, Fair and Peaceful Election

Democracy is the depreciated and outdated system, vote does not matter but who counts the vote. In short, what will be selection of INVINCIBLE is called free, fair and peaceful election.

The free and fair election means that; everyone can vote openly which will increase the sense of responsibility, honesty, loyalty and truth. And the fool proof security means that; nobody can threaten, pressurize, terrorize or hurt anybody for their verdict to vote.

Secret voting is the fundamental reason behind the rigging which also promotes lying, falsification, corruption, dissimulation, insincerity, misrepresentation and duplicity.

Let’s change the system with MERITOCRACY

Allah Almighty Bless Federation of Pakistan

Apache Connector for libModSecurity

Before the start of GSoC 2016; I was not considerably aware about the web application firewalls, especially about their internals and working mechanism. As information security and digital forensics are my core research areas of interest so I have dug up all related organizations in the list and I found ModSecurity most sparking for me. The next phase was to submit a proposal, but before that I was needed to choose a project; I have selected “Apache Connector for libModSecurity” because Apache httpd is the most popular, open source web server, and it is used by more than 50% of internet.

ModSecurity is a web application layer level firewall and libModSecurity is a major rewrite of ModSecurity because ModSecurity version 2.9.0 is available on different platforms, including Apache, IIS and NGINX but it really favors an Apache Deployment. ModSecurity standalone is basically a wrapper that packs requests from different formats into an Apache format, to later be processed by ModSecurity in the same way that it works on an Apache web server. That was certainly the fastest way to have ModSecurity running on different platforms, but at the cost of performance and high amount of dependencies. After splitting the ModSecurity between “connectors” and “core”; the core has been naturally become a library and the connectors become consumers of the library. Hence, ModSecurity core becomes completely independent of the underlying web server and the source code that is required to interact with a given web server is called “connector”. The libModSecurity isn’t feature complete and stable yet and I think that is an edge for student developers like me 🙂

Point to Ponder: As defined above that ModSecurity is most favorable for Apache so the question is why connector for Apache, then? It’s simple because version 3 means more advance and modern than earlier versions in terms of performance and features, ModSecurity will be modular architecture. “Core” and “Connectors” is the future of ModSecurity.

Apache Connector for libModSecurity is an currently underdevelopment Apache module in C programming using:

  • libModSecurity
  • Apache HTTP Server API
  • Apache Portable Runtime Library
  • Apache Portable Runtime Utility Library

This module will be basically based on input and output filters, those enables it to process incoming and outgoing data in a highly flexible and configurable manner; pre-processing of incoming data and post-processing of outgoing data at different phases and parts including:

  • Request headers
  • Request body
  • Response headers
  • Response body
  • Logging

Here are the diagramic representations of input filter/request processing in Figure 1 and output filter/response processing in Figure 2.


Figure 1


Figure 2


Functional Requirements:

  1. Request Processing

There are two parts of request processing:

Request Headers Processing

Acquire the request headers before any other module access it and hold it until processing completes by libModSecurity. This section of processing can pass same request headers or modified request headers to other modules for further processing or decline the request for any further processing and call the logging function to log the transaction.

Request Body Processing

Acquire the request body before any other module access it and hold it until processing completes by libModSecurity. This section of processing can pass same request body or modified request body to other modules for further processing or decline the request for any further processing and call the logging function to log the transaction.

  1. Response Processing

There are two parts of response processing:

Response Headers Processing

Acquire the response headers after all other modules’ processing and hold it until processing completes by libModSecurity. This section of processing can pass same response headers or modified response headers to the Apache httpd for serving to the client and call the logging function to log the transaction.

 Response Body Processing

Acquire the response body after all other modules’ processing and hold it until processing completes by libModSecurity. This section of processing can pass same response body or modified response body to the Apache httpd for serving to the client and call the logging function to log the transaction.

  1. Logging

Logging of each transaction is also a functional requirement of this project; logging will be done for each successful transaction completion and for each unsuccessful transaction finish.

Nonfunctional Requirements:

Here are the some nonfunctional requirements of this project:

  • Open source
  • Documentation
  • Efficiency & Effectiveness
  • Performance & Stability
  • Testability & Usability

User Interfaces:

Not Applicable for this project.

Databases Design and Schema:

As for now; according to my understanding, there will not be any need of databases in this project, but if there will be needed for anything related to the database then the Apache database framework will be used. The apr_dbd API provides database operations functionality and ap_dbd API provides database connection management functionality very efficiently and easily.

 Current Status

Currently, I have completed mid term evaluation successfully and I have developed I/O filters and here is  the project Github repository.

…Looking forward your precious feedback…



CiviCRM Refunds, Partial Refunds and Partial Payments

I am Tahir Ramzan, pursuing Masters in Computer Science at Virtual University of Pakistan. I am working on refunds, partial refunds and partial payments development for CiviCRM. Parvez Saleh and Joe Murray are mentoring this project.

Refunds and Partial Refunds:

Often, we need to tackle situation where one needs to make partial or full refunds. After this project users will be able to make refunds with friendly user interface and proper database records.


  • How to represent an administrative fee for refund? Who will pay this, buyer or seller?
  • How to link the refund with the original contribution?
  • Which method to use for processing refunds?  Check, payment processor or both.

Partial Payments:

Partial payments on the other hand need to be done when someone pays a part of payment contribution in installments. This will be very useful for CiviCRM users for multi-purpose tasks. By developing this project, not only the users of CiviCRM but also the end users will be benefited and CiviCRM contributions will witness a significant increase.


  • How to represent an administrative fee for the partial payment? Who will pay this, buyer or seller?
  • Pre-defined amount installments and buyer defined installments/ variable amounts
  • Handling taxes, penalties, markup and administration fees

Key deliverables:

  • Refunds API
  • Partial Payments API
  • Refunds UI Extension
  • Partial Payments UI Extension

Community Feedback:

I am looking for valuable feedback form community which is vital to make this project successful and useful. Here are links to Forum Thread and Wiki Page of the project. Kindly share your thoughts.


Hello World!

Tahir is a Ph.D. candidate focused on investigating ICT for Development, particularly ICT in Education; he is a graduate of dual honors degrees in computer science and information technology. He is two times Google Sumer of Code Student. He has evaluation experience of different programming languages, platforms, and tech stack.

He has worked on a different proof of concepts, prototypes, pilot projects, and case studies. He is passionate about the use of information, communication, and mobile technologies for development, such as education, health, e-governance, empowerment, and agriculture.

He loves entrepreneurship and startup ventures; he is always looking to work for new ideas, innovations, and inventions in diverse capacities, from strategic planning to tactical implementations. He welcomes any academic and industrial collaboration to contribute to a positive impact and make meaning for the masses.

Coming from a family with an unfortunate financial situation, Tahir has been working since his childhood. He has had many different types of work experiences, including working as an office boy, laborer, electrician, and supporting staff and tutor as well as spending time as a volunteer. He left his kindergarten school after passing level 02 in 1999, going on to work with his father in a college canteen in 2002 as a support-worker. In 2003 he left that college canteen and started another. Where the principal of the college offered him free education; the college classes were 03 years higher than his current educational level. That principal left the college within a year, so Tahir finalized his study after passing level 06. In 2006, he was admitted as a private/non-regular candidate in the examination of level 09 and 10 and passed. After that, he worked in varying capacities in different places as he needed to leave often to make time for his studies and exams. He gained a one-year vocational Electrical Certificate in 2007 and a one-year vocational Electrician Certificate in 2008. He passed levels 11 and 12 in 2009 as a private/non-regular student while working with lawyers as part of their support staff. He then gained admission to an e-learning and distance university, the Virtual University of Pakistan, where he graduated with dual bachelor degrees in BSIT and BSCS. He studied MSCS and worked on his research project “Teaching of Mathematics using IT”; the theme of the project is “Future Technologies in E-learning and Distance Education.” Tahir is a two times Google Summer of Code student. GSOC is a prestigious program for the best student programmers across the world, where participating mentoring organizations select a few top proposals out of thousands. He developed refunds and partial payments extension and APIs for CiviCRM. CiviCRM is a constituency relationship management used by many large NGOs, including Amnesty International, Creative Commons, the Free Software Foundation, CERN, and the Wikimedia Foundation for their fundraising. He implemented Apache HTTPD connector for libModSec (aka ModSec v3). ModSecurity is an open-source web application firewall, a toolkit for real-time web application monitoring, logging, and access control. He was Android Students Club Facilitator and Organizer in 2015, where he was required to teach and train club members about mobile application development; Google-funded ASC and they selected just a few proposals to launch and run this community. The use of information communication and mobile technologies for development is his core research interest, particularly the use of ICT for the education of kindergarten children who are not in school as well as within the agricultural sector where farmers are under-privileged and living below the poverty line. He aims to empower them and to provide real meaning and practical use for ICT amongst people where it has had no positive or productive use until now. His focus is on localized and context-aware human-computer interaction as per sociological, psychological, and pedagogical aspects. His future goal is to dedicate himself to teaching and the education of oppressed children, women, and farmers. He believes in creating the two-subject curriculum; literacy (local language, the national language, and foreign language) and mathematics (problem-solving, critical thinking, and analytical reasoning) because they have less time and resources to get involved in more courses. Their education needs to be blended using technology, e-learning, and distance education. He believes that sustainable development is dependent on education and growing awareness between children, women, and farmers. He loves teaching, training, collaboration, volunteer, research, and development opportunities. He thinks problems are possibilities to make new meaning for the future, and today is the future. He is an advocate of human rights, the economics of education, the industry of knowledge, and open-source paradigm; feel free to ping him if something which lies within.