Solving Mathematical Problems: A personal perspective. 2nd Edition, Terence Tao. Oxford University Press

The Journey of a thousand miles begins with one step” – Lao Tzu

Every so often, you come across a book that really stands out. I have recently been very fortunate to come across several such books, this being one of them. “Solving mathematical problems” was written by Terence Tao when he was a 15 year old student and has now been slightly revised in this second edition. Like another of the reviewers at Amazon, I also came across this book after reading an article about Terence Tao winning the Fields medal (a bit like the Nobel prize for mathematics).

Not only does it give a wonderful insight into the mind of a young Terence Tao, but also into the techniques used to elegantly solve some reasonably difficult problems, such as those posed as questions for the Maths Olympiad contests. [Terence competed in these challenges in his teens, winning bronze, silver and then gold.]

Mathematical researchers are not always great educators. Thankfully, Prof. Tao is.
Mainly assuming only basic high-school pure mathematics, worked solutions to the problems are clearly and expertly described. Not only does he solve the problems but he also examines the steps, false starts and other solution possibilities that are part of the general approach to problem solving.

I was only slightly disappointed that there were a handful of corrections in this second edition (available at Prof Tao’s blog here); one or two could perplex an unwary reader who might expect the work to be flawless.

If you have an interest in mathematics, either as a high school student or a hobbyist, I would highly recommended reading this book.

In the preface, Prof Tao remarks that if he wrote a book on the subject of competition problem-solving now, it would very different; now that is definitely a book I would like to read!

Building Technical User Communities. Dr Greg Low. Rational Press

Greg Low has been involved with technical user communities for some time. He is well known in Australian developer circles (and further afield) and is a frequent speaker at conferences as well as a Microsoft regional director. I’m currently helping to run the Perth .NET user group, so I was glad to receive a review copy of this book from Greg, curious to see if there was something we could be doing, but currently were not.

The writing style is conversational, easy to read and interspersed with recounted stories. The book is divided into the following chapters:

  1. People, Not Technology
  2. Something for Everyone
  3. Finding Speakers
  4. Tried and True
  5. Pizza Does Not Define a User Group
  6. Don’t Reinvent the Wheel
  7. Recruiting Members
  8. Content and Handouts
  9. Using Technology
  10. Recruiting Volunteers
  11. Conducting Meetings
  12. Tips for Presenters
  13. The Fine Print
  14. Funding

The book makes it clear from Chapter 1 that “Communities, whether technical or not, are about people” and the reasons why people are motivated to get involved with a user group are examined.

In Chapter 2, “Something for Everyone”, Greg describes his strategies for making meetings have relevance to all attendees:

  • Avoid Single Topic Meetings
  • Avoid Increasing Depth
  • Some Repetition is OK

This advice might seem to fly in the face of how many user groups are organised but his explanations make good sense. I think this chapter could be summed up by the following quotes, which in other settings might seem cliché or hackneyed: “Participation is very important” and “Everyone wants to feel valued”.

I think Greg did a good job of keeping the book short and easy going; I read it in 2 sessions over 3 nights. Not all of the advice will fit every user group, but I would be surprised if a single user group did not found something of interest that they can put to use. There are many valuable ideas that can be quickly put into practice. It was pleasing to find out that our group seems to be following much of the advice given in this book.

The only negative thing I found that was that there were a few short paragraphs that were repeated, but maybe that was just to drill in the message!

If you are thinking of starting a technical community or even already involved in one, this book is certainly worth reading.

[BTW Greg, the tale of the Avocado mouse pads made me smile!]

Head First SQL – A Learner’s Guide, by Lynn Beighley. O’Reilly

I would like to begin with an admission: I have been a huge fan of the Head First Series of books since I read the “Design Patterns’” book and I enthusiastically recommended them whenever somebody asks me about a topic covered by the series. The Head First books are pretty much unique in their presentation style, so don’t be put off at first glance!

Head First SQL is specifically aimed at people who currently know little or nothing about SQL (Structured Query Language), database theory and schema design. It makes no assumptions about the reader having any experience of databases under the hood; it is very much a beginner’s first book. If you already write SQL as part of your job then I’d be surprised (and possibly worried!) if you will learn anything new.

All the SQL topics discussed are database vendor agnostic and therefore transferable between different database systems. It covers all the standard things you would expect to find: selects, inserts, updates, deletes, joins, where-filters, grouping, ordering etc.

From a personal perspective, I would have dearly liked the book to start at Chapter 11, “The Top Ten Topics (we didn’t cover)”. One topic that is given just 3 short paragraphs is ‘Indexing’. Given that this is a beginners book (and not database specific) you might think that the topic should be left for more advanced books, and I agree to an extent. Admittedly, indexing is an implementation detail and does not have anything to do with a domain model, but it is so often overlooked or misunderstood by developers. I think at least a high level knowledge of indexes and retrieval mechanisms would be beneficial.

If you are already an enterprise developer this book will not contain anything you do not already know, but I would definitely recommend this book to someone who is just starting to learn SQL coding. I am hoping that O’Reilly follow this up with an advanced guide to SQL.

Disclosure: The Perth .NET User Group is a member of the O’Reilly User Group and Professional Association Program. O’Reilly make copies of their books available for user group libraries, and the copy reviewed here was kindly donated by O’Reilly.

ACM Classic Books Series

The ACM have several classic computer books available as downloadable PDF’s here. You will need to create a free web account if you are not already an ACM member.

Another Excellent User Group Meeting

We had another full Perth .NET user group presentation with speaker Nick Randolph last Thursday (Oct 4th) . Turnout was excellent, with 46 people (including a few latecomers), turning up to listen to Nick talk about the upcoming release of Visual Studio 2008. Here are a couple of photos:



Many thanks to Nick Randolph for delivering a great, demo packed session. Our next meeting is on Thursday, November 1st at the usual time of 5:30pm, with a session on WCF with Brian Madsen. I’ll have a few t-shirts and assorted goodies from RedGate to give out.

Thanks again to Excom for providing our monthly meeting venue.