Site Map
Writing & Software
Recent Writing
- Python Programming Tips—A small
collection of short useful ideas and snippets.
- User Interface Corrosion—Why
windowing user interfaces get worse as well as better.
Commercial Software
- DiffPDF — compare PDF files quickly
and easily: a commercial Windows graphical user interface (GUI)
application ideal for office workers.
- ComparePDF — compare PDF files
quickly and easily: a commercial Windows graphical user interface (GUI)
application ideal for office workers. This is an
alternative to our DiffPDF application. It is much faster and produces
better PDF reports, but it is 64-bit only and has fewer
features. See ComparePDF vs. DiffPDF to
choose the right tool for your needs.
- comparepdfcmd — compare PDF
files: a commercial console (command line) program for Windows ideal for
testing, quality assurance, and scripted comparisons. This is an
alternative to our diffpdfc tool. It is much faster and produces better
PDF reports, but it is 64-bit only and has fewer features. See comparepdfcmd vs. diffpdfc to choose the right
tool for your needs.
- diffpdfc — compare PDF
files: a commercial console (command line) program for Windows ideal for
testing, quality assurance, and scripted comparisons.
See also Why Compare PDFs? Also,
note that Site Licenses for our software
are available.
Free Open Source Software
- retest — a console
(command line) program for Windows and Unix for automating black box
regression testing, and a Rust library to do the same thing
programmatically.
- differ — a Rust library
for finding the differences between two sequences.
- Gravitate — an online game.
Books
- Python in Practice (ISBN 978-0321905635)
by Mark Summerfield—all the examples and a sample chapter are
available for free download.
Q&A
with 2014 Jolt Award Winner: "Python in Practice" Author.
- Programming in Go: Creating Applications
for the 21st Century (ISBN 0321774639) by
Mark Summerfield—all the examples and a sample chapter are available for free download
- Advanced Qt Programming (ISBN 0321635906)
by Mark Summerfield—all the examples and a sample chapter are available for free download
- Programming in Python 3:
A Complete Introduction to the Python Language (Second
Edition) (ISBN 0321680561) by Mark Summerfield—all the
examples and a sample chapter are available for free download
- Programming in Python 3:
A Complete Introduction to the Python Language (First Edition) (ISBN 0137129297) by Mark
Summerfield. Hungarian, Portuguese, Russian, and Spanish translations are now
available, with Chinese and Japanese translations in the works.
(Superceded by the Second Edition.)
- Rapid GUI Programming with Python and Qt:
The Definitive Guide to PyQt Programming (ISBN 0132354187) by Mark
Summerfield. A Chinese translation is in the works.
- C++
GUI Programming with Qt 4 (2nd Edition)
(ISBN 0132354160) by
Jasmin Blanchette & Mark Summerfield. Chinese, German, Korean,
Russian, and Turkish translations are now available. All the
examples and the entire book in HTML are available free from InformIT.
For the examples, click the Downloads tab then click one of the Examples
links. For the book itself click the Sample Content tab. This page has links to the entire book as
HTML pages (but in the wrong order!). If you scroll down you will see a
table of contents so that you can see the correct order.
I'm sorry it is so inconvenient, but I have no control over the
publisher's web sites.
Walter Dale has ported the book's examples to Qt 5—
7z
archive (290K).
If you like this book, please consider buying
Advanced Qt Programming.
-
C++
GUI Programming with Qt 4 (First Edition)
(ISBN 0131872494) by
Jasmin Blanchette & Mark Summerfield. This book is available
in PDF format under the Open Publication License,
PDF in a ZIP
(5.6 MB, unzips to 51 MB).
Chinese, French, German, Japanese, and Russian translations are
available. (Superseded by the Second Edition.)
-
C++
GUI Programming with Qt 3
(ISBN 0131240722) by
Jasmin Blanchette & Mark Summerfield. This book is available
in PDF format under the Open Publication License,
PDF in a ZIP
(2.4 MB, unzips to 32 MB), or
PDF
(22 MB).
German, Japanese, and Russian translations are available.
A Selection of Other Writings
- Programming Books—Book's I've
bought and recommend.
- No Blink—how to stop blinking or
flashing cursors.
- Python Sorted Collections—A short
plea for adding sorted collections to Python's standard library.
- Go
Tutorial a five part introduction to Go on Dr. Dobbs journal. The
accompanying examples (7K).
-
Concurrent
Programming with Go the ACCU's Overload journal's issue 106 containing this article introducing
concurrent programming in Go
- From Software Patents to Silence: A
Thought Experiment
-
Moving from Python 2 to Python 3 a "cheat sheet" for Python 2
programmers written for InformIT (4 page PDF, 676K)
-
Python Descriptors an
InformIT article
-
A Practical Introduction to PyQt's Undo/Redo Framework an
InformIT article—see also, Witold Wysota's Using Undo/Redo with
Item Views article
- Qt 4's Model/View
Delegates an ICS Whitepaper covering Generic Delegates and Abstract
Column Delegates (Qt 4.2 introduced new methods that can be
used to achieve the same effect)
-
Libraries and Plugins a Qt 4 article in Qt Quarterly
-
Data Models: SQL Table vs. Flat File a Qt 4 article in
Qt Quarterly
-
Guarded Pointers in Qt 3 and Qt 4 a Qt 3 and Qt 4 article in
Qt Quarterly
-
Automatic Dialogs a Qt 3 article in Qt Quarterly
(The ideas in this article are still applicable in Qt 4)
-
Optimizing with QPixmapCache a Qt 3 article in Qt Quarterly
(The ideas in this article are still applicable in Qt 4)
-
Mandatory Fields a Qt 3 article in Qt Quarterly
(For Qt 4, see the QAbstractItemModel's setData() and flags() methods)
-
A String List Editor a Qt 3 article in Qt Quarterly
(For Qt 4, see the QStringListModel class)
-
Laying out MDI Children a Qt 3 article in Qt Quarterly
(The ideas in this article are still applicable in Qt 4)
-
Fancy List Items a Qt 3 article in Qt Quarterly
(For Qt 4, see the QAbstractItemModel's data() method)
-
Implementing a Popup Calendar a Qt 3 article in Qt Quarterly
(For Qt 4, see the QCalendarWidget class)
-
Customizing for Completion a Qt 3 article in Qt Quarterly
(For Qt 4, see the QCompleter class)
Old Free Open Source Software
We are no longer maintaining or developing our old open source
software. The comparepdf tool has been superceded by our far superior
commercial comparepdfcmd tool, and the diffpdf
application has been superceded by the faster and superior commercial DiffPDF. See above for our current maintained
free open source software.
- Notebox —
a free GUI application for creating, editing, and finding
notes.
- Alt_Key, a GUI
application and library for calculating keyboard accelerators for menu
option texts and dialog labels.
- comparepdf, a
command line tool for comparing PDF files, either textually or by their
appearance.
- diffpdf, a GUI
application for comparing PDF files page by page, either textually or by
their appearance.
- Easy Play, a GUI application for playing
music—it is simple to use and remembers the current track in every
playlist, so it is easy to go from playlist to playlist from where you left
off.
- ViewPDF a GUI
application for viewing PDF files that clearly indicates annotations and
possible mistakes (such as spelling errors).
Your Privacy •
Copyright © 2006 Qtrac Ltd.
All Rights Reserved.
Top