Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Begin



  Implementation of Tower of Hanoi

The Tower of Hanoi is a mathematical game or puzzle. It consists of three rods, and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top, thus making a conical shape. The objective of the puzzle is to move the entire stack to another rod, obeying the following rules: Only one disk may be moved at a time. Each move consists of taking the upper disk fro...

   Algorithm,Tower of Hanoi     2012-08-20 02:15:55

  gethostbyname vs getaddrinfo

getaddrinfo is slower than ping when resolving domain names. I think ping uses gethostbyname to resolve a domain name. The question becomes whether getaddrinfo is slower than gethostbyname. After testing with both functions, we find that getaddrinfo is really slow compared to gethostbyname. By strace tracking,  we find getaddrinfo will communicate with DNS server 10 times and gethostbyname will communicate with DNS server communication twice.gethostbyname is an old way to resolve domain nam...

   C++,network,DNS     2012-08-15 14:06:34

  Output a file with HTTP range header in PHP

When downloading a large file, we may encounter some network issues which causes download termination and only part of the file is downloaded. When the network connection resumes next time, we may need to redownload the file again from the beginning. In order to save bandwidth, http provides a Range parameter in its header which can control the file transfer flow. With the range parameter in the header, we can resume the download from where we stop. Here is a piece of PHP code snippet which uses...

   PHP, range,http, file transfer     2013-01-09 05:55:05

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

   RUBY,RUBY ON RAILS,NETWORK,DNS,NXDOMAIN     2017-07-16 01:39:23

  ARE YOU LIKE ME? OR DO YOU HAVE DISCIPLINE?

If you are anything like me, you've started more things than you have finished. We're innately curious about the things around us and inspired when we come across people who have mastered their trade. We see people create cool and beautiful things and think, "Man, that looks easy, if I put in a little time I can do that in no time." What follows is a few days or weeks of focused and dedicated learning. During this time we make some progress, but not much. In fact, the progress that we do ma...

   Work,Learning,Effort,Detail,Complexity     2011-10-25 10:27:28

  Converting Decimal Fractions to Binary

Converting Decimal Fractions to Binary In the text proper, we saw how to convert the decimal number 14.75 to a binary representation. In this instance, we \"eyeballed\" the fractional part of the binary expansion; 3/4 is obviously 1/2 + 1/4. While this worked for this particular example, we\'ll need a more systematic approach for less obvious cases. In fact, there is a simple, step-by-step method for computing the binary expansion on the right-hand side of the point. We will illustrate the metho...

   Decimal,Fractional,Binary     2011-03-19 06:45:35

  C++ : string beginWith and endWith

C++ is an very powerful programming language. It is efficient and flexible. When writing C++ programs, we may often need to process strings and often we need to check whether a string begin with some substring or end with some substring. We can use following functions to ahieve these:     static bool beginWith(const std::string str,const std::string needle){        return (!str.compare(0,needle.length(),needle));    }    ...

   C++,beginWith,endWith,     2012-08-31 06:53:44

  Manipulating JavaScript Arrays

Our first tutorial on JavaScript arrays covered the basics: creating arrays, accessing the contents of arrays, array lengths, and looping through arrays. In this tutorial, you explore arrays in more depth, and learn how to use various methods of the Array object to manipulate arrays. Extracting sections of an array with slice() You're not limited to accessing single array elements at a time. Thanks to the slice() method, you can grab a whole section of an array at once. slice() has the follow...

   JavaScript,Array,Manipulate,Join,Splice     2011-08-07 01:56:06

  In iOS6, no need to enter password for downloading free apps

In this coming autumn, Apple will release iOS6. User experience for downloading free apps or  upgrading apps will be largely improved. Users are no longer required to enter password again when downloading free apps or upgrading downloaded apps(free or paid). This means that users only need to enter password when downloading paid apps.In iOS5, users need to enter password when they download or upgrade apps.In iOS6, if users want to download free apps, they only need to click the "Free" butto...

   Apple,iOS6,Password,Free app     2012-07-25 10:53:16

  Create tweet without explicitly showing the link URL

When crafting a tweet, there are instances where we may wish to include a link, but we prefer the preview to be shown without displaying the URL explicitly after the tweet is published. How can we accomplish this? This article outlines the steps to achieve it. To begin, copy and paste the link you want to share into the tweet box. After clicking Post, the tweet will be published without displaying the link; instead, it will showcase the page preview, and clicking on the preview image will open ...

   TWEET,LINK URL,X,PREVIEW     2024-01-23 08:06:46