| Books by Matthias Kalle Dalheimer: |
|
| Books Co-Authored by Matthias Kalle Dalheimer: |
|
Want to see more?
View favorite books from other authors.
|
|
|
Are you looking to learn more Open Source programming and development? This is a great place to start! Learn to ride Linux across any platform. |
 |
Matthias Kalle Dalheimer
Matthias Kalle Dalheimer is the President & CEO of Klarälvdalens Datakonsult AB, a Sweden-based consultancy specializing in platform-independent software solutions. He is also a founding member of the KDE project and the current president of the KDE foundation. Kalle has written numerous books for O'Reilly, both in English and in his native German, including Running Linux (together with Matt Welsh and Lar Kaufman) and Programming with Qt. In his spare time, he enjoys cross-country skiing and reading history books. Kalle lives with his wife Tanja and his two sons Jan and Tim in the middle of the forest near Hagfors in the Swedish province of Värmland.
|
Matthias's favorite books: |
Design Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
ISBN 0201633612
Addison-Wesley
October 1994
Everybody is going to list this book in their list, and for a reason. It would be hard to find another book that has given software developers worldwide a common language to speak about what they do. The idea of finding patterns in our work, refining and repeating them to make a more predictable craft out of wizardry is not new, but the thorough cataloging that the GoF has done has made it possible to speak about these things with people other than immediate colleagues.
GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers by Jeff Johnson
ISBN 0123706432
Morgan Kaufmann
March 2000
(The author's original choice was an older edition that is now out of print. This link is to the current edition)
User interface design and usability are important; the countless applications with horrible user interfaces are a daily proof of this fact. Still, the books that have been available before this one have either been quite academic, not giving the practitioner useful advice, or they have been too focused on one platform, like MS-Windows or the Macintosh. This book has made learning and reading about usability (and applying what you have learned) fun, and that's a great service to everybody using computers, not just software developers.
Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, et al.
ISBN 0201485672
Addison-Wesley
June 1999
Like Design Patterns, the concepts presented in this book are not necessarily new, but again it's the packaging and the thorough almost-completeness that make this book a landmark. We have all rewritten software that wasn't designed in the most optimal way, but now we have terms for explaining what we are doing. New in Fowler's book is the concept of "software that smells": If it smells, fix it, just like you would with your baby child.
Advanced Programming in the UNIX Environment
by W. Richards Stevens, Stephen A. Rago
ISBN 0201433079
Addison-Wesley
June 2005
The late W. Richard Stevens gave the computing world a number of indispensable books, and this is the one I use most. Meticulous detail, comprehensive listings; anybody who is doing systems programming on Unix systems needs this book.
Programming Perl
by Larry Wall, Tom Christiansen, Jon Orwant
ISBN 0596000278
O'Reilly Media
July 2000 The Camel book. This book is maybe not so influential because of its content (even though there is nothing to criticize about that, it is well-written, detailed, fun to read and very comprehensive), but rather because of how it paved the way to success for the programming language Perl. Of course, as the main author of Perl, Larry was in the optimal position to write this book, but it was O'Reilly's marketing campaign in connection with this book that has made Perl really big.
Large-Scale C++ Software Design
by John Lakos
ISBN 0201633620
Addison-Wesley
July 1996
While many books about programming and designing software stop with a number of collaborating classes and become quite cloudy when it comes to actual construction and deployment, this book goes further. It describes (to my knowledge as the only one of its kind) how to build the really big systems without going mad. Which other book about C++ development speaks about minimizing compile times? Sure, if all you have is twenty classes, you don't worry about compile times. But if you have hundreds of classes with millions of lines of code, it does matter whether a complete rebuild takes ten or twenty hours, and whether you can easily find a certain fill in your directory tree.
Advanced Corba Programming with C++ by Michi Henning and Steve Vinoski
ISBN 0201379279
Addison-Wesley
February 1999
This is one of the books I would have loved to have written myself. CORBA programming is hard, the APIs are arcane and a quite typical example of "design by committee." And of course cross-platform, cross-hardware, scalable client/server development is hard by itself as soon as you leave the toy examples. Whereas most other books about CORBA avoid details (presumably because the authors haven't really understood them either), this book goes down into the dirt and explains even the darkest corners of the CORBA standard.
Godel, Escher, Bach: An Eternal Golden Braid by Douglas R. Hofstadter
ISBN 0465026567
Basic Books
January 1999
I don't have the book in my office. This is not really a book about computing in itself, but it is an amazing description about how computers (sometimes) work and about how programmers and their deformed little brains work. The general subject in this book is recursion — recursion in arts, in math, in music, and in many other areas where you wouldn't have expected it. The subject is difficult, but Hofstadter does a terrific job at explaining this in a way that is not only understandable, but that actually makes you want to continue reading chapter after chapter. A page-turner in the true sense of the meaning, and something as rare as a page-turner about science. If you have liked this book, you will want to read Hofstadter's Metamagicum as well.
Running Linux
by Matthias Kalle Dalheimer, Matt Welsh
ISBN 0596007604
O'Reilly Media
December 2005
(The author's original choice was an older edition that is now out of print. This link is to the current edition)
I am blushing with shame to list a book here that I have helped to write myself, but the seeds that have made this book one of the most influential computer books were laid in the first two editions in which I wasn't involved, so I hope I can get away with this.
Linux is ever more popular, and there is a shortage of books about Linux, yet there are very few books that speak to "the Linux crowd" in the way the Linux crowd likes to be spoken to. Many of the Linux books are of the "press here to achieve X" type, written by authors who saw their Windows sales figures declining. But the typical Linux user is not like the typical Windows user; the typical Linux user not only wants to get his job done, but also to understand what he is doing while getting the job done. And that's what Running Linux explains. It doesn't describe in meticulous detail how to open the composer window and type in an email message (even though if that's the information you are lacking, you should find enough of that here as well), but explains how your email software plays together with the email server and many other pieces to actually get your email sent so that you are not completely helpless the day your email does not get sent.
Matt and Lar have done a tremendous job in creating this book, and I hope to be worthy and able enough to continue that tradition.
TCP/IP Illustrated
by W. Richard Stevens
ISBN 0201776316
Addison-Wesley
November 2001
Another landmark book by W. Richard Stevens that dissects in incredible detail how popular Internet protocols work. Stevens doesn't stop with "the server sends down a response;" he dissects that response down to the last bit. Anybody who ever needed to understand or even reverse-engineer a protocol, no matter whether for a wide-area network or what goes over the wire between your computer and your external hard disk, will want to read these books.
|
|