Solved Book recommendation on FreeBSD/UNIX and related topics in the mathematics and computer

His contributions to open source are meager, except for the famous position paper with the cathedral and the bazaar
Do you have any thoughts on his book 'The Art of Unix Programming'. Just curious as I have a copy but have not read it yet. It seems to have quite good reviews on Amazon.
 
Do you have any thoughts on his book 'The Art of Unix Programming'. Just curious as I have a copy but have not read it yet. It seems to have quite good reviews on Amazon.
No clue. Until you mentioned it, I didn't even know it existed. The topic descriptions and reviews on Amazon look interesting. I'm going to order a copy and read it.

It goes along with one of my convictions (based on decades of observation), which is: the single biggest factor influencing how software is produced (and therefore the characteristics of the artifact, which then determines usability, potential for being grown, and maintainability) is organizational sociology. That's a terribly long sentence, which simply means: the way software engineers interact determines how good their software will be, and what its future holds. future of the software will be. So as an example: Take a group engineers (good or bad), give them no management, unclear guidance, and a culture in which they don't work together. Even if they have the best books and training, and fabulous programming tools (modern languages like Rust and Ruby and design tools and great coding rules), the result will be crap, late, and unmaintainable. Take the same engineers, make sure they understand what problem they are trying to solve, create an environment where they can interact and work together, and management that creates schedules, resources, and communication to outside stakeholders, and the result will be fabulous. Even if all the have is a COBOL compiler, a file cabinet for source control, and the only coding rule is "use a felt-tip pen for commenting in long hand on the cards".

This is to say: all the talk about better languages, tools, methodologies, workflows (waterfall versus agile) actually matters little. What matters is corporate culture. If the culture is to foster engineering excellence, the product will be excellent. If the culture is to be cheap and meet the schedule, the result will be quick crap.

Speaking of that, there is another book about how to program, by the people who actually DID the programming that ESR talks about: "The practice of programming", by Brian Kernighan and Rob Pike. I have it at home (hopefully not in a box in the basement, but on a bookshelf). Read it once about 15 or 20 years ago, and found the advice to be so good that it is self-evident. I think it will be interesting to read it back-to-back with "The Art of Unix Programming".
 
Do you have any thoughts on his book 'The Art of Unix Programming'. Just curious as I have a copy but have not read it yet. It seems to have quite good reviews on Amazon.
A rule of thumb: the art of this, the art of that. Ignore them, especially that title. Tzu's and Knuth's are exception.
 
On the other hand, if the title starts with "The joy of ...", definitely read it. The joy of cooking is an excellent book.
 
A rule of thumb: the art of this, the art of that. Ignore them, especially that title.
It's not clear from your sentence whether you're advocating to ignore that specific book because of the name of the book or because you've read it and didn't think much of it. If you've read the book, can you explain what you think makes it worth avoiding please? Thanks
 
"The practice of programming", by Brian Kernighan and Rob Pike. I have it at home (hopefully not in a box in the basement, but on a bookshelf). Read it once about 15 or 20 years ago, and found the advice to be so good that it is self-evident.
Thanks for reminding me of that book. I also have a copy. And I also read it about 15-20 years ago. However, mine is now in the loft. And probably overdue for another read.
 
On the other hand, if the title starts with "The joy of ...", definitely read it. The joy of cooking is an excellent book.
I have to say that 'The Joy of Cooking' wasn't the first book that starts with the words 'The Joy of ...' that immediately sprang to mind ;)
 
I was lucky enough to get a free copy of the “Dragon Book” recently (Compilers: Principles, Techniques and Tools). I was thrilled because second hand copies are changing hands on Amazon for up to £200. I’ve only read one chapter but it seems really interesting if a little elementary.
One of my favourite computer books is “Beginning Linux Programming” by Neil Matthew and Rick Stones (Wrox). It’s great as both a tutorial and a reference, and the authors are careful to point out where Linux deviates from other Unix-like operating systems.
 
Here are 20 or so that I would recommend.

Unix/FreeBSD
"Advance Programming in the UNIX Environment" (any of the 3 editions) is a must. W Richard Stevens was one of the very best technical authors in my opinion. His 1st 2 TCP/IP books are also essential reading.

"The Design and Implementation of the FreeBSD Operating System" would seem an obvious choice.

Programming
"The C Programming Language", K&R ; "C: A Reference Manual", Harbison & Steele
"The C++ Programming Language", 4e Bjarne Stroustrup ; "Effective Modern C++", Scott Meyers.
C++ is now very large and evolving quickly, but those 2 books will get you quite far.

Mathematics
"The Art of Computer Programming", 4 volumes, Donald Knuth. Probably more algorithms than you will ever need.
"Numerical Recipes", Press et al

Miscellaneous
"Hacker's Delight", Henry S. Warren
"Mastering Regular Expressions", Jeffrey E. Friedl
"Computer Graphics", Foley and Van Damm
"Programming Pearls", Jon Bentley
"Inside the C++ Object Model", Stan Lippman (perhaps a bit dated but has no replacement)
"Software Test Automation", Fewster and Graham
"Linkers and Loaders", John R. Levine
"Balancing Agility and Discipline", Boehnm and Turner
"Design Patterns", Gamma et al
"Dtrace", Brendan Gregg
"The Mythical Man Month", Fred Brooks
ISO/IEC 14882
ISO/IEC 9899

