Category Archives: Software Engg

Can Artificial Intelligence be the Next Big Bet for Developers?

The article presents an analysis on what’s trending in the world of artificial intelligence thereby providing food for thought for the developers if they would want to bet on engineering field such as artificial intelligence and develop their expertise around that. What is Artificial Intelligence? Artificial intelligence (AI) is the intelligence exhibited by machines or software, and the branch of computer science that develops machines and software with human-like intelligence. Read further on the Wikipedia page. In this article, we shall primarily focus upon the software that could have human-like intelligence. Following are some of the characteristics of AI-based software: Maintain ontology of knowledge representing concepts and their relationships. Should have …

Continue reading

Posted in Artificial Intelligence. Tagged with .

What’s Needed to Get Your Code Quality Match ISO Standard 25010

The article relates software quality characteristics defined by ISO 25010 standard (SQUARE) with code quality and, recommends on what could be done by the developers to write the code matching the ISO quality standards. SQUARE stands for Software QUAlity Requirements and Evaluation (SQUARE). Please feel free to comment and add further points in any of the sections pertaining to quality characteristics listed later below. As per ISO 25010 (SQUARE) standards, Software quality can be defined, managed and measured in terms of following two broad categories: Quality in Use: Relates to the outcome of human interaction with the software Product Quality: Relates to the static & dynamic properties of the software …

Continue reading

Posted in ISO Standards, Software Quality. Tagged with , , , .

9 Online Developer Academies for Regular & Consistent Learning

The article presents a comprehensive list of online developer academies that provide FREE courses (90% of cases) on different topics related with web and mobile technologies that may prove to be very useful for developers at large. If I missed on making a mention of one or more other interesting portals, please shout out loud and I shall include them in the list below. Lets quickly look at what are the benefits of using one or more of these portals for learning & practicing (in some cases such as codecademy.com) software development topics: On-demand learning to learn at our own pace Structured learning New topics introduced at regular intervals Learning …

Continue reading

Posted in News, Software Engg. Tagged with .

Developing Apps for Wearable Devices (Glass/Watches)

The article represents different aspects of developing apps for wearable devices including some of the UI/programming best practices. Given the fact that wearable devices has become talk of the town including recent announcement by Google in relation with Android wear project, it would be interesting to understand some of the following in order to innovate apps for wearable devices: What are different kinds of wearable devices? What are different categories of apps that may fit the wearable devices? What are the UI best practices to develop apps for wearable devices? What does it take from programming perspectives? Different kinds of wearable devices? Following are some of the different kinds of wearable …

Continue reading

Posted in News, Software Engg. Tagged with .

List of Developers Sites from Top 5 Social Networking Websites

The article represents information on developers sites/blogs from top 5 social networking websites. https://developers.google.com/ Blog: There are different blogs maintained for different google products. However, one could checkout http://googledevelopers.blogspot.in/ for latest overall updates. The developer site acts more like a portal wherein the visitor gets access to some of the following: News feed from different Google developers blogs/pages related with different Google products APIs & technologies Developers tools such as API console, OAuth playground (interesting), project hosting (http://code.google.com) etc Various different developer programs Links to important Google products Feeds from https://developers.google.com/live/ . This one is pretty interesting as it shows the live streaming event happening on different google products or information around upcoming events. My personal …

Continue reading

Posted in Software Engg. Tagged with .

10 Training Topics to Transform Rookie Developers to Good Developers

The article represents different topics on which training could be given to the rookie developers to orient them appropriately and help them become highly effective developers by writing code of great quality, doing good communication, helping fellow developers etc. If you are one who is involved in planning training programs or you are one of the rookie developers, you may want to check out following topics and do the needful. Please feel free to share your thoughts/suggestions for any other topics that could be useful. Following is a list of 10 training topics that could be covered in 25-30 hours, and that could help developers imbibe some of the characteristics …

Continue reading

Posted in Freshers, Software Engg. Tagged with .

Javascript Libraries to use for Faster Webpage Loading

The article explores the web page loading issues in relation with loading of static resources such as Javascript/CSS files and goes on to suggest Javascript libraries that could be used to enable conditional loading of JS resources thereby achieving faster webpage loading. Following are some of the common use case scenarios that, if taken care, would enhance faster web page loading: Conditional loading of Javascript files in various different pages: Many of the I-could-also-do-front-end-programming adopt the approach of putting all the resources such as Javascript & CSS files in one common file and include the file in different web pages. Some of these common JS files include jquery & other …

Continue reading

Posted in Performance Engineering, Web. Tagged with .

Tips to Load Your Webpage Faster based on Google’s Pre-* Recommendations

The article recommends 4 simple tips to load your webpage in faster manner based on Google Pre-* technology recommendations. These tips are based on suggestions by Google Engineer, Ilya Grigorik in his presentation that could be found on this page. Do note that most of these (such as pre-fetch, pre-resolve etc) are also part of their PageSpeed initiative. While I was reading the presentation, it struck me as to check out on who is leading the internet browser share in the market. Following is the plot I could come up with data based on browser usage statistics. And, the winner is Google Chrome. Thus, I found it relevant enough to …

Continue reading

Posted in Performance Engineering, Web. Tagged with , .

What are API Managament Platforms & Why are They Needed?

