I spent a reasonable amount of time on Jewels of Stringology and I feel ready to share with you what do I think about the book, I’m also ready to share with you how do I like endomondo since I’ve bee using it in the past two weeks, but let’s start with Jewels!
I like it, but it isn’t like all the other books!
I think this last sentence summarize very well my feelings about Jewels, the exposition of the algorithms and data structure is very detailed, with proofs of theorems and precise analysis of algorithms complexity, frequently considering various possible implementation.
The book does not come with any real-language implementation of the algorithms but a kind of pseudo-code which not necessarily can be translated quickly to C++ (in my case), but still very readable.
It’s not an easy reading! If I was happy to complete pretty quickly the string algorithm section of CLRS –that wasn’t that hard after all-, following Jewels require much more concentration and commitment, if you just need a introduction to the key algorithm when go with CLRS, but if you want to full dive in this complex topic then absolutely buy this book!
The language used is hard, I’n my personal feeling I think that Crochemore and Rytter are the exact opposite of Sedgewick, the latter is just a river of words when describing everything, takes pages and pages of talking to define a concept or introduce an algorithm, C. and R. in the other hand provide you with few lines of introduction and then a sequence of theorems,lemmas and corollaries!. (Curiously enough, Algorithms in C by Sedgewick doesn’t have any text algorithm section..)
But again, Jewels is not a book suitable for who needs just an introduction, is clearly suited for advanced readers. Said that, I think reading the whole thing is going to take a lot of my free time.
I like the bibliographic notes at the end of each chapter, in case of trouble there are information on where to find articles about the topic followed, very nice. The book doesn’t have any exercise section, so if one want to check whether he/she understood correctly the material then he/she must write by itself some sample code.
If for some reason you want a transcription in C++ of the algorithms in the book then you may clone my repo on github, where I’ll store the code (my code) from the book, if you did find some bugs just let me know.
My other review today is about Endomondo! In the past years I always used SportTracker to track my activities, It’s kind of cool, reliable and have a nice interface, but. Endomondo in better! I like more the ergonomics of the interface,it fit better my taste, everything is easy to access and few clicks are needed to start a training.
I think the social functionalities are way better than in SportTracker, you may not only share or comment training’s but also pair your account with other accounts when for example running with someone else.
What I do not like is that even basic graphical information about speed, altitude &c are available only with the premium version, whereas with SportTracker they are free.
Another very nice Endomondo feature is the support for almost every possible sport tracking device, in my case it pairs very well with Garmin, I don’t have any Garmin product now but sooner or later I will buy that Fenix 3!
Thanks for reading!