Then there are lots of 'softer' books like "The Pragmatic Programmer", stuff by Robert L. Glass, DeMarco and Lister, Ed Yourdon. I'd recommend at least one book on quality control (Demming, Juran).

After that, there are endless books that are more specialized.
 
The two most important books on software engineering are: Peopleware (DeMarco and Lister), and the mythical man-month (Brooks). Because they explain that engineering is a discipline that is executed by humans, and what matters is making humans productive.

I've always had a problem with the Numerical Recipes books. They are very good, and they explain a lot of algorithms very well. Except that their explanation ignore a lot of highly important technical details, such as order of operations to preserve accuracy, and handling unusual situations (errors are one example). And their sample code is completely not production worthy. People who type in the code from the book and use it are in for a rude surprise in the real world. So read the book to understand a technique, and then put a lot of effort into coding it up so it is stable and reliable.
 
Numerical Recipes. 3e (which is only C++) improved the code somewhat, e.g., not using 1-based FORTRAN-like ranges. But it is still fairly poor, especially for the error handling. Furthermore, the source code has a quite severe licensing, which requires you to pay if you want to use it in anything that you distribute. So yes, use the code as a guideline, but use other libraries and decent error checking in production. There's a somewhat amusing bit somewhere at the beginning of the book that says something like "all you programmer types mock our code, but then we laugh at the garbage numerical code that we see in programming books".

The book is already fairly huge, and I think that it is beyond its scope to cover accuracy. If you want to know more about that then have a read of "Accuracy and Stability of Numerical Algorithms", Nicholas J. Higham and perhaps Wilkinson as well (which I haven't read).

The only other comparable books that I know of on Numerical Analysis are the 2 volumes by Dahlquist and Bjorck (again I haven't read either - I'm not too sure what happened, vol 1 seems to be in print from SIAM, but not vol2, and both are easy to find as PDFs in the web - perhaps there was some falling out between the authors and SIAM?). Otherwise Amazon seems to recommend Burden.
 
Hi

I'm just getting warm using FreeBSD. Been using 12.1 for five months (or so). I need a good book for getting a little bit more under the hood in general. I'm thinking of buying Absolute FreeBSD 3rd edition by Michael W Lucas. Has anyone read it? Can someone give me a short review? Do you have other recommendations?

thanks
/Jens
 
I'm thinking of buying Absolute FreeBSD 3rd edition by Michael W Lucas
No!
Read these books and articles in following order:

1. For People New to Both FreeBSD and UNIX®
2. FreeBSD Quickstart Guide for Linux® Users
3. Explaining BSD
4. How to get Best Results from the FreeBSD-questions Mailing List
5. Frequently Asked Questions About The FreeBSD Mailing Lists
6. FreeBSD Handbook (The most important one!)

* You can (maybe you should!) read the FreeBSD Handbook first, but first five items are very helpful in the study process.
* The Item 2 is for users with Linux background. It's not necessary, but who cares!
* The Item 3 is more about the licence. You may ignore that one.
* Item 4 and 5 are about "how to ask questions in the FreeBSD mailing list". You can also postpone reading them. But personally I think it's better read them.

All of them are available online on FreeBSD website. You can also download them in different file formats and languages (pdf, epub, txt, html) from:
Books and Articles Download


Another point: before posting to FreeBSD Forums, please read the following threads and documentations cover to cover:

Forums General Rules:

I..
FreeBSD Forums Rules
II. Select the right forum for new threads

Rules about Topics:

III.
Topics about unsupported FreeBSD versions
IV. PC-BSD, FreeNAS, XigmaNAS, and all other FreeBSD Derivatives
V.. Why is FreeBSD not (more) like ....
VI. Do not post METIN / METIN2 topics on these forums!

Formatting and Tags:

VII..
Formatting Guidelines
VIII. The value of format tags
IX... Formatting: The Short Form
X.... BB codes reference
 
No! Read this list in order:

1. For People New to Both FreeBSD and UNIX®
2. FreeBSD Quickstart Guide for Linux® Users
3. Explaining BSD
4. How to get Best Results from the FreeBSD-questions Mailing List
5. Frequently Asked Questions About The FreeBSD Mailing Lists
6. FreeBSD Handbook (The most important one!)

* You can (maybe should) read the FreeBSD Handbook first, but first five items are very helpful in the process.
* Item 2 is for users with Linux background. It's not necessary, but who cares!
* Item 3 is more about the licence. You may ignore that one.
* Item 4 and 5 is about asking question in the mailing list. You can also postpone them to the later time. But personally I don't think so.

All of them are available online. Also you can download them (beside other books and article) in different file formats and languages (pdf, epub, txt, html) from: Books and Articles Download
Thanks for a quick answer. I have read most of the handbook, and will start reading your recommendations right away.

Thanks!
 
  • Thanks
Reactions: a6h
Back
Top