Tuesday, November 19, 2019

Top 10 Gift Ideas for Programmers, Software Engineers, and Tech Geeks

My friend circle has a lot of programmers and non-programmers. When it comes to buying gifts for birthdays, anniversary, or holidays, I receive a lot of queries from my non-programmer family and friends about what to buy for a programmer? Well, buying a gift is easy but choosing or finding the right gift for someone is really really tough. I have had this experience when it comes to buying gifts for kids. I know they like toys but my wife told me to buy something more valuable, which not only keeps them engaged but also provides value, help them in learning and they appreciate every time they use. That's a lot to cater to one gift, but that's the perfect gift, isn't it?

Top 10 Computer Programming, Artificial Intelligence, and Sci-Fi Movies Programmers Should Watch

Guys, It's a fun time here, as Holidays are approaching, it's Movie time for many of us. Being a computer programmer, I love movies which are based on programmers life, work, and concept. Thankfully Hollywood is no short of films based on computers, programming, and geeky technical stuff. Another day, I was pretty bored, and when I look back to my DVD collection, I found Inception, Matrix Reloaded, and The Social Network, this all movies are in some way related to computers and technology, which strike me the idea to publish my list of Top 10 Computer programming movies.

Top 10 UNIX and Linux System Programming Books- Best of Lot, Must Read

I have been sharing programming books in this blog for a long time, starting with core Java; I moved to other related technology, like Spring, Design patterns, Data Structure and Algorithms, etc. Today, I am going to share some of the best UNIX and Linux programming books. The list contains some of the must-read UNIX books from great writers like Sir Richard. Stevens, Sir Brain Kernighan, who has contributed so much to the development of the UNIX operating system. Most of the books on this list are timeless,  classic, and don't age with time, much like UNIX, which is around for the last 40 years, and I am sure it will be around for the next 40 years, or maybe forever.

Monday, November 18, 2019

Top 5 Courses to learn C# (C-Sharp) in 2020 - Best of Lot

If there is one programming language that deserves more credit, then it currently receives from developers, than it would be C# or C-Sharp. When we talk about popular programming languages, we mostly talk about how Java is ruling the programming world from the last three decades, how JavaScript changed the web world, or how Python has taken over all programming languages in last couple of years, but we seldom mention C#. If you follow the StackOverflow survey, then you know that C# is always one of the top 5 Programming languages rated by programmers, and this year also close to 31.0% has said that they use C#, which is significant.

Sunday, November 17, 2019

How to send HTTP request using curl and wget command from Linux and UNIX? Example Tutorial

You can use either curl or wget command to send HTTP requests from UNIX or Linux operating system. Both commands allow you to send GET and POST requests, which means you can also call REST web services.  I have a Java web application, which runs on Linux and exposes WebServices. I was writing a UNIX script to download In some data from that web service when I hit by the question, how do I make an HTTP call from UNIX? What is the UNIX command should I use? If you are also facing the same problem, then you have come to the right ht place. Basically, you can use two UNIX commands to make the HTTP request, wget, and curl.

Top 5 Books to Learn Scala and Functional Programming - Best of Lot

Scala is one of the relatively new programming languages which encompasses best practices of many programming languages. The biggest strength of Scala is that it provides a beautiful blend of object-oriented programming and Functional programming. So, you can not only construct elegant class hierarchies for maximum code reuse and extensibility, but you can also implement their behavior using higher-order functions. It has a concise syntax with less ceremony, which also makes it ideal for scripting but doesn't underestimate its power. Like Java, Scala has also used for mission-critical applications by technical giants like Twitter, LinkedIn, and Intel.

Saturday, November 16, 2019

Top 5 Courses to Learn The C Programming in 2020 - Best of Lot

Hello guys, today, I am going to talk about one of the oldest, powerful and a programming language which has survived 50 years. Yes, that's right, 50 years. It's a great achievement for any technology to remain relevant for such a long period. If you don't know, the C Programming language is one of the first general-purpose programming language, invented by Dennis Ritchie and Ken Thomson around 1969. Ken was writing UNIX, another accessible technology that has survived for 50 years around the same time and needed a programming language that can do all kinds of tasks; the result was C programming language.

Top 5 Courses to Learn IntelliJIDEA and Android Studio IDE for Java Programmers

There is no doubt that IntelliJ IDEA is THE best IDE for Java development, even though Eclipse may still be probably used by more people because it's FREE, IntelliJ IDEA is the most feature-rich and complete IDE. The Android Studio, which is the official IDE for Android development in Java, is also based upon IntelliJ IDEA, which further cement its place as the IDE Java developer should learn. The only thing which stops many other Java developers and me from moving from IntelliJ IDEA in the past was the lack of resources. Since Eclipse was free from the start, there are tons of resources, e.g., books, courses, and tutorials are available. There are also a lot of resources to learn productivity tips, e.g., keyboard shortcuts and debugging techniques, but there were not many for Intelli IDEA.

