kiwitobes.com

kiwitobes.com

Author, Software Developer, and Data Magnate

kiwitobes.com RSS Feed
 

The “excluded middle” of technical books

(ok, I know that “excluded middle” has a specific meaning in philosophy and I’m using it incorrectly here, but I like the way it sounds)

A couple of months ago I read a book called A Semantic Web Primer, published by the MIT Press. It was recommended to me by my coworker Jamie, who said it was about the only thing worth reading on the subject.

I will say that I’m glad I read it, because now I understand the terminology and the way that the Semantic Web community talks about knowledge and ontology. What I found intriguing about the book, however, was the nature of the content:

  • Begin with hyperbolic vision of the future where software agents are negotiating my doctor’s appointment
  • Explain a little about RDF concepts, then spend almost half the book describing the XML serialization
  • Explain a little about ontology and then do a deep-dive on OWL, which is mostly a way of describing which properties are valid for certain classes
  • This is where it gets weird — The “applications” section. Suddenly we’re talking about how Elsevier and Audi are using “The Semantic Web” to solve all manner of problems by having shared ontologies. Or maybe they’re planning to. The descriptions of what they’re doing are no more than well-padded paragraphs with no detail

It struck me that there was a massive chunk of the book missing, which was bridging the technical details of the RDF spec with how a car company might design and implement a shared ontology using the specs just described. This gap was so apparent that it got me thinking about the different kinds of computer books out there, which generally come in three flavors:

  • High level books about technology concepts, principles or “the future”
  • Learning a specific technology at a pretty deep level
  • Algorithms and computer science books that are math-heavy and at best use pseudocode

The first category tends to sell the most, because it’s accessible to the largest group. The second has been struggling for a while because the internet makes it so easy to learn and reference information about specific technologies, and the final group will probably always have a place amongst people who really want to deep-dive into the algorithms.

When I wrote Programming Collective Intelligence, I was hoping to find a middle-ground, which would introduce readers gently to the algorithms, show them working code and then try it out on real data that they could find on the web. The book was criticized by different people for not fitting into the aforementioned categories: “Not big-picture enough”, “This isn’t real production code”, “Not deep enough on algorithms”, “why did he use Python instead of pseudocode” or “Why would I want to learn 3 things at once?”.

The overall response, however, was overwhelmingly positive — most people loved that they could learn something new, actually try it, and then have an idea about how they could work it into their project. Tim O’Reilly called it the “start of a new category rather than one more entry into an existing one”.

Anyway, I guess what I’m getting at here, is that I’d like to see more books that fill out that middle ground — show me concepts, implementation and applications all at once. People can read any number of online tutorials to get a deeper understanding of how to do something with a particular technology. Once they understand the basics of algorithms, there are plenty of textbooks and journals to teach them more. As for big picture, throw out a few ideas and people’s creativity will fill in far more than can be covered by any book.

