Author Archives: Ajitesh Kumar
Campus Bytes – New Initiative
We are starting on with a new initiative where we would like to review and write about the research & development going on in several engineering colleges across the country (India) and, how they could benefit different IT companies. This would include reviews on white papars published in different journals, college websites, interviews from paper authors, lecturers and professors. In addition, we would like to invite key stakeholders from different IT companies to present their views on these papers and any further research that they would want to fund in one or more areas from within colleges. If you belong to one or more colleges and would like to submit …
Developer Analysis of Hacker’s Attack on Target Stores – Page 1
This is a series of articles to represent developer’s point of view and learning from recent TARGET retail store security attack due to which various reports say that around 40 million customer credit and debit cards data must have got compromised. This hackers’ attck is currently talk of the town and is under analysis of various different security agencies including US secret service. In this article, we shall look at various different possibilities/attack vectors/security vulnerabilities that could have led to third attack. One of the many possibilities could have been installation of malware at the POS system where customers use to swipe their card for the purchases that they make. This could have …
Tips & Techniques for Estimating Software Testing Effort
Even before we go about looking into tips and techniques for doing effort estimation for testing, it may be kept in mind that testing can be secluded as a separate task. It starts with the start of the project by starting to analyzing the project requirements and come up with a test plan comprising of test cases (primarily) and goes on till the end in form of performing the tests. However, it may be good idea to understand different aspects of testing to be done in the project and assign efforts accordingly if the testing includes specific attention due to various different reasons. Also, different software development methodologies such as …
Google Email or MS Exchange Server for Corporate Accounts
Before we discuss on the difference between Google Apps and MS Exchange Server for corporate email accounts, it goes without saying that Google apps (email) can be used with MS outlook as email client. This is provided by Google for people who are not comfortable with the GMail client. These people can use the same features using MS Outlook. [adsenseyu2] If you want to understand criteria based on which you could decide whether to use Google Email or MS Exchange Server for various purposes including corporate email accounts, following are some of the key differences: Email Search: “Search email” feature in Google is any day better than MS Exchange email …
Top 7 Secured Practices for Securing Your Partner APIs
If you are planning to publish partner APIs for exposing your business services or data to your partners and customers, you may want to consider following top 7 secured best practices to ensure application level security: [adsenseyu2] Access-token based Authentication: Have your partners’ applications authenticate itself (and its users) using access-tokens rather than actual passwords. This is because access-tokens may be easily time-boxed and can be enforced to be renewed at the regular time-intervals. And the theft of access token can not really compromise the actual users’ password with the parent application. In this relation, you may consider using OAuth based authentication technique. In addition to usage of access-token for …
API Economy & Rich Dad, Poor Dad
In recent times, as I have been hearing about and, reading a lot on API related articles including topics such as application programming interfaces (APIs) economy, API-First, API-driven development etc, I got extremely fascinated with this API thing. This is where I decided to put my findings around when, why and how to go for API adoption and whether it would be fruitful for business to go for APIs from strategy perspective. Interestingly enough, I found some connection between API thing, and the central theme of the book, Rich Dad, Poor Dad. This is where I thought to use key themes from the book Rich Dad, Poor Dad to present …
Must-have Application Development Skills for 2014
Following are some of the key must-have skills, every developer would want to acquire in order to create applications which align well with the technology trends of the coming year, 2014: Cloud readiness: As many applications have started moving into cloud, you never know when the application you have been working on, would also need to be moved to cloud. However, could any application be moved to cloud just like that? Not really. Following are some of the key characteristics that application would need to have in order to be ready to be moved to cloud: High Performance: An under-performing application could end up utilizing lot of resources in the …
May Your Application R.I.P – Part 1
[adsenseyu2] Didn’t really mean that (R.I.P) way, Indeed. 🙂 The objective behind this series of blogs is to represent some of the best practices, the how-tos and the whats/whys in relation with REST based integration of applications. Before we shall talk on any related aspects of REST and how to design great RESTful services and, why go for RESTful design in the very first place, lets try and understand a little bit on what is REST and, “Resource Oriented Architecture (ROA)”. What is REST? REST is an architectural style for distributed hypermedia systems like WWW. REST stands for REpresentational State Transfer. The term first originated in 2000 doctoral dissertation of …
OWASP Security Misconfiguration – Classic Example – 1
[adsenseyu2] One of the OWASP top 10 application security vulnerability is Security Misconfiguration. One of the most common way to identify the security misconfiguration configuration is to check if error handling reveals stack traces or other informative error messages to users. I tried and run an automated scanner on this website, http://www.davrohini.org/ and got various different URLs which revealed stack traces including some of the following: http://www.davrohini.org/user/users.jsp http://www.davrohini.org/user/snews.jsp http://www.davrohini.org/user/left.jsp However, the most dangerous one of the above is http://www.davrohini.org/user/left.jsp. Take a look at the screenshot below. Security Misconfiguration Example – Showing compilation errors Take a look at another diagram below that shows the information regarding the server Apache Tomcat …
What to Learn on Day One of Application Development
Well, I would surely not recommend you to go over the application code and look for things like classes, interfaces, data model, design patterns etc. It definitely has to be everything else than the application code. If you have just landed on to a new application development project and shall be going to start working on the application soon, you may want to understand some of the following on day one rather than nitty-gritties of the application itself: Business overview: The idea is to understand key business functions which is served by the application. The output of business overview can be functional decomposition which can be later related to one …
Attention Developers: Take Care of Your Debts
Hmm.. was the title intriguing enough for you to check out if you as a developer got any debts to clear (such as that represented below :-)? Well, I am talking about what is called as “technical debt” and that is it. 🙂 Believe me, there are high possibilities that most of the developers do have technical debts to clear which they (or someone else) introduce in the system while working on it over a period of time. Lets try and understand what/how/why/whens related with technical debt? As Fowler writes in his blog, technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this …
Tips for Newbies to Choose between Technologies
Does the above picture include one of the programming languages you are planning to learn or have started learning? I have come across many a newbies frequently looking for answers to some of the following questions: Which technology will be most suitable for me from career perspective? Which technology will help me secure high-paying job? Which technology will I love to work with? Is development (coding) good for me or, I could also explore testing career? Should I go on to learn one of the programming languages such as Java, C#, PHP, RoR etc, or should I learn one of the application packages such as that related with ecommerce (ATG, Hybris, …
Follow Single Responsibility Principle & You are Home!
Here is an interview with Ajitesh Shukla who has been very passionate about coding all these years and have helped many software developers to write better code by getting them understand few basic coding principles. Read on to find out about his experience and expertise around coding. Tell us something about yourself, in brief My name is Ajitesh Kumar and I have got an experience of around 14 years working in different technologies such as Java, PHP etc. I am currently working on projects related with software quality governance, BonitaSoft, enterprise architecture, ATG etc. Tell us about your coding experience, in brief. I have been coding in different languages including …
New Initiative – Geeks’ Brain’s Picks
We are starting on a new initiative to share the pick of software geeks’ brains. The objective is to share information about beliefs, experience & expertise of software geeks out there who have been doing some real cool stuff. We are reaching out to many of these geeks and getting ready to start publishing information about them very soon. What is there for everyone’s out there? If you are a fresher/newbie who want to learn the software coding best practices from the horses’ mouth or, a tech lead/project manager who want to make sure their team follows a consistent coding best practices, you may want to pay attention to one …
Tips for Gathering Security Requirements of your Web Application Project
Gathering security requirements in relation with a project, sprint (if agile) is key to deliver secured applications. This is because security requirements would lead to appropriate design in relation with security. Following are key topics to consider for gathering security requirements: Authentication & password management: This is mostly a one-time activity and done as the start of the project and not in every sprint. One may want to ask questions such as following in relation with authentication and password management: Password policies: This is important to ask to avoid dictionary attack in relation with user credentials. Password hashing: This is important to make sure password is encrypted with appropriate encryption …
Atlassian Confluence-JIRA Integration to Strengthen Agile Portfolio
Earlier this week, Enterprise software toolmaker Atlassian announced tighter integration between its JIRA issue tracking application and its Confluence team collaboration platform. With this move, they have further strengthened their agile portfolio. Following is the list of software in their agile portfolio: Confluence: Confluence pages are used to maintain requirements (stories), technical specs, design guidelines, etc. Confluence pages are linked with JIRA thus linking requirements/technical specs to stories. JIRA: JIRA is used to maintain epics/stories and issues. There are several blueprints in JIRA created to manage status reports, retrospective meetings etc. The new JIRA Report Blueprint allows development teams to create an ad-hoc status report or a change log in Confluence. The new Retrospective Blueprint gives scrum masters, …
I found it very helpful. However the differences are not too understandable for me