Today's Question:  What weekend projects have you created?        GIVE A SHOUT



  Use pdb to help understand python program

  As I have mentioned in Why do I need a debugger?: (3) Debugger is a good tool to help you understand code. So when I come across difficulty to understand code in bcc project, I know it is time to resort to pdb, python's debugger, to help me. The thing which confuses me is here: counts = b.get_table("counts") for k, v in sorted(counts.items(), key=lambda counts: counts[1].value): print("%-16x %-26s %8d" % (k.ip, b.ksym(k.ip), v.val...

348 0 0      

  Be careful when running knife vault command

While using Chef, one would frequently use knife commands which are used to manage resources on the Chef server. One can list all nodes, data bags, vault items and many other stuff on the Chef server. In this post, we would cover one command which may need your attention when using it -- knife vault. On Chef server, one can store data to data bags which can be accessed by registered clients. These data bags usually store the data in plain text format. In some cases, one would need to store data ...


  How to maintain a software project?

For a software engineer, at least from my own experience, maintaining an existing software project would take up a considerable amount of time: adding new features, fixing tricky bugs, and so on. In this post, I will share some some tips about how to become a veteran from a novice quickly when facing a new project. (1) Get familiar with the background knowledge of the project. Every software has its own purposes and users: a device driver serves the specified hardware, whilst a SMS gateway helps...

1,190 1 0      

  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...

1,271 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,389 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,669 0 0          HIRE JAVA DEVELOPERS