Friday, November 15, 2019

10 Example of find command in UNIX and Linux

The find command is one of the most versatile commands in UNIX and Linux, and I used it a lot in my day to day work. I believe having a good knowledge of find command in UNIX and understanding of its different options and usage will increase your productivity a lot in UNIX based operating system, e.g. Redhat Linux or Solaris. If you are a QA, support personnel, and your works involve lots of searching text on Linux machine or if you are a Java or C++ programmer and your code resides in UNIX, find command can significantly help you to look for any word inside your source file in the absence of an IDE. It is the alternative way of searching for things in UNIX; grep is another Linux command which provides similar functionality like find but in my opinion, later is much more potent than grep in UNIX.

Top 5 Hibernate Books for Java Developers - Best, Must read

Hibernate is one of the most popular, open-source ORM (Object Relational Mapping) framework, which has now become a standard for developing persistence layer on Java enterprise application, along with JPA (Java Persistence API). I often receive requests to suggest which book is best to learn to hibernate or recommendation about some good books and training courses on Spring and Hibernate. This motivates me to write this article about some of the best books on Hibernate currently available on the market. Earlier I have shared some of the must-read books on Spring framework for a Java developer, which is quite helpful for picking a book in Spring. Similar to the Spring framework, experience in Hibernate is the most sought after thing in Java JEE development roles.

Thursday, November 14, 2019

Top 5 Free Courses to Learn Scala and Functional Programming in 2019 - Best of Lot

Scala is a powerful object-oriented and functional programming language which has been long touted as the successor to Java or to replace Java. Well, that didn't happen in the last few years, but Scala has undoubtedly made a lot of progress and established itself as a scalable programming language for big things. If you are a social media user and know Twitter, then let me tell you that they are using Scala, which proves that Scala has all the tools you need to build a high-performance, scalable application like Twitter, and Twitter is not the only company which is using Scala. If you look a the Scala's website, you will find that IBM, Goldman Sachs, Verizon, and SAP are using Scala to solve their problems.

10 Example of lsof commands in Linux and UNIX

It's been a long time since I have written anything on UNIX or Linux commands. Still, today, I'll talk about the lsof command, a utility command every system admin and developers love. The lsof command stands for list open file descriptors, and as the name suggests, it is used to find open files by the process. Since almost everything in UNIX are file, you can use lsof command to find an open regular file, a directory, a symbolic link, a special block file, an NFS mounted file, a socket stream, a shared library, a special character file, a regular pipe, a named pipe, an internet socket, a UNIX domain socket, and many others. I have mostly used it to find all the files opened by a particular process, which I will show you in the next section.

Wednesday, November 13, 2019

10 reasons to Learn Scala Programming Language

One of the questions my reader often ask me is, shall I learn Scala? Does Scala has a better future than Java, or why Java developer should learn Scala and so on. Well, there can be many reasons for learning Scala, e.g., you are forced to learn because it been used in the new company you joined or your solution architect decided to use it, but that's a different story. Here, we'll talk about reasons which encourage Java developers to learn Scala.  Scala has emerged as one of the most powerful Java alternatives in recent times. It's been the JVM language of choice, leaving Groovy and Clojure way behind, and preferred as the language people want to write most code in.

Top 5 TensorFlow and Machine Learning Online Training Courses for Programmers

If you are curious about Artificial intelligence, Data Science, and Machine learning, then I am sure you have heard about TensorFlow, Google's machine learning API, which they have used to develop the RankBrain algorithm for Google Search. TensorFlow is one of the most popular machine learning API, which allows you to automate several real-world tasks; for example, you can use it for image detection. In fact, a Japanese farmer turned programmer used it to detect the best quality Cucumber, which only his father and mother can do it with his years of experience. That's the power of machine learning, which is now available to everyone because of TensorFlow.

Tuesday, November 12, 2019

10 JDK 10 Features Java Developers Should Know

Hello Guys, while we all are talking about Java 9 and some people are yet to adopt Java 8 in their projects, here comes the new release of Java, the JDK 10. It's available to download now on Oracle's website. This is the first release in the latest release schedule, where you have a new Java release every six months, I know it's quite early, but that's a reality now. Apart from 6 monthly release, Every 3 years there is an LTS release, which is sort of major Java release. The next LTS release is Java 11 which should be out in September. So you can aim for that. Then you can update three years after that to the next LTS release.

