I have been a Linux command line addict for many years now. Though I use Ubuntu 12.04 these days but still I spend most of the time on command line. I like to do most of my tasks through command line only. While I am pretty happy with what all I am able to do through command line but still there are few tasks for which I have to use other (GUI based) applications. One of these tasks was taking a screen-shot. I have always used graphical applications for taking screen-shots on Linux. Honestly speaking I never thought that Linux command line can be used to take a screen shot until I encountered the scrot utility.
The scrot utility can be used to take screen-shots from command line. There are various options available with this command that make this utility equally powerful and flexible as its graphical peers. In this article we will discuss some important and useful features of scrot utility through practical examples.
Not very long ago, it was Apple’s iOS that was ruling the world of smart-phones. At that point of time, not many could think that soon another mobile OS would penetrate and eat-up a significant amount of market from Apple’s iOS. But, it did happen with Google’s Android. This Linux based mobile OS came and quickly became more popular than iOS. The amazing part of the story is that all this happened within no time.
One could easily argue that the success of Android was obvious because it was backed none other than Google but still If you try to dig in a bit more, you’ll see that a major reason of such a huge impact of Android was it being Linux-based and open-source. Being Linux-based automatically helped Android with all the positives of Linux and being open-source helped it with all the positives of community contribution. And I personally feel that the killer combination Google+Linux+OpenSource is responsible for where Android is today.
But, just as most of us could not anticipate Android sweeping the market while iOS was the world leader in smart-phones, it’s difficult today to anticipate any other mobile OS coming out of nowhere and eating out the market from Android or iOS. But, this is the world of technology and here anything can happen.
Generally, on any operating system, we say we have so many programs running. These running programs introduce the concept of processes. Let’s Define as to what is a process – A process is a program in execution.
Robert Love expresses his definition of a process in one of his books as :
The Process is one of the fundamental abstractions in Unix Operating Systems, the other fundamental abstraction being files
Linux is a multi-user and multi-tasking operating system(seemingly, discussed later in the article). A Linux process is a program in execution on a Linux system. Therefore, whenever a program is executed, a new process is created. A process also consumes resources like the file system, memory or other CPU resources. This gives rise to the need of process management in Linux.
Have you ever been caught in a situation where, through command line, you had to backup or delete files that were created in a specified time period?
Have you ever got frustrated when your image viewer program mixed up your latest photographs with old photographs just because your camera messed up with the time stamps of the latest photographs at the time when they were taken?
Or, do you just want to play cool in front of your friends or peers by accessing a file or document even before it was created?
Well, if you have been through the above mentioned or similar situations and want to know how can we use a couple of easy command line utilities in Linux to solve these problems then it’s time for you to read on.
In part1 and part2 of GIMP series, we learned about the basic editing tools and selection tools. Now taking image manipulation to next level, in this article we will cover some advanced features of this editor.
Gimp Image Editor – Coloring tools
Coloring is an integral part of image editing.
For coloring you can choose a foreground colour and fill it in the selection with the option “Fill with FG color”. Similarly, you can select background color, fill it with option “Fill with BG color” and then also fill the selection with different patterns.
The most compelling feature of C++ programming language is it being object oriented. An object is a fundamental aspect of an object oriented language like C++. The objects come from classes which is a collection of related type of information. As in C, we have structures as a user defined data-type, which is a collection of data members of different data-types. On Similar lines, C++ introduces the concept of classes, though with a lot of basic differences like the concept of constructors and destructors etc.
Let’s discuss a few differences here :
- C structures just have data members, whereas C++ classes, apart from data members, can also have member functions.
- C structure data members are all publicly accessible, however C++ classes have the power to specify access as private, public or even protected.
- Another vital difference are constructors and destructors. To initialize objects, including dynamic memory allocation, implicitly in C++, programmers define constructors, and similarly, to destroy an object, including freeing the memory, it uses destructors. In this article, the we shall have an in-depth understanding of the C++ constructors and destructors.
[Note that, in the explanation above, we have discussed about C structures… C structures carry a lot of differences with C++ structures.]
In this article, we will discuss in detail the intricacies of constructors and destructors from a developer’s point of view.