Software resources for all

  • Software systems often need to act based on time. The accuracy and precision of time maintained by a system is important. Alarms, sleep and high resolution timers provide a framework for application programs to carry out time-critical tasks.
  • As a process executes, it takes up the CPU time which is also called the execution time or the processor time. The times system call and the clock library function can be used by the process to find its execution time.
  • Linux systems maintain a system clock which stores the calendar time. The is stored as seconds passed since January 1, 1970 00:00:00 UTC. Applications can query this system clock with the time and gettimeofday system calls. There are functions to convert the system calendar time to the familiar local time string.
  • The hardware real time clock tends to lose or gain time every day by a constant amount. This is called the systematic drift. hwclock program helps in calibrating and adjusting the hardware clock.
  • anacron helps in running shell scripts once in a given number of days. Unlike cron, anacron does not require that the exact time running of the script be fixed a priori. For this reason, anacron is particularly relevant for home computers and laptops, which are not switched on all the time.
  • The cron daemon runs shell scripts for root and other users at predefined times. cron is the standard way for running programs periodically on Linux and other Unix-like systems.
  • Backing up a Drupal site involves copying the site's root directory structure and creating a dump of site's database. The backed up data can be used for restoring the site later on.
  • Moving a Drupal site to another host involves making a copy of site's root directory structure and creating a dump of the site's database. On an another host, the database is restored from the backup and the site's root directory tree structure is installed.
  • The definition and relationship between program, process and threads is explained.
  • Sometimes we need to start a server program during the post-boot system initialization after the network has become available. On Linux systems using the Upstart init daemon, this can be done as described here.
  • Although md5sum checksum file is a text file, it has a special format. If the checksum file is not as per this format, we get the error, md5sum: no properly formatted MD5 checksum lines found.
  • In the X-Window system, the terms client and server are somewhat changed. The X-server running on an host and managing the display is the server, whereas an application running on the same host or some other host on the network is the client. Here, we look at the problem of a local application, the client, using the display, or the X-server, of a remote host.
  • JRobin is a Java port of the famous RRDTool package. While trying to save a graph as a PNG file, we run into problems as the saveAsPNG gives a compile time error. But there is a solution as described, here.
  • There are requirements of watermarking images, especially for protecting the copyright. Watermarking an image is easily done using Gimp.
  • It is easy to make a logo using Gimp, as described here.
  • A newly compiled kernel halted during boot with the message, kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0).
  • While running a GTK+ based C program under Cygwin, the following runtime error is observed, Gtk-WARNING **: cannot open display:
  • A C program was compiled under Cygwin and run directly under Windows. The following runtime error was observed, cygwin1.dll not found
  • Multi-boot systems with Linux and Windows are quite common. It is easy to access Windows partitions under Linux, as described here.
  • rsync is used for synchronizing the source files with the corresponding files at the destination. The source and destination may be on the same host, in which case rsync becomes an advanced copy command. Or, the destination may be a networked remote host. rsync uses the delta encoding technique for copying files; for files existing at the destination, only the differences from the source are transferred.