Author Archives: Ajitesh Kumar

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking

OWASP Security Misconfiguration Example – Infosys Career Website

The article presents an example of “Security Misconfiguration” vulnerability that was found on Infosys career website. It could be noted that security misconfiguration is considered as one of the OWASP top 10 security vulnerabilities. The vulnerability was found with Careers web application of Infosys, which can be accessed at https://careers.infosys.com/. As you access the career site link, you would see the title icon as “SAP”. This does suggest that Infosys careers web application is created on top of SAP career module. The way I found that is following: Go to job opportunities page. Click on “Register”. You would land on the registration page with following link: https://careers.infosys.com/sap/bc/webdynpro/sap/hrrcf_a_candidate_registration Go ahead and strip the hrrcf_a_candidate_registration from …

Continue reading

Posted in Application Security. Tagged with , .

Data Architecture Lessons from LinkedIn.com Data Handling Mechanisms

The article aims to describe how data is managed at LinkedIn.com, the most popular professional social networking site.  Please shout out loud if you disagree with one or more of the aspects mentioned below. Also, do suggest if I missed on one or more aspects. Data use-cases at LinkedIn.com Following are some of the data use-cases that we may have come across while we are surfing various different LinkedIn pages: Update your profile, and the same appears in recruiter search in near real-time. Update your profile and same appears as network connections  in near real-time. Share an update, and same appears on others news feed page  in near real-time. Then, there are …

Continue reading

Posted in Architecture, Performance Engineering. Tagged with , , .

Reasons Why You Need Log Management Tools like SPLUNK

The article lists down reasons why one would want to use tools such as Splunk which primarily analyses logs (server, application etc) and create reports/events to be processed by different stakeholders.   Log Management Tools – High Level Architecture Log management tools primarily aggregate logs from different servers including application, database, messaging servers etc and send the same to a centralized  server which then analyzes and index the logs in the database. The end user  can then log onto the console of these tools and analyze the reports created on top of these logs. Following diagram represents a very high level architecture along with end users classification: Following are some …

Continue reading

Posted in Application Monitoring. Tagged with .

Developers Playgrounds to Play & Learn

