Today's Question:  What are you most afraid of as a programmer?        GIVE A SHOUT



  Why do I need a debugger?

  When I begin to learn a new programming language, I will try and master the debugger for it as early as possible. For example, in 2013, while I touched the Go, there seems only gdb for use. Although gdb itself is not a good choice (From Debugging Go Code with GDB): As a consequence, although GDB can be useful in some situations, it is not a reliable debugger for Go programs, particularly heavily concurrent ones. But at that time there was no other choice. So after delve&nb...

891 1 0      

  Handle NXDomain error when resolving IP address in Ruby DNS resolver

In another post, we covered how to resolve SystemStackError when resolving IP address in Ruby. In this post, we would cover another common issue where a NXDomain error is returned when resolving an IP address. The NXDomain error means that the queried domain name does not exist in the DNS. In Ruby, DNS resolver library will use /etc/resolv.conf by default get the name servers to resolve the domain name. There are multiple DNS name servers can be specified in /etc/resolv.conf with below format. ...


  Resolve SystemStackError issue when resolving IP address in Ruby

In Ruby, Resolv is the default DNS resolution implementation. It can be used to resolve IP address of a hostname. To use it, one just needs to require 'resolv' in the code. But sometimes, a user would want to check /etc/hosts first or some other mechanisms to resolve an IP address. In this case, one can require 'resolv-replace' and then replace the default DNS resolvers with customized DNS resolvers. For example, using resolv-replace, one would write require 'resolv-replace' Resolv::DefaultResol...

1,060 0 0          RUBY RUBY ON RAILS NETWORK

  Java Then, Java Now - Looking at the evolution of Java from EE7 to EE9

Java, the programming language developed at Sun Microsystems in the 90s and later acquired by Oracle, is the most common programming environment used today, by developers across the globe. With the diversification of applicability that accompanied the technological boom, Java updates now come as Standard Editions (SE), Enterprise Edition (EE) and Micro Edition (ME). The Java SE contains the core programming logic and platform, used for relatively smaller-scale tasks and academic purposes. Java E...


  The latest on Java-on-Java: the Oracle experiment that is gaining momentum

What is Project Metropolis? The not so hush-hush Project Metropolis is all set to implement Java on itself – popularly known in the developer community as Java-on-Java. Oracle has released updates on its progress, and they are very encouraging. The project will focus on building a JIT (just in time) compiler that is written in Java. It is being touted as the experimental clone of JDK (Java Development Kit) 10.  Work on ‘ahead of time’ compiling and Graal compiler is also i...

1,479 0 0          HIRE JAVA DEVELOPERS

  Benefits and Drawback of a Layered Architecture

Most enterprises today are application centric. But the problem with the application is that their database schemas, user interfaces, programming interfaces and object models are tightly coupled and difficult to change. If you want to add a new field to a database table and you’re lucky, the change will reflect through the entire system. But often the change needs to be replicated manually across the entire system. And as applications are difficult to change, adding business rules or proce...


  Ruby WinRM undefined method `split' for nil:NilClass

WinRM service is a service provided by Windows to enable remote access a Windows system. It is similar to what SSH is for *nix. And it is frequently used in applications which want to automate process or accessing remote Windows system and perform actions on them. Ruby also provided the WinRM gem which is an implementation of the WinRM service.  When using WinRM gem, one may often want to use :negotiate as the transport protocol for authentication. This transport will negotiate using d...

1,918 0 0          RUBY WINRM INIT_AUTH PROXY

  Fix issue "cannot load such file -- bcrypt_ext (LoadError)"

bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords. The bcrypt Ruby gem provides a simple wrapper for safely handling passwords. However, sometimes the rails application would fail to start after installing the bcrypt gem on Windows. The error would look similar to below. The issue is that it fails to load the bcrypt_ext which is the native built extension, the reason may be the library is wrongly built. To fix this issue, below steps can...