Top 5 Android Online Training Courses for Java Developers - Best of Lot

Java has been very lucky that Android uses it as a programming language. This opened a big door of opportunities for Java developers in Android app development. Many people ask me why Java Developer should learn Android? My simple answer is that good knowledge of Android OS improves your chances of getting a job and making a difference in people's lives because Android Apps are a direct way to connect billions of people. Android is, without a doubt, THE biggest mobile platform in the world, with over 80% market share and over billions of devices running Android. By creating apps for such a big platform, you have an excellent opportunity to make a difference.

Monday, November 11, 2019

Top 10 Most Popular Programming Languages of the Last 50 Years and their Inventors

There are many programming languages out there in the software world, and they are still coming like Scala, Go, Closure, etc., but the only handful of them have managed to survive to date. These are the ones who have contributed immensely to software development. Since programming language is a single most important thing in the software development world, it's often discussed, criticized and improved over the years. Programmers and developers, who those programming languages are icons of the programming world and sometimes I feel sad when a guy using a programming language doesn't know, who is behind that.

How to Enroll on Spring Professional Certification and Schedule Exam using Voucher Online - Step by Step Guide

So, you have been preparing for Spring certification for quite a sometime, and now you feel you are ready to take the exam, and it's time to buy the Spring certification voucher and schedule your exam. In this article, I'll show you how to buy the Spring certification voucher online. But, before purchasing a voucher, I would like to remind you that the Spring certification voucher is only valid for 90 days, after that it will expire. So, it's best to buy the voucher only if you are ready for the exam i.e. you have gone through several Spring Mock tests and practice tests given in Spring study guides and you are consistently scoring over 80% on them.

Sunday, November 10, 2019

Top 5 courses to learn Apache Maven for Java Developers - Best of Lot

The Apache Maven or commonly known as just "Maven," is an essential tool for Java Programmers. It allows you to build your project, manage dependencies, generate documentation and lot more. I can vouch for Maven's usefulness because I have come from the pre-Maven world of Software development, where you need to manage all the JAR files required by your project. It may seem easy to you that just download the JAR file but it's not so easy in practice.  For example, you added a new library in your project say Spring framework which also needs log4j but you thought log4j is already there so you didn't do anything, only to realize that your application is not starting anymore and throwing long and convoluted errors. This can happen because of version mismatch like Spring needed a higher version of log4j than available in your project.

How Spring MVC Framework works? How HTTP Request is processed?

One of the frequently asked Spring MVC Interview questions is about explaining the flow of web request i.e. how an HTTP request is processed from start to end. In other words, explaining the flow of request in Spring MVC. Since many of my readers ask this question time and again, I thought to summarize the flow of request processing in a short article. It all starts with the client, which sends a request to a specific URL. When that request hit the web container e.g. Tomcat it look into web.xml and find the Servlet or Filter which is mapped to that particular URL. It the delegate that Servlet or Filter to process the request. Since Spring MVC is built on top of Servlet, this is also the initial flow of request in any Spring MVC based Java web application.

Saturday, November 9, 2019

find + du + sort + head command example in Linux - Ho to search large files and directories in host to free some disk space

Hello guys, 100% full disk space is a common problem and as a programmer or Linux user, you often need to free disk space by deleting biggest files and directories. In order to do that, you need to know some Linux find command examples to list and delete some biggest files and directories and that's what you will learn in this tutorial. As a Java developer, you also need to also support your application, most of which mostly run on Linux machines. Though production is monitored by the dedicated support teams and they receive regular alerts on the status of file system space, they often come running to you or the developer responsible about what to do when disk space is almost full or reaching 100%.

Top 5 Best Java 8 Tutorials, Courses, and Books

It's been quite some time since the Java 8 was released but Java community is still buzzing with functional programming and lambda expression. Many developers, programmers, and bloggers have already shared lots of really good tutorial to learn lambda expressions, probably the biggest thing in Java world after Generic was introduced in Java 5. While the term "lambda expression" may sound abstract and academic, Java 8 Lambdas can have a big impact on how you program every day. Java 8 has not only introduced Lambda expressions but also Stream API, Functional interfaces, new Date and Time API and default methods, which has completely changed the way you write your Java code. As a professional Java developer, you will have to learn Java 8 one day, and it's better to do sooner than later.

Friday, November 8, 2019

10 Tips Improve Your Speed in Bash, and Linux Command Line