31 Responses to “The “excluded middle” of technical books”

  1. Gravatar
    1
    dave:

    I agree Toby. I thought that people who said your book wasn’t deep enough missed the point, there are plenty of other books that cover that stuff

  2. Gravatar
    2
    Alejandro Atienza Ramos:

    I completely agree. I am a comp sci student, and I have studied most of the contents of your book to quite a good level prior to buying it, yet I find it invaluable, precisely as a tool to link the bigger picture with lesser details.

    Should Tim O’Reilly decide to publish more books of that kind, or if you manage to give it the time, it would be invaluable to make remarks of them on your blog!

  3. Gravatar
    3
    Mike Amundsen:

    the “middle” you talk about is, in my experience, the most difficult material to write. not only do you need to know the target technology extremely well, you also need to know the problem domain very well. most authors of computer books today are not up to that kind of work.

  4. Gravatar
    4
    Sean Jensen-Grey:

    I have read both books, yours and the, “A Semantic Web Primer.”

    Your problem was slightly easier. Problems and solutions to those problem with various algorithms.

    With the Semantic Web, the new digital library science, the hardest part is just explaining *what* it is. There is much to learn in the domain. Given that, I think non-pseudo code examples are the best way to concretely explain an idea.

    Your book is the mental outline I use for writing documentation.

    It has the right pace, the right intensity level and plethora of examples and figures. The examples are unlike most code examples. They should actually be read. Not like 7 pages of code to flip over. But half a page of the essence of the algorithm.

    “Programming Collective Intelligence” has the best flow of any technical book I have read in years.

    Serve the underserved middle. There is no reason to have the split focus that most books have.

    This porridge is just right.

  5. Gravatar
    5
    Matt:

    Regarding: “People can read any number of online tutorials to get a deeper understanding of how to do something with a particular technology”

    You might not do too badly to point people in the right direction. Specific sites, for example.

  6. Gravatar
    6
    Dave Williams:

    The Penguin Book is a gem.

    The flecks of code within Collective Intelligence are fabulous. They serve as little tinker toys, great for learning, improving, modifying, tearing apart, hacking, and generally deriving new inspiration. They help the learning processes so much.

    And look, this is coming from a die hard OO Perl programmer! I really don’t like Python! (Well, anywhere but in Toby’s book that is ;))

    Now I am spoiled and reading CLRS style psuedo-code is more dreary than ever!

    Thanks Toby, my copy of Collective Intelligence has seen many nights on my nightstand, is filled with many little smudgy dog-ears and notes to self, and is currently circulating around my corporate office, a delight to everyone.

  7. Gravatar
    7
    Anti-Globalism:

    I couldn’t agree more. So much of what’s on the technical bookshelf is either a fluff job, or barely translated developer’s notes.

    We need better documentation all-around.

  8. Gravatar
    8
    Richard Edwards:

    The phenomenon you observed is consistent with the Law of Conservation of Documentation, which states that documentation is neither created nor destroyed, but simply changes format.

    Good article! Thanks, -red

  9. Gravatar
    9
    Mary Treseler:

    Toby,

    Nice articulation of your approach. One of the keys to your success is that you teach in the way you want to learn.

    What many authors/teachers/speakers do is break down the subject matter and the presentation of material by focusing on what works for the material not the reader/student.

    Looking forward to repeating your success with Programming the Semantic Web!

    Mary

  10. Gravatar
    10
    Ryan Cox:

    Couldn’t agree more. Thanks for PCI Toby. Here’s another book to add to this category:

    http://www.asciiarmor.com/post/47131658/excellent-new-book-in-the-making-computational

  11. Gravatar
    11
    Carlo:

    I couldn’t agree more.

    “Once they understand the basics of algorithms, there are plenty of textbooks and journals to teach them more. As for big picture, throw out a few ideas and people’s creativity will fill in far more than can be covered by any book”

  12. Gravatar
    12
    Andy Pols:

    I found the book excellent. I was easy to read, pick up and explore the algorithms. It was one of the best technical books I have read for a long time.

    Looking forward to your next one :)

  13. Gravatar
    13
    Andy Pols:

    (Sorry my last comment was about your book Programming Collective Intelligence - not A Semantic Web Primer). Sorry premature committing….

  14. Gravatar
    14
    Scribilus:

    You’ve hit the nail on the head. The advent of Google and sites like Codeproject have conditioned me to look for Matrix-style knowledge downloads that help me quickly solve the problem at hand. I see this concept of book as an evolution of that. Web tutorials let you patch over small gaps in your understanding, but there are times when you need to fill in bigger holes, but want the same grab and go convenience.

    A similar style of book that I sometimes find useful is the “Walkthrough”, e.g. Railspace - where simple-to-advanced concepts are introduced with a tangible story or example implementation.

  15. Gravatar
    15
    grahamsw:

    The dearth of decent explanations of semantic web technologies is worrying. One problem seems to be that it’s so much fun talking about flying cars and food capsules, I mean agent technologies and AI, and so easy to fill a book with samples of the horror that is RDF/XML. Working code is hard, and so is getting one’s head around the problem that RDF is the answer to (”Working Ontologist” looks much better).

    But I think “Collective Intelligence” is in a really sweet spot. Enough to let you really understand it, as long as you do the work. No royal road, and all that.

    By the way, I’m porting some of the code from there into F#, Microsoft’s new functional language, probably using RDF as the data layer in places, and maybe adding a little Silverlight visualization - in an attempt to learn as many things at once as possible, thank you very much. If it’s OK with you I’d like to post anything I come up with somewhere, Google Code seems a simple option. Let me know if you want any particular style of citation, or reference.

    And please, write “Programming the Semantic Web”, come on, it’s not like you’re busy or anything….

  16. Gravatar
    16
    forester:

    Prochital s udovolstviem

  17. Gravatar
    17
    John:

    Are you sure that “high level books about technology concepts” tend to sell the most? Most of the programmers I know will not read conceptual books. They only read books with the name of their favorite technology in the title. They’d never read a book like “How to run more effective meetings” but they’d read “More effective meetings for ASP.NET programmers using C#”.

  18. Gravatar
    18
    Colin Ross:

    I recently noticed O’Reilly have “Programming the Semantic Web, 1st Edition” coming out sometime this year - I am looking forward to this, hopefully it will do the job of filling the middle you have described.

    I have just got started looking into Semantic Web technologies - it is fascinating and quick-moving which makes it doubly challenging to keep up with everything. I have high hopes that your book will give me a solid foundation in it all.

  19. Gravatar
    19
    tm:

    Almost right after finishing your book (Programming Collective Intelligence) by lucky accident i found “Visualizing Data” by Ben Fry(http://my.safaribooksonline.com/9780596514556) - another gem that goes through the process as much as you do.

    Bound together these two books are hell of a bomb if you want somebody to go berserk about analysis and visualization of data.

  20. Gravatar
    20
    tayfun:

    I agree to the comment on #15. I have worked on Semantic Web for sometime, specifically on EU Framework Programme projects and I believe the technology needs time to get mature. The immediate need of semantic technologies is evident from information pollution but there are many important problems that need to be addressed first. On the other hand Natural Language Processing along with Data Mining is catching up on extracting information from data. I’m guessing that Semantic Web and NLP + Data Mining will be meeting somewhere close in the future.

  21. Gravatar
    21
    John Riedl:

    Toby:

    I completely agree with you about the value of this category of book: ideas mixed with detailed working examples, intentionally simplified, with good clear explanations. There are not a huge number of examples. My first exposure was to the Xinu books by Doug Comer, which were a great way to learn OS. I’m looking forward to more!

    John

  22. Gravatar
    22
    Генадий Петрович:

    Я могу проконсультировать Вас по этому вопросу. Вместе мы сможем прийти к правильному ответу.

  23. Gravatar
    23
    Audi Best:

    Yes! Audi - in the world the best car!

  24. Gravatar
    24
    Banker:

    Спасибо!
    Отличная информация!

  25. Gravatar
    25
    rdyryr:

    Edit AVCHD is a pratical and professional

    AVCHD Editing software for HD Camcorders.Easily archivable

  26. Gravatar
    26
    dyhdryh:

    Blu Ray DVD Ripperis currently the

    best software

  27. Gravatar
    27
    Car insurance claims >> http://onlinecarinsuranceclaims.com/:

    [… - blog.kiwitobes.com is another good source of tips. Online Car insurance claims [… -

  28. Gravatar
    28
    Chris:

    Just wanted to drop a line about Collective Intelligence. Great book! Loved the mixed content - concept, application, methodology, implementation. Code was easy to read and understand and concepts were descriptive enough to get the point. Framework and broad strokes were just what I was looking for.

    Thanks a bunch!

  29. Gravatar
    29
    John:

    Very interestingly. I shall come more often on your site

  30. Gravatar
    30
    Tara merino:

    Thanks. There is some useful infomation here keep up the good work. I can’t contribute a decent comment as i’m abit out of my deph but i will be checking back here for further updates. london insurance 30 St Mary Axe, london, EC3A 8EP 020 7193 4776

  31. Gravatar
    31
    izledikce:

    Very interestingly. I shall come more often on your site

Leave a Reply