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.
August 16th, 2008 at 6:26 pm
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
August 16th, 2008 at 7:25 pm
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!
August 16th, 2008 at 8:14 pm
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.
August 16th, 2008 at 9:34 pm
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.
August 16th, 2008 at 11:38 pm
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.
August 17th, 2008 at 4:32 am
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.
August 17th, 2008 at 10:28 am
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.
August 17th, 2008 at 4:03 pm
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
August 20th, 2008 at 7:36 am
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
August 23rd, 2008 at 7:42 pm
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
August 26th, 2008 at 9:38 am
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”
September 2nd, 2008 at 7:28 am
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
September 2nd, 2008 at 7:32 am
(Sorry my last comment was about your book Programming Collective Intelligence - not A Semantic Web Primer). Sorry premature committing….
September 6th, 2008 at 5:56 pm
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.
September 24th, 2008 at 12:45 pm
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….
October 20th, 2008 at 9:28 pm
A interesting observation about the “excluded middle” in a part of Semantic Web books. I doubt there are many books on the topic which go into a deep practical exploration with simple and working code examples similar to what your book does. One possible explanation is that people who hack on Semantic Web projects prefer coding to writing books.
However, the Semantic Web is getting more mainstream and there is a wealth of books available. Hopefully some are closer to a practical, hands-on approach. Here are some pointers:
Semantic Web FAQ: Resources for learning
* Semantic Web books
* Semantic Web tutorials
Would be interesting to learn more about what you are doing with RDF and other SemWeb technologies.
* “Programming Collective Intelligence” is on my “must read” list and the only thing keeping me from getting the book right now is that it will probably stop me from doing anything else until I finish reading it.
December 6th, 2008 at 10:42 am
Prochital s udovolstviem
December 18th, 2008 at 1:23 pm
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#”.
February 9th, 2009 at 12:26 pm
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.
February 26th, 2009 at 9:29 am
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.
May 22nd, 2009 at 11:55 pm
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.
June 12th, 2009 at 5:28 pm
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
July 13th, 2009 at 6:14 am
Я могу проконсультировать Вас по этому вопросу. Вместе мы сможем прийти к правильному ответу.
July 13th, 2009 at 9:30 am
Yes! Audi - in the world the best car!
September 9th, 2009 at 8:10 am
Спасибо!
Отличная информация!
September 17th, 2009 at 4:26 am
Edit AVCHD is a pratical and professional
AVCHD Editing software for HD Camcorders.Easily archivable
September 17th, 2009 at 4:26 am
Blu Ray DVD Ripperis currently the
best software
November 23rd, 2009 at 5:33 pm
[… - blog.kiwitobes.com is another good source of tips. Online Car insurance claims [… -
December 2nd, 2009 at 11:42 am
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!
December 10th, 2009 at 12:26 pm
Very interestingly. I shall come more often on your site
February 1st, 2010 at 1:37 am
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
February 4th, 2010 at 11:54 pm
Very interestingly. I shall come more often on your site
February 23rd, 2010 at 12:32 am
Very interestingly. I shall come more often on your site
March 8th, 2010 at 1:43 pm
thanks admin.
March 28th, 2010 at 3:07 pm
Learned a few new things. Looking forward to an update soon.
April 18th, 2010 at 5:47 pm
thanks admin ood:)
April 18th, 2010 at 5:48 pm
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 b
April 18th, 2010 at 5:48 pm
Very interestingly. I shall come more often on your
April 18th, 2010 at 5:49 pm
wanted to drop a line about Collective Intelligence. Great book! Loved the mixed content - concept, application, methodology, implementation. Code w
April 20th, 2010 at 4:39 pm
Just happened by your blog and really delighted that I did. I will bookmark and be back soon, keep up the good work!
April 20th, 2010 at 10:59 pm
Very good site. Thanks!,
April 20th, 2010 at 11:17 pm
great site lplease compose much more usually
April 20th, 2010 at 11:39 pm
Hi, there. It is a very extraordinary blog and some good tips inside your send. I’ll be again. Thank you to the excellent articles. From the way, why not listing your webpage in our E-Commerce directory and obtain a in turn link from us?
April 21st, 2010 at 12:14 am
Hi,
I’ve been doing a lot of research online lately regarding online promotion and Search Engine Optimization since I just started an Thailand Shop with a couple of buddies.
The layout of your WordPress blog is sweet and I’d really like to exchange links with you. Have a look at our site if you want, we put a lot of work and effort into it and are dedicated to improve it constantly.
We receive a lot of hits already (contact me for visitor stats) and I think both our sites can benefit from one another. Anyway, just thought I’d share this with you - keep up the good work buddy and contact me if interested!
April 21st, 2010 at 12:15 am
Good content articles & Decent a site….
April 21st, 2010 at 12:43 am
I used to be just surfing the net and I came throughout this page. I actually liked the knowledge, keep up the very good perform.
April 21st, 2010 at 1:13 am
Wonderful post! GA is also my biggest earning. However, it is not only a very much.
April 21st, 2010 at 1:46 am
Good content articles & Nice a site….
April 21st, 2010 at 2:28 am
Nice website. Thank you.,
April 21st, 2010 at 2:49 am
Non-renewals follow two scenarios: The first involves homes in danger zones, such as flood plains or storm paths. Homeowners may lose their coverage whether they have made claims or not.
April 21st, 2010 at 3:08 am
Decent website. Wonderful on the web affiliate plan. Thank you.
April 21st, 2010 at 9:21 pm
Hello there, i now have taken a time looking at your blog and simply thought i would like be courtesy enough to pass comment. i have definitely relished all your posts and i have high hopes you will continue to keep upgrading it for myself as well as other folks which appreciate browsing it.
April 22nd, 2010 at 9:19 am
I am writing to let people know that I tried numerous diet software programs online and the one Ilinked to is not a simple as the author claims. Also after lurking around, I found another diet software package FREE called sparkpeople.com. it’s really incredible.
April 22nd, 2010 at 10:14 am
Thanks for this blog. I like what I read. I wish more such blogs had been like this. Thank you.
April 22nd, 2010 at 2:16 pm
This was a very good post, I found it to not only be very helpful infomation but also touched on what I was researching in good detail. Keep up the work!
April 22nd, 2010 at 7:32 pm
nice site I like and I sure to visit, well done :-]
April 23rd, 2010 at 3:19 am
Beginning last Saturday, I have been on a real HUNT for sugar. We had my dd & SO’s birthday party on Sat, grilled out, ate too many servings of meat of course, then cake and ice cream and chips and popsicles and soda. Sunday could NOT stop looking and looking and looking.
April 23rd, 2010 at 11:54 am
Very good post. Hope to see even more great posts in the near future.
April 23rd, 2010 at 1:12 pm
Wonderful web page, I just came across it and I am already a fan. I just lost thirty pounds in thirty days, and I want to share my weight loss success with as many people as possible. If I can lose weight then any one can. Whatever you do, never give up and you WILL reach every one of your weight loss ambitions!
April 24th, 2010 at 2:04 pm
Greetings. I just wanted to let you know that I been visiting your blog for last couple of days now and I wanted to say I’m starting to favor your postings. Anyhow please keep up the good work. thank’s for the top information provided here. really like it!
April 24th, 2010 at 7:43 pm
норма ток мало))
April 25th, 2010 at 12:22 am
Consider an action or belief, what makes it right or wrong? Can an action be judged to be inherently good based on the results produced by the action?
May 2nd, 2010 at 1:38 am
Can you really get a free iPad? I just saw this on Twitter: Get your FREE iPad before they’re all gone! Enter your zip @ http://x.vu/27632
May 6th, 2010 at 10:10 pm
Hello, I’m about to quote your content and post a link back to this article on my site please let me know if thats cool?
May 11th, 2010 at 3:56 am
Greetings. I just wanted to let you know that I been visiting your blog for last couple of days now and I wanted to say I’m starting to favor your postings. Anyhow please keep up the good work. thank’s for the top information provided here. really like it!
June 23rd, 2010 at 4:56 pm
Thanks for giving me a great read. You have put together some very functional info on your site. I can tell you are as passionate on the matter as I am. Trust you can keep it updated alsoI discovered your internet site yesterday and I am very happy that I did. I wish I could form my site as absorbing as yours. I seem to struggle to collect all the info and then lay it out in such a nice way as you have done. How much time do you take each day to keep it maintained. I am considering trying to discover more about World Wide Web design soon. Thanks for a tremendous site and tremendous content.
June 28th, 2010 at 11:43 am
Hello, I’m about to quote your content and post a link back to this article on my site please let me know if thats cool?
June 28th, 2010 at 12:10 pm
Greetings. I just wanted to let you know that I been visiting your blog for last couple of days now and I wanted to say I’m starting to favor your postings. Anyhow please keep up the good work. thank’s for the top information provided here. really like it
June 28th, 2010 at 12:12 pm
Very good post. Hope to see even more great posts in the near future.
June 29th, 2010 at 10:34 am
I thought that people who said your book
July 1st, 2010 at 4:56 am
Hope to see even more great posts in the near future.
July 3rd, 2010 at 12:22 pm
Greetings. I just wanted to let you know that I been visiting your blog for last couple of days now and I wanted to say I’m starting to favor your postings. Anyhow please keep up the good work. thank’s for the top information provided here. really like it
July 9th, 2010 at 2:51 pm
Online promotion is heavily done by internet marketers out there promoting goods and services.`~~
July 11th, 2010 at 6:02 am
Hope to see even more great posts in the near future
July 20th, 2010 at 4:37 am
role of states, and makes it possible to indict as warmongers whoever raises such questions. Osama’s de facto irrelevance for seven years, however, has undermined that policy’s intellectual legitimacy. How much longer
July 20th, 2010 at 4:38 am
I get a zillion dragonflys in my back yard - they seem to like the pool. I wonder what the difference is between your place and mine (it’s only 15m apart)
July 27th, 2010 at 3:06 am
online promotion is a great way to introduce new products on the market.:’`
August 9th, 2010 at 2:41 pm
I get lone the yout
August 9th, 2010 at 2:41 pm
illegal thank you online the
August 19th, 2010 at 9:56 pm
good information
August 23rd, 2010 at 6:40 am
thanks admin ood
August 23rd, 2010 at 6:40 am
thanks very nice
August 23rd, 2010 at 6:42 am
good information
August 23rd, 2010 at 6:42 am
good admin
August 25th, 2010 at 11:23 am
saol canım adminim
August 25th, 2010 at 11:24 am
a.q bunuda kabul et bakalım admin
August 25th, 2010 at 11:29 am
yavrum bu yorumuda yayınla artık 4 oldu deniyorum bak sinir etme adamı