If this is your first encounter with Lovecraft's work, be sure to read the last section first, it will save you a lot of wondering what the f**k is goIf this is your first encounter with Lovecraft's work, be sure to read the last section first, it will save you a lot of wondering what the f**k is going on. Once you read and understand it nothing will stop you from enjoying the work of one of the weirdest authors of the previous century....more
A collection of essays and memories of some of the people who worked in Bletchley Park on breaking German and Japanese codes during World War II. OverA collection of essays and memories of some of the people who worked in Bletchley Park on breaking German and Japanese codes during World War II. Overall it was very interesting, but it's important to keep in mind that the book is rather a collection of isolated texts written by different people rather than an overview of the whole situation. Also, most of texts seem to be intended for readers, who are already familiar with what was going on (and maybe even readers, who are already familiar with the technical details). In the end, I've found the parts about the operations more interesting than the parts about the ciphers.
If you are interested in the lives of the people of Bletchley Park, this is a book to read. If you're looking rather for an introduction to the codes using during WW2 and the ways to break them, you should probably look elsewhere....more
An interesting discussion of how people approach and use things around them and how to design these things to be more usable. The main points of the bAn interesting discussion of how people approach and use things around them and how to design these things to be more usable. The main points of the book can be summarized as: 1. Make things visible - signal to the user what the possible actions are, be explicit about the outcome of these actions, and let the user perceive the current state of the system, 2. Make the mapping between the controls and the controlled objects as explicit and natural as possible, and 3. Make it difficult to make errors by constraining the possible actions to the correct ones. The book is full of examples and stories from everyday life that show designs that are good or bad, and why they are good or bad. Even though this is not a simple topic, the writing is very clear and easy to follow.
Even though most of the concepts described in the book are timeless, especially the parts about computer systems felt outdated. The author mentions devices like mobile phones or PDA's that "are possible and coming", but the truth now is that these devices are already here. They solve lots of problems, but bring many new ones and the fact is that we need a book like this focused on computer systems and mobile devices more than ever.
In the end, this is definitely a very good and useful book, but I've seen it being mentioned as the essential literature for designers and UI/UX people in general, that I've expected something more. And perhaps, it came ahead of time, but that's one more reason for an update....more
I'm still somewhere in the first quarter and I'm not going to return to this book.
Each time, I picked it up I read an essay or two, but somehow, I canI'm still somewhere in the first quarter and I'm not going to return to this book.
Each time, I picked it up I read an essay or two, but somehow, I can't make myself read more of them. When buying, I've expected something more coherent, not a collection of short essays. But they're probably not even essays. Each "chapter" is only a few pages long, so they are very shallow and usually there's nothing to think about, no interesting arguments to support it, many of them does not try to view the problem from different perspectives. Overall, it was just boring and not worth my time....more
Unlike most other books on programming, this one focuses on fundamental and generic problems, not the easy things, toy problems or technical things.
ThUnlike most other books on programming, this one focuses on fundamental and generic problems, not the easy things, toy problems or technical things.
The book teaches through a thorough discussion of solutions of several problems coming from several domains (algorithms, data structures, probability theory, ...). Some of the things - binary search being the most obvious example - look easy, but the sad truth is that many people can't write a correct implementation, not even speaking about effectivity. There's a discussion of effective implementation of data structures with respect to things like efficiency of storage and efficiency with respect to the speed of memory access, again with many examples.
I'd consider this one of the best programming books I've ever seen....more
An explanation of the extreme programming methodology. The main thesis of the book is that it does not make sense to try and predict things that can'tAn explanation of the extreme programming methodology. The main thesis of the book is that it does not make sense to try and predict things that can't be predicted. Instead, Kent Beck proposes a methodology that embraces changes instead of fighting them or trying to predict everything into detail. The main points of the methodology are: - pair programming - all code is written in pairs (on a single computer); this leads to a higher quality of code being written, as the person who is not writing has actually time to think about what's going on; also, the pair should change often so that people can learn from each other and everyone has at least basic familiarity with each part of the code, - flexible planning - always do what is most important at the time, pick your goals every day; the customer should be on the team to help guide the decisions, - design for change - do not treat any part of the project (including the specification) as fixed, always be ready to change them when necessary, - code (and tests) are the documentation - or at least the only documentation that is up to date; write them in such way that they can be easily used as such, - unit testing - automated testing of everything is essential for delivering working code (and also serves as a documentation of the code)
While you don't have to agree with this approach as a whole or with some parts of it or it might not work in your environment for some reason. But you should read the book anyway if only to broaden your views and perhaps find inspiration to try new things....more