Rapid GUI programming with Python and Qt : the definitive guide to PyQt programming / Mark Summerfield, Prentice Hall, 2008
If you are looking for the best toolset for rapid development of applications, your choice might be Python with Qt. Also, your resulting product will be maintainable and portable. This book is a top guide to programming PyQt, 600 pages and hardcover.
Foundations of Qt development / Johan Thelin, Apress 2007
Here is another great book on the best C++ development environment. QT is more than just a library of GUI functions. It supports XML i/o, I18n, threading, databases, networking, and qmake. Of course, it does portable GUI’s well. Free for open source projects!
Enhancing a Dreamweaver CS3 web site with Flash Video / by David Karlins, Peachpit, 2008
Just 100 pages showing pictures of GUIs and telling where to click. You can add a video to your site without understanding how it works!
Get it from OPL
Mastering CSS with Dreamweaver CS3 / Stephanie Sullivan and Greg Rewis,
New Riders, 2008
Just 350 pages and nicely designed, this book might be the quickest way to get good with Dreamweaver.
Get it from OPL
The essential guide to Dreamweaver CS3 with CSS, Ajax, and PHP / David Powers, Friends of ED, 2007
Here is a good introduction to web app programming using Dreamweaver. 720 pages, mostly well written text, with a few pictures of dialogs. Not many code examples. Recommended.
Get it from OPL
Master visually Dreamweaver CS3 and Flash CS3 professional / by Sherry Kinkoph Gunter, Wiley , 2008
This book shows pictures of Dreamweaver GUI windows, and tells you where to click. Likewise with Flash. It might be the quickest way to start with these GUI’s for some people.
Get it from OPL
Programming Microsoft Composite UI Application Block and Smart Client Software Factory / David S. Platt. Microsoft Press, 2008
For programmers of rich client apps using Microsoft’s CAB and SCSF and WPF frameworks. Concepts are explained. There are some code examples, but no ‘Hello World’. It reminds me of Eclipse RCP without the portability or clarity.
Get it from OPL
Designing Web navigation / James Kalbach. O’Reilly, 2007.
A book about design for web sites. Finishing with a section on navigation for web applications. Years ago, before the web, we would have called this GUI design. We have come a long way!
Get it from OPL
C++ GUI programming with Qt 4 / Jasmin Blanchette, Mark Summerfield. Prentice Hall c2008.
Qt is one of the best GUI toolkits for cross platform C++ development. I like this book. Hardcover, 700 pages, a very practical approach, up to date, lots of example code.
Get it from OPL
The definitive guide to SWT and JFace / Rob Warner with Robert Harris. Apress Springer Verlag, c2004.
Here is a good introduction to Eclipse GUI programming. Though somewhat dated, it is still worth reading. It will help if you are doing a Rich Client (RCP) or extending Eclipse with a new plugin. SWT is way better than Swing, but there seem to be fewer books on it. There is a lot to learn, and too many sources on the net, so use this book to get started.
Get it from OPL
Or, How to Be a Command-Line Commando
Does it surprise you to learn that I’m a Linux guy? I’ve been using Linux, to the exclusion more-or-less of everything else, since about 1999. In the past, I’ve done a little programming and some junior system administration. I’m even LPI-certified.
With this background, I’m quite comfortable working in the shell (AKA the command-line), the natural habitat of the sysadmin[1]. I frequently open a shell to do some quick work, and when I do, I use GNU’s Bash, which is the default on most Linux distributions. (I believe it’s also the default shell in Mac OS X.)
One of Bash’s features is editable command-line history, which makes your current command-line and its entire history available to you as an editable buffer. That offers a great way to streamline your work in the shell.
I suspect, however, that many shell users don’t even know about this better way. And it baffles me that many SAs I have seen in action — including some of Pythian’s own — don’t use this. They almost seem to prefer unnecessary effort — smashing away at their keyboards, repeating themselves, deleting with the Backspace key, scrolling, forwarding their cursor one character at a time, copying and pasting with the mouse, and so on. That’s a lot of elbow grease.
With Bash, or any other shell that uses the GNU readline library, you can use the following Emacs-like key-chords to make your life better. The point of this (as with so many things sysadmins and programmers do) is to save you effort, viz. typing. These aren’t all of them; they’re the ones I use:
| Keys | Effect |
|---|---|
CTRL-P |
go to the Previous command in your history |
CTRL-N |
go to the Next command in your history |
CTRL-R |
Reverse-search through your history |
CTRL-S |
Search forward through your history |
CTRL-A |
Move the cursor to the beginning of the line |
CTRL-E |
Move the cursor to the end of the line |
CTRL-W |
delete a Word backwards |
ALT-D |
delete a word forwards |
CTRL-F |
move the cursor Forward 1 character |
CTRL-B |
move the cursor Backward 1 character |
ALT-F |
move the cursor Forward 1 word |
ALT-B |
move the cursor Backward 1 word |
ALT-_ |
undo |
It takes a little learning to get these under your fingers, but it’s worth it. Too often, easy-to-use GUIs get us started quickly, and then leave us handicapped in our work. Spending the time to learn how to use capable tools pays off.
If you don’t want the default Emacsisms, there’s a vi-mode too — try set -o vi. I am a vi guy (in addition to a Linux guy), so I don’t mind modal editing, except that in the shell, there’s no way to tell which mode I’m in at any moment. Some commando out there might have put together a fancy custom PS1 prompt that shows vi-modes, but I really haven’t gone searching.
If you’d like a more thorough read about this, try the Bash Emacs Editing Mode (readline) Cheat Sheet or “man readline”.
1. As it happens, knowing how to use Unix text tools such as grep, sed, and wc (to name just three) is very helpful to a writer, too.