The article describes API management platforms and why are they needed at all. What are API Management Platforms? As businesses start exploring about taking the API route to integrate their applications in one line of business (LOB) with applications from other LOBs or, expose their APIs to external partners, the need for one of these API management platforms start cropping up. Even before we go further, lets understand as to why an enterprise considers adopting the API strategy in the first place? Well, one full article could be written as an answer to this question. However, briefly speaking, APIs primarily allow enterprise and its different LOBs to achieve following objective: Extend/share …

Continue reading

Posted in API Development, Integration, SOA, Software Engg. Tagged with .

Tips for Setting up Application Security Education/Training Plan

The article represents one of the education model that could be used to regularly educate your IT organization/team about latest security updates, attack patterns, mitigation techniques, security-related libraries and infrastructure, best practices and guidelines, etc . Now that application security is becoming an important aspect to take care, while laying out plan for application design and development, it becomes much more important to put a plan in place for educating application developers & testers. The primary objective is to create a security-aware development team (organization at large). Following is one of the model that could be used to achieve the above said objective: Security Awareness Training: Security awareness training to all …

Continue reading

Posted in Application Security, Software Engg. Tagged with .

Developers Take Away from Gmail App Enhancement on iOS 7

The article reflects on the developers take away from recent enhancements of Gmail App on iOS 7 platform (iPhone, iPad). The latest enhancements consist of background app refresh of email thus avoiding users to manually refresh and get new emails. Following is the description of technology behind background refresh feature. Background App Refresh using Pre-fetching The new update released for Gmail App for iOS 7 platform makes use of the iOS background app refresh feature. This would mean that iOS users are no longer required to manually refresh the app to get the new emails. Following is the excerpt from Gmail blog post: “The app now fully supports background app refresh, which means …

Continue reading

Posted in News, Software Engg. Tagged with .

How Cyclomatic Complexity could be used to Measure Code Quality?

The article talks about how McCabe cyclomatic complexity could be used to measure several different aspects of code quality. The objective of this article is to help developer quickly assess the code quality by looking at the code. However, let’s try and quickly understand what is cyclomatic complexity and how could it be measured? Thanks for reading it further. And, apologies for spelling mistakes. What is Cyclomatic Complexity? As per Wikipedia definition, Cyclomatic Complexity (CC), developed by Thomas J. McCabe, Sr. in 1976, measures the number of linearly independent paths through a program’s source code. Another page on SonarQube discusses the fact that CC can be measured by adding one (1) to …

Continue reading

Posted in Software Quality. Tagged with .

Use Facebook BigPipe to Load Webpages Faster

This article represents Facebook BigPipe technology and various different open source frameworks which could be used to load web page faster like Facebook. Please suggest related frameworks if one or more of them is not mentioned in this article. You may have read the text on BigPipe on several webpages. However, I wanted to present a different perspective including pictorial presentation for better understanding. Traditional webpage serving model  Following diagram represents traditional webpage serving model.   You may notice that in traditional model, the request-response operations are pretty much sequential in nature. Thus, following can be observed: Webserver Busy, Browser Idle: As the request is sent from browser, and webserver …

Continue reading

Posted in Performance Engineering, Tools, Web. Tagged with , .

5 Free Online Courses on Algorithms Developers May Want to Checkout

The article represents top 5 free online courses on algorithms developers may want to keep handy in order to get themselves stronger in data structure and algorithm concepts. I wanted to compile these links primarily because as a developer I always wanted to find out some of the great web pages/documents on the internet which could help me get stronger in data structure and algorithm. Hope the list below helps you to get up and running with algorithms. Algorithms, Part 1  Algorithms, Part 2 Introduction to Algorithms: This is an undergraduate course which is made open as part of open course ware initiative at MIT. This course provides an introduction to …

Continue reading

Posted in Software Engg. Tagged with .

How to Measure Code Maintainability with Sonar

sonar code maintainability

This article talks about 4 different quality parameters found on Sonar dashboard which could help measuring code maintainability. Following are those quality parameters: Unit Test Coverage: Unit Test Coverage depicts code coverage in terms of unit tests written for the classes in the project. Greater test coverage depicts that developers are focusing on writing good unit tests for their code which results in greater test coverage. This also depicts the fact that the code is testable and hence, easier to change as a bad change could lead the unit tests to fail and raise the red flag. And, a code easier to change becomes a code easier to maintain. One …

Continue reading

Posted in Software Quality. Tagged with , .

The 7 Habits of Highly Effective Developers

7 Habits of Highly Effective Developers

Well, I researched on the internet looking for one or more articles which was written with the title, 7 Habits of Highly Effective People, and found a couple of them that has been written in the recent past. Following are some of them: http://blogs.msdn.com/b/johnwpowell/archive/2008/05/22/the-7-habits-of-highly-effective-developers.aspx http://drupal.technicat.com/writing/programming.html http://css.dzone.com/articles/7-habits-highly-effective The above articles are good and do talk about different aspects of becoming effective developer. However, I was not satisfied much as I could not find mention on some of the points that I wanted to talk about. Following is representation of my views on 7 Habits of Highly Effective Developer. Please feel free to share your opinion on whether I was able to …

Continue reading

Posted in Software Engg. Tagged with .