Learn PHP – How to Write A Class in PHP

This article represents some high-level concepts and a code example on how to write a PHP class and use it elsewhere. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are some of the key points described later in this article: Why write a PHP class? Key aspects of a PHP class A PHP class – Code Example Using PHP class in PHP files   Why Write a PHP Class? As a beginner, I have come across this common thing that PHP developers tend to write one or more functions in the PHP files/scripts. As a matter of …

Continue reading

Posted in PHP, Web. Tagged with .

PHP – How to Install Apache 2.4 with PHP 5.6 on Windows

This article represents instructions on what’s needed to be done to install Apache 2.4 with PHP 5.6 on Windows (64-bit). Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key steps/points described later in this article: Install Apache 2.4 Install PHP 5.6 Configure Apache 2.4 for PHP Configure PHP 5.6 Test Install Apache 2.4 This step looks to be obvious. However, after I am done with the entire installation, it looked to be a bit tricky especially when you got 64-bit Windows. If you go to website, http://httpd.apache.org, you are taken to download page for win32 …

Continue reading

Posted in PHP, Web. Tagged with .

Code Quality – Why Avoid Higher Cyclomatic Complexity?

This article represents my thoughts on why one should avoid a higher cyclomatic complexity (value more than 15 or so). Recently, I have been doing code reviews for multiple projects using Sonar. This is where I came across the rule called as “Cyclomatic Complexity”. The rule raises an alert for all the methods whose cyclomatic complexity is found to be more than 10. Thus, I thought of listing down reasons why one should pay attention to the cyclomatic complexity of method when he/she is writing fresh method or making changes to existing method. Personally, I do agree and strongly believe that one should avoid writing methods/function of code complexity higher than 15 or …

Continue reading

Posted in Software Quality. Tagged with .

Authentication using One Time Password (OTP) technique – Part 1

This gallery contains 3 photos.

Why two factor authentication? With the increase in password theft, phishing attacks and other hacking techniques, the conventional text based user name and password based authentication seem to be insufficient because of the rapid rise of network level threats. The traditional way of just memorizing the password to validate one’s identity is not enough and web sites and applications are now expecting one to possess email Id or a smartphone to communicate with another short-lived randomized password, One Time Password (OTP), as one more factor to the authentication. Here we will discuss the approach to generate the OTP and use it for the two factor authentication technique. In the next …

Continue reading

More Galleries | 5 Comments

Template – HTML5 BoilerPlate with Spring MVC & GAE

This article provides instructions on how to create your quick Google App Engine (GAE) based web application project using Eclipse IDE, based on Spring MVC and HTML5Boilerplate (or Initializr) HTML project templates. Note that this is my personal way to get started quickly with any GAE-based web projects within 5 minutes or so and upload the same on Google cloud. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are key points described later in this article: Create HTML template projects using Initializr Create Google App Engine/Spring MVC template project Create Google Web Application project & Import Files …

Continue reading

Posted in Web. Tagged with , .

How Can I Become A Data Scientist?

data-scientist

This article represents thoughts, primarily, on how to become a data scientist. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points related with different aspects of data scientist, that are described later in this article: Key skills of a data scientist Key roles & responsibilities of a data scientist What would it take me to become a data scientist? What would I create as a Data Scientist? Key Skills of a Data Scientist Mathematics & Statistics Knowledge: A data scientist would do a great job if he/she has a strong mathematics and statistical background. …

Continue reading

Posted in Big Data. Tagged with .

Big Data – How to Get Started with Data Science

This article represents my opinion on what would it take to get started with Data Science. As I started exploring Big Data, one thing that became clear is that I may not be successful with Big Data unless I have learnt and applied Data Science to make sense out of Big Data (the data with 3Vs: Volume, Velocity, Variety). This is where I started to find out on How to Get Started with Data Science. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Data Science is NOT Easy …

Continue reading

Posted in Big Data. Tagged with .

Big Data – Top 8 Use Cases for Beginners

This article represents top 8 Big Data use cases that beginners could get started with, and create one or more proof-of-concept (POC) projects around these use cases. I compiled the list after digging enough at various places on web, videos, webinar etc. Different use cases mentioned below are only briefly discussed and each of them shall be explained later in separate articles. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are use cases are described later in this article: Social sentiment analysis Customer interaction analysis Pattern matching Publicly available data analysis Web pages data analysis Clinical data …

Continue reading

Posted in Big Data.

Java – 4 Security Vulnerabilities Related Coding Practices to Avoid

