Forgot your password?
typodupeerror
Programming

+ - C++ GUI programming with Qt 4 - Second edition

Submitted by
Ravi
Ravi writes "Qt is a cross platform application development framework which is widely used for the development of GUI and non-GUI programs. Some of the most visible products which have been developed using Qt are KDE, Opera web browser, Google Earth, Skype and Photoshop Elements just to name a few. Some of the pertinent reasons for using Qt are — One: Qt library is released under a dual licensing business model which means you can develop open source or closed source applications. If you are developing the former, then you do not have to pay any money for using the library. Two: It is truly cross platform — which filters down to the fact that you can write the code for your application in one platform — say Linux, and then copy the code to Windows and recompile the code without making any changes and your application is guaranteed to run on Windows. Three: Cellphone behemoth Nokia's recent acquisition of Trolltech has definitely infused fresh breadth and energy into the future of Qt. The latest version of Qt namely version 4.3 has a lot of enhancements which make developing GUI applications using this library a joy for most C++ programmers.

C++ GUI Programming with Qt4 authored by Jasmin Blanchette and Mark Summerfield; published under the Prentice Hall Open source software development series is well into its second edition. This book is touted as the "Official book on Qt from Trolltech".

The main goal of this book is to teach how to write GUI programs using Qt4 and is targeted at the entry level to intermediate and advanced C++ programmer. So it starts off with a shallow curve, hand holding the reader from the first rudimentary steps in writing a simple C++ GUI program using Qt4. And over the chapters, gradually builds up steam and introduces the reader to complex scenarios such as creating plugins, 3D graphics, application scripting and more. Going through the book, I didn't feel like I was studying a programming framework rather I found the language used in explaining things quite lucid, clear and interesting all the same.

A couple of months back, I had reviewed the first edition of the same book and so, rather than regurgitate what I had written there, I will focus on the enhancements and changes that the second edition of this wonderful book has in store for its readers.

The book is divided into three parts. A new programmer in Qt will find the first part really useful because it covers the fundamental concepts and practices required for programming in Qt. The second and third part of this book comprising of 12 and 7 chapters respectively deal with specialized topics and can be read in any order. For example, if I want to build a GUI program which needs to connect to a database at the back end, then I can straight away read the 13th chapter namely "Databases", of this book provided I am conversant with Part I of this book which covers the foundation of programming in Qt 4.

The second edition of this book builds up on the first edition and contains numerous changes. For one, a couple of additional chapters have been included such as "Look and Feel Customization" and "Application Scripting". The book has been thoroughly revised to include changes incorporated in Qt 4.2 and Qt 4.3. The original "Graphics" chapter has been split into 2D and 3D graphics chapters respectively. The tiny chapter on Embedded Programming has been expanded to include programming in Qtopia, thus making it not tiny anymore.

What I really like about this book are the realistic examples which are used to introduce each Qt control or concept. There are plenty of images scattered within, which impart visual appeal to the book. More over, these images hopefully give the reader an idea about the correct way of designing their software.

Going through this book, I find that the authors have explained different scenarios of developing programs in Qt 4 exhaustively without overwhelming the reader. Each program is split into digestible chunks of code with detailed explanation succeeding them. This makes it quite easy to understand what each line of code accomplishes.

The appendixes contain a new section namely "Introduction to Qt Jambi". Qt Jambi is the Java edition of the Qt application development framework. Apart from that, there are of course the other sections in the appendix namely installing Qt, building Qt applications and also a concise section listing the main nuances of programming in C++ for Java and C# programmers.

One thing I noticed is that the hard bound book I received did not have a companion CD containing the Qt library and the IDE used to design your applications. Then again, one can always visit the Trolltech site and get the Qt 4.3 library and applications which is available as a free download.

All in all, this is a great book not just for any neophyte in Qt but also for the accomplished Qt programmer to use as a ready reference.

Ravi Kumar is a Linux enthusiast who is passionate about Linux and is excited in seeing how it is changing the perception of the people towards computers and operating systems. In his free time, he writes on the blog related to Linux at linuxhelp.blogspot.com."
Linuxcare

+ - High end Lenovo and Dell laptops at 40% discount

Submitted by Anonymous Coward
An anonymous reader writes "Would you like to acquire a sufficiently high end brand new laptop sporting upto 1 GB memory (RAM), an Intel dual core processor, 120 GB hard disk et al manufactured by a company like Dell or Lenovo for just around 60 % of its actual street price ? Well you could, provided you are living in the Indian state of TamilNadu and more importantly you are a bona fide student enrolled in a school or college in TamilNadu.