Have you ever amazed to see someone working very fast in UNIX, firing commands, and doing things quickly? Yes, I have noticed that a couple of times, and I have always inspired to learn from those superstar developers. In this article or tutorial or whatever you call it, I have dedicated to sharing some UNIX command practices I follow to work fast, quick, or efficiently in Linux. I work for the Financial services industry, and my work involves the development and support of online stock and futures trading applications in Electronic trading, Derivatives, etc. All our services run on Linux servers, so I need to work efficiently and quickly in the Linux machine, and that's how I have learned these productivity tips in Linux.

Thursday, November 7, 2019

Top 5 Java 8 and 9 Courses for Programmers - Best of Lot

Hello guys, if you are looking for some free resources, e.g., books, tutorials, and courses to learn and master new features introduced in Java 8 and Java 9, then you have come to the right place. In the past, I have shared some of the best Java 8 tutorials and books, and in this article, I am going to share some of the best, free Java 8 and Java 9 courses from Udemy and Pluarlsight with you. These courses are pretty similar to many paid courses you usually buy, and many of these are made free by just promotional or educational purposes by their instructor. You can join these courses to learn JDK 8 and JDK 9 features in a couple of days.

Do you Need to Pass OCAJP before taking OCPJP - Core Java Certification from Oracle

Even though we now have Java 11 certification, I know many Java developers who are going for Java certification like Java SE 8 Programmer 1 and 2, also known as OCAJP 8 and OCPJP 8 with exam code 1Z0-808 and 1Z0-809. Even though Oracle split Java certification into 2 after acquiring Sun Microsystem in 2010, there is still confusion among Java developers whether they need to pass just one OCAJP exam or both OCAJP and OCPJP exam to become a certified Java developer. Well, The short answer is Yes, if you want to become a Java certified engineer then you need to pass both OCAJP and OCPJP, but the long answer depends upon your situation, e.g. whether you hold any previous Java certification or not, which we'll discuss in the second section.

Kotlin vs Java - Which language Android Programmers and Beginner Should Learn First?

Ever since Google announced Kotlin as the official language for Android development in Google IO 2017, programmers who want to become an Android Developer are in a dilemma. Now the big questions in front of them are whether they should learn Kotlin or Java? The answer to these questions depends upon your profile. If you are a complete beginner who wants to learn Android development, then my answer is Java, but if you are a Java developer who wants to jump into the lucrative market of Android App development, then my answer is Kotlin. I'll discuss why a beginner Android programmer should start with Java and why Java developer should learn Kotlin in this article.

Wednesday, November 6, 2019

Top 5 Books for Programming/Coding Interviews - Best of lot

If you are preparing for Programming Job interviews and looking for some of the best books for programming questions, then you have come to the right place. In this article, I am going to share a couple of good books to prepare coding, software design, and data structure algorithm questions, which are essential for any coding interviews. Though a programming interview also explores other areas of software development, e.g., the programming language, you would be mainly used in your project, like, C++ or Java. The database and SQL based questions, the operating systems, and UNIX related questions, some of the software design and object-oriented design pattern questions, and much more, but coding based questions form the core of programming interviews.

6 ways to declare and initialize Two-dimensional (2D) String and Integer Array in Java - Example Tutorial

Declaring a two-dimensional array is very interesting in Java as Java programming language provides many ways to declare a 2D array and each one of them has some special things to learn about. For example, It's possible to create a two-dimensional array in Java without specifying the second dimension, sounds crazy right? but it's possible because two-dimensional array in Java is nothing but an array of array. You can even create a two-dimensional array where each subarray has a different length or different type, also known as a heterogeneous array in Java. This means it's possible to create a two-dimensional array with variable column length in Java.

Tuesday, November 5, 2019

Top 5 Course to Learn Ansible for DevOps in 2019 - Best of Lot

If you are in DevOps space, then you might have heard about Ansible, one of the powerful tools for infrastructure automation. In the past, when you need to set up a server for your application you need to go to each server and install all the software and verify it. This slow, manual, and painful process of server setup is now over with tools like Ansible, Chef, Puppet, and Salt making there way. These are the tools that promote the idea of Infrastructure as code which also brings the added benefit of versioning and scaling when it comes to infrastructure automation.  If you are working towards a career in DevOps, your already a DevOps champion in your team, then learning about Ansible is a good idea, and you have come to the right place.

Top 5 Courses to Learn TypeScript for Web Developers in 2019 - Best of Lot

Hello guys, if you are thinking to learn TypeScript this year and looking for some excellent resources like books, courses, and tutorials, then you have come to the right place. In my last few articles, I have shared some of the best Angular framework tutorials and courses and today, I am going to share some of the best TypeScript online course you can join to learn it by yourself. Many programmers and web developers are learning TypeScript because of its powerful syntax and advanced OOP features and more importantly to developer Angular based application. Since the Angular team has chosen TypeScript as the official language for Angular development, it's important to know TypeScript if you want to make full use of Angular but that's not the only reason you should learn TypeScript.