The article lists down the details around different programming playgrounds that could be used by developers to learn while playing with different technologies (programming languages & APIs). What are Developers Playground? Developers playground are online applications that facilitates enhanced learning of different programming languages/API by providing developers with the IDEs like development platforms where different programs could be written and executed side-by-side and results could be studied/examined. Following is the broad classification of such playgrounds. Programming Playground In playgrounds related with programming languages, developers could learn languages while doing the coding and see the output side-by-side. Following are some of the programming playgrounds: Codecademy.com (It also presents playground for APIs …

Continue reading

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

Artificial Intelligence – Where to Put Your Time & Money

As I looked around some of the artificial intelligence (AI) related acquisitions in last few years, I got convinced, at least, on the fact that majority of large companies such as Google, Facebook, IBM are seeing various different artificial intelligence topics to play a key role in impacting end users’ life (and hence, developers) in the future. With that as the background, it gave me good enough reasons to start doing research in relation with following: As students, what topics of artificial intelligence should they take up as one of their computer science courses while  selecting under-graduate & post graduate courses? As developers/programmers, what topics of artificial intelligence should they …

Continue reading

Posted in Artificial Intelligence. Tagged with .

Java Interview Questions (Part 1) – Rookies Series

The article (first in the series) aims to present some tricky interview Java questions that could help you score high in your next Java interviews:    Programming fundamentals Question: What is difference between object-oriented programming and functional programming? Answer: Following pages present good perspective on the differences: http://stackoverflow.com/questions/6720348/difference-between-oop-and-functional-programming-scheme http://c2.com/cgi/wiki?OoVsFunctional    Java Objects Question: What is difference between comparing two objects using equals method and “==” operator? Answer: http://stackoverflow.com/questions/5848370/equals-and-operator-in-java Question: What is the significance of equals and hash method in Object class? Answer: http://www.javaworld.com/article/2074996/hashcode-and-equals-method-in-java-object—a-pragmatic-concept.html    Collections Question: What is difference between LinkedList and ArrayList? When would you want to use one and not the other? Answer: http://javarevisited.blogspot.in/2012/02/difference-between-linkedlist-vs.html Question: How come you …

Continue reading

Posted in Freshers, Java. Tagged with , .

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 .

Why Facebook’s Hack May Fail to Fly With PHP Developers?

Well, for those innocent souls, I must make it clear that the title of this article has no intentions to point out that Facebook is hacked or so? This is actually about the new programming language, HACK, that Facebook officially launched few days back. Overview of Hack Language Before I go on to write further, I must thank the Facebook engineering team to have rightfully identified some of the short-comings of PHP programming language and tried to present solutions to them using Hack programming language. However, while I was going through the changes that they made by adding new features to PHP and made it as Hack language, I wondered whether …

Continue reading

Posted in News, PHP. Tagged with .

Why & When Use Java 8 Compact Profiles?

The article presents a perspective on different aspects of compact profiles in Java 8 including relevance of this feature in the first place and, when would you want to use it. As I am also getting up to speed with compact profiles, I do understand that there could be further detail to it that I might have missed and thus, would appreciate if you could share your perspectives as well. What is Compact Profile? As defined on Oracle compact profile overview page, compact profile enable reduced memory footprint for applications that do not require the entire Java platform. In Java 8 release, compact profiles provide three different groupings of libraries …

Continue reading

Posted in Java, News. Tagged with .

Java 8 to Face Challenges with Enterprise-wide Adoption

The article represents some of the challenges that an enterprise might face in relation to the adoption of Java 8 across different line of businesses (LOBs). Buy-in from Business & Technology Stakeholders Unlike previous Java releases, Java 8 release has come up with some unique features which are there to sort out some of the existing technical challenges (such as Lambda expressions, Collector APIs for map-reduce transformations, Nashorn engine etc) and, challenges in relation to making Java friendly to different devices and modular (compact profiles) in coming future. The primary issue that business and technology stakeholders are going to face is to find out and get convinced with business and technology relevance …

Continue reading

Posted in Java. Tagged with .

5 Free Web Design Courses from Microsoft Virtual Academy

The article represents 5 free courses from Microsoft Virtual Academy which could be of interest to a rookie/fresher web developer who would like to learn the concepts around HTML5, CSS3 and Javascript. There is also one course related with SEO which would help web developers to apply right techniques with HTML/CSS to optimize the page for search engine optimization (SEO). Following is the list of 5 free courses. All you need is to signup and add these courses to learning program and get started. Enjoy the learning. HTML5 & CSS3 Fundamentals: Development for Absolute Beginners http://www.microsoftvirtualacademy.com/training-courses/html5-css3-fundamentals-development-for-absolute-beginners HTML5 App Development Fundamentals http://www.microsoftvirtualacademy.com/training-courses/html5-app-development-fundamentals Developing in HTML5 with JavaScript and CSS3 Jump Start …

Continue reading

Posted in Web. Tagged with , .

Java Developers Readiness to Get Started with Java 8 Release

The article represents different set of information that Java developers (working on 5, 6, 7 versions) may need to learn prior to getting started and make best use of Java 8 features. In case, you feel there are other topics that developers need to look beforehand, please suggest. Following are different concepts which Java developers working with earlier versions of Java need to understand very clearly in order to get started comfortably with Java 8 features. Functional programming concepts Learning functional programming concepts would help you learn Java 8 flagship feature such as Lambda expressions. In short, Lambda expressions helps you treat functionality (represented as code) as data which you …

Continue reading

Posted in Java, News. Tagged with .

How to Convert Your Existing TV to a Smart TV in $35

The article represents what would it take to convert your existing TV to a smart TV that shows you TV programs and also helps your checkout your favorite online videos from youtube.com. In India, the chromecast device is sold in Amazon.in online store for Rs. 3250 on this day. What is Smart TV? As explained on Wikipedia, A smart TV, sometimes referred to as connected TV or hybrid TV, (not to be confused with IPTV, Internet TV, or with Web TV), describes a trend of integration of the Internet and Web 2.0 features into television sets and set-top boxes, as well as the technological convergence between computers and television sets and set-top boxes. Read it further here. Simply speaking, Smart TV would have some of the …

Continue reading

Posted in News. Tagged with .

3 Simple Steps to Decompile Android Mobile Apps (APK)

  The article represents 3 simple steps to decompile an Android mobile app. Following are different tools that will be needed to decompile the android downloadable apk file to Java files: Dex2Jar: The tools reads .dex files and convert the same to smali files. JD-GUI: A standalone graphical utility that displays Java source codes of *.class files Following are set of things I did to decompile android mobile application (apk files). Download the android version of mobile application. The android version comes with apk extension. Execute following command with dex2jar application to extract mobile apps files with apk extension in form of *smali files: d2j-dex2jar.bat <appname>.apk Execute following command with JD-GUI application: jd-gui.exe …

Continue reading

Posted in Mobility.