This article reports that the laptop scheme is the brain child of Electronics Corporation of TamilNadu Limited (ELCOT). ELCOT is a wholly owned Government of TamilNadu Undertaking, registered under the Indian Companies Act(1956). It is the nodal agency for Information and Communication Technology projects for the Government of TamilNadu.

The article further opinions that the government of TamilNadu is famous for its people friendly schemes. Some of them being the free bicycle scheme, distributing 20 Kg rice per month to each family at a price of 5 cents per Kg, Free colour television set scheme and now the Laptop scheme.

The laptops will be fully compatible with Linux and will come pre-installed with OpenSuSE and choke full of very useful Free software."

Comment: Why not use ... (Score 1) 380

by ravee (#19864835) Attached to: Warning On Office 2007 "Try-Before-You-Buy"
Why not use OpenOffice.org instead ? Agreed, Microsoft Office 2007 is very beautiful to look at and also has made a number of advances in usability. But that does not condone its history of changing the MSWord file format even across different versions of MSWord as well as locking the users to its proprietary format.

Microsoft has to learn to support open file formats as people now a days are becoming more and more aware of the hazards of vendor lock in.
Linuxcare

+ - Linux Programmer's Toolbox

Submitted by
Ravi
Ravi writes "What does it take to start writing programs for Linux ? Most people will guess a text editor, knowledge of a programming language and the compiler and libraries of that language would suffice. But ask a professional programmer who has been writing code for Linux and he will differ with you and insist that while the three things stated above can very well help kick start ones programs, other things also come into play in writing efficient programs such as a debugger, memory profiler tools and above all a good understanding of the inner working of Linux kernel and its processes.



The book titled "The Linux Programmer's Toolbox" authored by John Fusco is a book which is a store house of knowledge which aims to make the average Linux/Windows programmer aware of the tools at his disposal which can help him write better programs for Linux.

The book is divided into 10 distinct chapters with the first 4 chapters describing various ways of boosting ones productivity while embarking on writing code for Linux as well as getting to know the various tools at ones disposal.

In the very first chapter titled "Downloading and Installing Opensource tools", he talks about the different archive formats commonly used in Linux, various package managers such as Debian's own apt-get, Red Hat's Yum and how to properly authenticate the packages you download to ensure that they are not tampered.

The second chapter deals with building tools from source. Here apart from describing the actual steps involved in compiling the sources, the author also delves into explaining the concept behind the MakeFile, the common variables used in implicit rules and so on. In this chapter one also gets to acquire an understanding of the tools used to create projects as well as examine how these tools work together in the build process.

The book has a chapter exclusively devoted to explaining ways of ambulating through the myriad of documents; tools such as man, info, as well as some of the not so obvious ones. One thing I like about this particular chapter is how the author has provided tables which list a number of recommended manual pages with a short description of each of them.

Linux doesn't have a comprehensive IDE on the lines of Microsoft Visual Studio to develop programs — at least not yet. Most Linux programming gurus are perfectly at home with coding using their favorite text editor. And any book of this stature will be incomplete without a mention of the different editors available for coding in Linux and their pros and cons. The 4th chapter of this book introduces the different editors including Vim and Emacs and discusses their pros and cons. There are numerous tips in this chapter which aims to make writing code much more efficient, productive and a pleasant experience for the average Linux programmer. As a Vi enthusiast, I couldn't help but admire how one can convert Vim editor to work as a code browser with the help of Ctags which is explained in detail.

The fifth chapter titled "What every developer should know about the kernel" is a turning point in the book and gives a comprehensive understanding of the working of the Linux kernel. It is by far the largest chapter — with nearly 100 pages devoted to this topic — in this book. In this chapter the author talks in lucid detail about the different modes in Linux, the process scheduler, device drivers, the I/O scheduler and the memory management in user space, understanding all of which is instrumental in writing better programs for Linux.

The next two chapters deal with Linux processes and the communication between processes. Here one gets to know more about the technical vagaries related to processes such as forking, cloning, process synchronization and the basics of inter process communication. The author has introduced several APIs and basic examples of each.

In the 8th chapter, the author introduces many tools which are installed by default in most Linux distributions which aid in debugging communication between processes. The tools include (but are not limited to) lsof, fuser, stat, hexdump, strace and so on. And each tool is accompanied by its usage and its output with a short discussion of the output.

In the 9th chapter titled "Performance Tuning", one gets to know more about fine tuning ones Linux program. Here the author explains the factors affecting system performance as well as the tools for finding system performance issues.

Finally, the last chapter of this book explores some of the most common debugging tools and techniques for Linux. More specifically, I found the discussion on the use of GNU debugger quite informative.

At the end of each of the 10 chapters in the book, the author has provided a short synopsis of the tools that are used. Also many additional online resources have also been listed where one can acquire more knowledge about the topic being covered. Through out the book, noteworthy sections have been highlighted in dark background which makes it quite eye catching and also easy for quick reference.

The book is written with a slant towards the C language especially when depicting the examples in the latter half of the book. But that is something which can be understood considering that the bulk of the Linux kernel has been written using C language.

Most programmers with Windows background will be forced to make a paradigm shift while embarking to program for Linux. While the Windows programmers are used to taking deceptive comfort within the cozy confines of a Visual IDE, when they make the shift to write Linux programs, they are suddenly faced with the hard facts of programming as it really is. And this book could be an ideal companion for this set of programmers who wish to lessen their learning curve and make programming for Linux a much more pleasurable experience.

Having said that, I found this book to be an excellent resource for any programmer (not necessarily only of Windows background) who wish to develop programs for Linux.

Ravi Kumar is a Linux enthusiast who maintains a blog related to Linux, Open Source and Free Software at linuxhelp.blogspot.com."
Linuxcare

+ - Is brand name Ubuntu over hyped ?

Submitted by Anonymous Coward
An anonymous reader writes "When you go by the readings in diverse media, you are sure to find only eulogies of Ubuntu — a linux distribution which has been very popular as a neophytes Linux distribution. But this provocative article asks whether, after all is said and done, is not the brand name Ubuntu over hyped to the extent of over shadowing other Linux distributions including Ubuntu's parent distribution Debian? Because as this author has experienced, the succeeding Ubuntu releases after 6.06 has only gone down a gradual incline in the quality department."
Software

+ - Dell machines will ship with Ubuntu 7.04

Submitted by Anonymous Coward
An anonymous reader writes "http://www.theregister.com/2007/05/01/dell_linux_l ives/

Dell has finally chosen a Linux distribution to offer on its desktop and laptop machines. Following news that Michael Dell was running Ubuntu on his personal laptop, the company has followed suit and from late May Dell machines will ship with Ubuntu 7.04 as an option.

There's no official word from Dell, but several sources within the box-shifter have been talking to desktoplinux.com.

Machines will be available from $408 for an e-series box without a monitor. Four XPS machines will also have the option of pre-installed Linux, as will three e-series laptops.

The announcement followed a survey of 100,000 people which found a huge majority in favour of offering Linux. Open source fanboys have long been irritated by the difficulty of buying a machine without Windows pre-installed. ®"
Software

+ - OpenBSD 4.1 released.

Submitted by
reidhoch
reidhoch writes "OpenBSD 4.1. has finally been released.This release features tons of new drivers, better support for sparc64, and lots more functionality. With only two remote holes in the default install in more than 10 years you really should check it out. Please user mirrors when downloading."
Operating Systems

Journal: A Web based OS - Don't wait for Google OS

Journal by ravee

EyeOS is a free, cross-platform Personal Content Manager System based upon the style of a Desktop Operating System. The base package includes the whole Operating System structure and ten apps, as a Calendar, a File Manager, a Text Editor, an Internal Messenger, a Browser and a Calculator. You can download it and try it for free at EyeOS.org .
The only catch is you need PHP and apache webserver running on your machine. I tried this OS and am really impres

News

Journal: Trap-building ants torture prey

Journal by ravee
I was of the impression that torturing was a skill perfected by the homo sapiens until I came across this interesting post. That is, a news item on BBC News which describes about a species of ants which use the same technique to hunt for prey. They lay a trap for the prey and when the prey is snared, it is impaled, drawn and quartered before it is transported to the ants nest for devouring.
You can read all about it here.
User Journal

Journal: 12 Great tips on successful job-hunting

Journal by ravee
I came across this post where the author details 12 great job searching ideas as adviced by job recruitment gurus all over the world. It is really interesting that after going through this post, I find that majority of us have made one or the other mistake listed there while searching for a job. All in all a very informative read.

Money doesn't talk, it swears. -- Bob Dylan

Working...