This article represents top 4 security vulnerabilities related coding practice to avoid while you are programming with Java language. Recently, I came across few Java projects where these instances were found. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Executing a dynamically generated SQL statement Directly writing an Http Parameter to Servlet output Creating an SQL PreparedStatement from dynamic string Array is stored directly Executing a Dynamically Generated SQL Statement This is most common of all. One can find mention of this vulenrability at several places. As a …

Continue reading

Posted in Application Security.

JArchitect Version 4.0 on Mac OSX is GA for Download

Version 4.0 of JArchitect on Mac OSX is now available for anyone wishing to download and try it. JArchitect manage complex code base and achieve high Code Quality. With JArchitect, software quality can be measured using Code Metrics, visualized using Graphs and Treemaps, and enforced using standard and custom Rules via CQLinq queries. Features in JArchitect v4.0 include: A dashboard panel that shows the state of the current code base at a glance as well as a comparison to a baseline. Monitoring trends on 50 default “Trend Metrics” as well as custom trend metrics. These can be displayed through Trend Charts. Focus on recent rules violations (by using filters) that occur …

Continue reading

Posted in News, Software Quality.

Javascript – Why Use Modernizr?

This article represents quick concepts and reasons on why one would like to use Modernizr, a Javascript library. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: What is Modernizr? Why use Modernizr?   What is Modernizr? As per the Modernizr website, Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser. When I first read this punchline, I could not really figure out as to what is the purpose of this library, or simply speaking, what are some of the important use-cases given …

Continue reading

Posted in Javascript, Web. Tagged with , .

BPM – Key Aspects of Process Discovery Phase

This article represents different aspects of process discovery phase which is key to any business process implmentation project. The analogy to process discovery phase in regular software project is “requirements gathering phase”. However, it requires different approach than regular software requirements gathering phase owing to the very complexity of business process. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.   Following are the key points described later in this article: Different aspects of process discovery Key Deliverables Key Stakeholders Effort & time involved   Different aspects of process discovery Following are key phase of process discovery that a …

Continue reading

Posted in BPM. Tagged with .

AngularJS – Recommended Directory Structure for Angular Apps

This article represents the recommended folder structure that you would want to create/adopt for your next Angular App. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key aspects of organizing your angularJS app files into the recommended folder structure described and displayed later in this article: Identify key Angularjs elements (files/folders):Following are key elements of AngularJS that need to be stored in form of files within different folders: Core Module: Core module representing the Angular app Components:Components such as following that are used in the core module: Services Filters Directives Important point to note is …

Continue reading

Posted in Javascript, Web. Tagged with .

Java – Top 5 Exception Handling Coding Practices to Avoid

exception handling coding practices

This article represents top 5 coding practices related with Java exception handling that you may want to watch out for or better say, avoid, while doing coding for exception handling. Recently, I have been involved with code review of multiple Java projects and found following as most commonly seen coding instances across various Java projects. As a matter of fact, I recently ran sonar code analysis on Spring Core project (Spring Framework) and found the below mentioned instances related with exception handling. Please note that these are suggested to be avoided as a general coding practice and do not mean that they can not be used at all. There are …

Continue reading

Posted in Java, Web. Tagged with .

AngularJS – 10 Best Practices to Create Custom Directives

best_practices_angularjs_directives

This article represents top 10 best practices that one may want to apply while creating custom directives. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following is listed the best practices for creating custom directives: Naming Convention: Prefer using two or three letter prefix (except ng) while naming directives to avoid collision with future HTML releases. Using “ng” as prefix might collide with AngularJS OOTB directives in future. Directive Definition Object (DDO): Prefer returning DDO rather than a function. TemplateUrl Usage: Prefer storing HTML template code in a seperate file and assign the path to templateUrl variable. Attribute …

Continue reading

Posted in Javascript, Web. Tagged with .

How to Setup Eclipse IDE for Sonar Analysis

This article describes steps required to configure your eclipse for SonarQube such that developers are not required to leave the eclipse IDE to manage their source code quality. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the key points described later in this article: Installing & Configuraing SonarQube in Eclipse Analyzing code using SonarQube Installing & Configuring SonarQube in Eclipse Follow the steps given on following pages to install and configure SonarQube in your Eclipse IDE. The page on Installing SonarQube in Eclipse consists of steps required to install SonarQube in the IDE. Once downloaded, it …

Continue reading

Posted in Software Engg, Software Quality. Tagged with .