Monday, November 4, 2019

How do you find length of a Singly Linked list using Loop and Recursion

Hello guys, here is one of the classical programming questions how do you find the length of a linked list using recursion and without recursion. This is not about the LinkedList class of Java API but the linked list data structure, which is made of nodes that contain both data and address of the next node. In order to calculate the length, you need to count all nodes in the linked list. Since it's a singly linked list you can only move in one direction from the head to tail.  This coding problem was asked to me on my first interview with a multinational Investment bankAfter that, this question has been asked to me on several occasions in other Programming Job Interviews as well.

Top 5 Websites to Learn Python Coding for FREE - Best of Lot

Believe it or not, but Python has inspired many people to learn to code and its continually inspiring them. I know a handful of people who are learning Python for different reasons, starting from web development to machine learning. I have seen new people learning Python to write web apps using Django, create a Machine learning Model using Python, and just to write some handy scripts to automate the boring stuff. Python is currently the world's #1 programming language and its popularity is growing every passing day, thanks to Data Science and Machine learning and awesome Python libraries like Pandas, NumPy, and TensorFlow.

Sunday, November 3, 2019

Top 5 courses to learn Tableau in 2019 - Best of Lot

In the era of Big Data and Data Science, Data Visualization and Analytics have become really important. Data visualizations like dashboards and charts help you to better understand the data and provides you insights. They also help simplify complex data sets into concise images and diagrams that clients and users can more easily digest. What would you do with the data if you cannot analyze it to gain the insights which can help with your business growth and some path-breaking discoveries and that's where Data Visualization and Analytics tools like Tableau helps a lot.

Difference between @RestController and @Controller Annotation in Spring MVC and REST

The @RestController annotation in Spring MVC is nothing but a combination of @Controller and @ResponseBody annotation. It was added into Spring 4.0 to make the development of RESTful Web Services in Spring framework easier. If you are familiar with the REST web services you know that the fundamental difference between a web application and a REST API is that the response from a web application is generally view (HTML + CSS + JavaScript)  because they are intended for human viewers while REST API just return data in form of JSON or XML because most of the REST clients are programs. This difference is also obvious in the @Controller and @RestController annotation.

Saturday, November 2, 2019

Java vs Python - Which Programming Language Should Programmer Learn First?

Java and Python are two of the most popular and influential programming language of the present time. Beginner programmer often get confused, one of the most frequently asked questions is should I learn Java or Python? Is Python is an excellent programming language to start with? Which programming language would you recommend for beginners to learn first etc.? Since I am a Java developer, my opinion is biased, I will always suggest you start with Java and then learn Python, but if you ask this question to a Python developer, you might get just opposite answer. I have well documented my reasons as to Why Java is the best Programming language and Why a programmer should learn Java. One of the most important reasons you would see in that blog post is an active Java community, which will help you throughout your Java career.

5 Websites to Learn SQL Online for FREE

The SQL is one of the most important skills for any programmer be it a Java, C++, Python, JavaScript, or Ruby developer. Almost 95% of the Java applications use a relational database in their back-end and almost all web applications use the database. In recent years, one of the most common way to learn any programming skill is online, at your comfort of the office or home and SQL is no different. Learning SQL online has another advantage of a quick head start because you don't need to install a database and create tables to write some SELECT queries. The installation and setup is definitely a tough part for beginners and I have gone through that pain every time I have to learn a new database.

Friday, November 1, 2019

10 Books Every Java Programmer Should Read - Best of Lot, Must Read

If you are a Java programmer and wondering what to read to improve your knowledge of Java and become a better Java developer, then you have come to the right place. In this article, I am going to share some of the best Java books ever written. In fact, this is my list of all-time great Java books. They have withstood the test of time and emerges as more and more successful years after years. It doesn't matter if you read them this year or reading them next year, you are always going to learn a lot, and that's why I call them all-time great books.

Top 5 Courses to learn JUnit, Unit Testing and Test Driven Development for Java Programmers - Best of Lot

Hello guys, today, we'll talk about JUnit and Unit testing, one of the critical skills for any Software developer. You may already know that JUnit and Mockito are two of the most popular testing libraries for Java applications, and you will find them in almost every Java application classpath. I often meet and work with Java developers who know Java well but haven't written a single unit test. When I ask them why don't you write unit tests, they come up with many excuses like they don't have time for writing unit tests, there is always deadline pressure, and some of the honest guys will tell you that they tried writing but give-up after 10-15 minutes due to difficulty in testing their code.