September 20, 2016 Book Reviews No comments
September 20, 2016 Book Reviews No comments
I read this book because of the recommendation I found online. It was in one of the Bill Gate’s reading lists. Maybe this post will have same effect on you… and you will decide to pick it for your reading.
“They say there are no stupid questions,” the author writes. “That’s obviously wrong. . . . But it turns out that trying to thoroughly answer a stupid question can take you to some pretty interesting places.”
Indeed, I remember we had a lot of hypothetical scientific discussions with my friends during my university days and these discussion would just go on and on ending sometime around 2AM. It was a lot of fun diving deep and exploring every possible twist. You get to have same fun when you read the book.
Well… it is actually more fun to read the book, since it is very nicely illustrated and thoroughly researched. Basically you don’t get to read rant – everything is cross checked with scientists by Munroe.
I guess this book also teaches to approach problems that require scaling, approximation, simplification, calculation, estimation. It also helps to understand physics better. And if you have some silly question that keeps you awake at nights you can always submit it on the xkcd web site.
This book is pure entertainment and joy. I can surely recommend this book to anyone generally interested in science.
April 26, 2016 Book Reviews No comments
The book “Coders At Work” is a collection of interviews of famous coders. The book takes a reader through 15 career stories. It inspires and gives insight into minds of great programmers.
Most of the selected coders are of older generations, so at times, it is hard or, rather, not exceptionally interesting to follow some of their career endeavours. Especially, if the whole career was around one system or one language that is “dead” today (think of COBOL, Fortran, PDP-1, etc). I don’t mind to know the history of the industry, but I’m not interested in too much of the details (you can blame me if you wish). On the other hand, it was very interesting to try to understand how these people think and how they approached problems they had. I really believe there is a lot to learn from them.
The author, Peter Seibel, starts interviews with a usual but interesting question about how the interviewees got involved in programming. Then, the author proceeds to questions that relate somehow to what interviewees have done in their careers. There are standard questions about debugging, favorite editor, opinion on some programming language, and other.
I liked answers to the question on how they hired people and what advise they can give to the young programmers.
There were a couple of questions that I didn’t like. One was “Do you consider yourself a scientist, an engineer, an artist, or a craftsman?”. I think it is a pointless question. These nouns can be interpreted in different ways and any answer would be just fine.
Throughout the book there was a discussion about the importance of computer science education and one of the questions was if interviewees have read the book “The Art Of Computer Programming”. It was kind of introduction to the last interview with Donald Knuth. I liked the interview with him, but I’m not sure if the author had to put so much emphasis on this personality.
The list of interviews is available at book’s website with short descriptions of who those people are and what they did. To be honest, before reading “Coders At Work”, I only knew about Douglas Crockford, Joshua Bloch, and Donald Knuth.
The book gives insight into how some of the great programmers achieved what they have achieved. It educates and inspires, though some of the stories might not be very exciting. At times, you may think that other big names would have made the book even more interesting. Nevertheless, I liked reading the book “Coders At Work”.
February 19, 2016 Book Reviews No comments
“Release it!” is an excellent book that makes you and your application prepared for the harsh production world. The book entertains on all kinds of things related to the most important part of development lifecycle – releasing your product and keeping it alive.
The book has four parts – stability, capacity, general design issues, and operations. Each part is introduced by interesting case studies, for instance describing how single unhandled exception costed an airline a day of nightmare and tons of money.
Let me list some of the keywords from the book for better idea what the book is about:
Things that I really liked about the book:
There is a really nice strategy explained on zero-downtime. One, that especially boggles me, was approach related to database upgrade process for zero downtime. The strategy is relatively simple: 1) you extend the system/db and add some bits and pieces so it is backwards compatible, for db it could mean new nullable columns and triggers to fill-in data, 2) you roll out, 3) you cleanup. Easy!
Not so great things about the book:
The book will be most useful for developers of large enterprise applications, especially where downtime costs real money.
But, in any case, I would highly recommend any developer, and deployment engineer for that matter, to read this book!
February 1, 2016 Book Reviews No comments
There were few not so technical books that have made it to my technical reading list last year. One of those was a book called “The Design of Everyday Things”. It can probably be considered a classics for designers, it is also helpful for software developers who do some UI. But it doesn’t harm to read the book even if you have nothing to do with designing anything as it allows to understand how things are designed and why in many cases designer is there to blame and not you when something isn’t working as you were expecting.
For starters, have you even been in situation wondering how that damn thing is working? It could have been a microwave impossible to open or a complicated ticket machine in some country or software written by “lousy” software developers. Just look at the kettle on the book’s cover. Any ideas how to pour water with this kettle?
The book brings many show cases for good and bad design (somewhat dated, though). It explains what a good design means and what are constraints designers have to battle, like time, price and not the least look and feel.
Recently we found out that one of our old applications is not used by users because it is too complicated. At that same time, if used, it could save hours and hours of manual work. It is on our roadmap to rewrite this app, but at least I will have more gear in my tools belt.
I don’t think this is a required reading for software developers, but it definitely enriches your outlook. As a bonus you cal explain your co-workers why a tap in a kitchen is designed is a such and not a different way.
November 29, 2015 Book Reviews, JavaScript No comments
“JavaScript: The Good Parts” is the book I’ve read too late.
I understand that reading a book on JavaScript is not required as there are zillions of free tutorials, StackOverflow, and online documentation.
But because, JS is the language so popular and where it is so easy to start without reading anything, this is how most of developers start. This ends up in painful discoveries, gotchas that took ages to come to and production bugs no one knows how to reproduce.
I, actually, had a half year formal educational course on JavaScript. Unfortunately, I didn’t take it seriously. Code looked similar to C++, so I wrote few functions here and there and it was working.
Earlier this year I went to a conference where Douglas Crockford had a key note. I decided, I’ve got to read his book on JS.
“JavaScript: The Good Parts“ is a quite short book. You can manage to read it in a full day, even with JS Bin open for trying things out. I’ve read it in two sessions like that.
I think if Douglas had only left the good parts of his book then it would be a really great even shorter book on JS.
Most of the book are good parts. I really liked explanations behind certain language behaviour and design decisions. Especially, I liked Appendixes A “Awful Parts” and B “Bad Parts”
In my own opinion, not so good parts are: pointless Shakespeare quotes at the beginning of chapters, redundant code in examples like a loop for creating cat doing ‘r-r-r-r’, few places where something non-JS specific is explained like RegEx, few places where something self-centric was mentioned like “Beautiful Features” chapter.
It is a really good book, but if you have few years of experience in JS and some more in other languages you will find very little to learn from the book.
If you are going to read any book on JavaScript at all, this one definitely has to be in you priority list.
November 27, 2015 .NET, Book Reviews, C# No comments
I’ve been writing C# code for more than 10 years by now and yet had a lot to learn from the book.
The book is written by Jon Skeet (the guy Number One at StackOverflow) and is a purely about the C# language. It distances itself from the .NET framework and libraries supplementing the framework.
Structure of the book follows C# language versions. This isn’t particularly useful if you are trying to learn the language by reading this book after some other introductory book. But for software professionals, though, it could be a joy, since it takes you through your years of experience with the language. It tends to remind you about times when something wasn’t possible and later it became possible. Kind of nostalgia, I would say.
First chapters could be somewhat boring. I read the book cover to cover, since I didn’t want to miss on anything, but probably it isn’t the best way to read the book.
Jon is very pedant when it comes to defining anything. This, of course, is double sided: very good when you have strong knowledge and understand components of the definition, but, unfortunately, it complicates understanding. There were some places in the book which I had to read few times to completely understand. Just for instance, in a chapter about Covariance and Contravariance:
[…] the gist of the topic with respect to delegates is that if it would be valid (in a static typing sense) to call a method and use its return value everywhere that you could invoke an instance of a particular delegate type and use its return value, then that method can be used to create an instance of that delegate type.
On the other hand, I found it very important that details are not omitted. I was reading the book for the depth of it. So details and preciseness is exactly what I was expecting, even though they come with the price of slower comprehension.
You may have different background than I do, but if you are a .NET developer with some years of experience, chances are the only chapters with new and difficult information will be those that are not reflecting everyday practical usage of C# language. For example, all of us use LINQ these days, but very few of us would need to know how it works internally or need to implement their own LINQ provider. Very few of us would dig into DLR or how async/await is working.
Almost in each and every chapter there was something where I could add to my knowledge. For me the most important chapter to read was “Chapter 15. Asynchrony with async/await”, since I have very limited experience in this feature.
In my opinion, the best two books ever for C# programmers are “CLR via C#” and “C# in Depth”, meaning that I just added one to this list.
“C# in Depth” is a great, precise, and thorough book to complement and enrich your knowledge.
I highly recommend reading it.
November 9, 2015 Book Reviews No comments
This year I did some science fiction reading. This is something not particularly helpful for software developers in their professional life. Nevertheless, I’ve read four sci-fi books and I would like to share my thoughts on them.
Now I understand what is meant when people say “sci-fi classics”. This is really a book that ages very slowly. It is written in nicely phrased English but not too much overcomplicated for non-native speaker.
I remember when I was studying in university, one of my friends would go on and on about some game he was playing. There were huge sand worms and some people called fremen. It is only now that I can refer to this. Even if you are not much into reading sci-fi literature, you must have seen a picture of giant worm in Sahara-like desert somewhere, at least in Facebook with some funny text on it.
I was really surprised to know that this story was written in 1965, it continues in 18 books and many credit it for influencing such things like Star Wars and other great works in sci-fi world.
A top rated quote from the book at goodreads, which I also enjoy, goes like this:
“I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.”
A quick to read and enjoying story. Just recently I had a chat about world sport champions. Most of us, discussing, have very young children 1+ 2+ 2+ years old. We all agree that for someone to become a world champion a training is needed starting from age of 3 years. One of us told that this is effectively stealing of childhood. Well, probably.
If you want to read about stealing of childhood, Ender’s Game is the right book. Target audience for the book is probably boys 12+, but it reads very well by adults as well. Plus the book somehow manages to bring some big questions into picture.
There is probably something wrong with me or with the book or with me reading this particular book. I didn’t enjoy it much. The book is organized in six stories told by six people on a journey to mysterious planet Hyperion. Out of six stories told I liked only two or three. A lot of techno-mambo-jambo was something I extremely didn’t like about the book. The author was just making things up that are no close to existence or in correlation with the science.
This is an actual quote from the book:
“To be a true poet is to become God. I tried to explain this to my friends on Heaven’s Gate. ‘Piss, shit,’ I said. ‘Asshole motherfucker, goddamn shit goddamn. Cunt. Pee-pee cunt. Goddamn!’ They shook their heads and smiled, and walked away. Great poets are rarely understood in their own day.”
I’m probably one of those who doesn’t understand this. I’m not trying to say that the book is so bad. I was really gripped by the Father’s story. I’m just not sure if the book is something that everyone can enjoy.
A have a separate post on “The Martian” available here. “The Martian” is mostly kept within hard science boundaries. And since it is about one of my favourite topics I greatly enjoyed reading it. I also went to see the movie. It was good as well, but as per me the book conveyed many more interesting details. Probably something not so easy to convey into a movie, otherwise it would become extremely boring super long one.
October 16, 2015 Book Reviews No comments
I think “Surely You’re Joking, Mr. Feynman!” is a “must read” book for any technical person who reads not so technical books time to time. It is just fascinating.
The book was particularly interesting to read for me as I work on a project for the IAEA. My project helps to identify any misuse of nuclear materials to prevent creation of nuclear weapons, and here is the guy who describes how the Manhattan project looked from the inside. Of course, the book doesn’t go too much into details but you get the idea on the atmosphere of the project of the first nuclear bomb.
The book starts with Feynman’s early years when he was fixing some broken radio devices and performing experiments in his “lab”. This reminded me about the years when I was winning school competitions in physics and chemistry and also had some kind of a “lab” at home. I did some similar things. You know, blew few things, assembled a radio, broke few other things… Eh, that was a special time. So the book grasped me from the very beginning.
It is actually hard to believe that one person could have had so many of adventures in one life. Apart from serious things there are tons of short stories on learning other languages, trying art and samba music and even picking up girls. When you read all these stories it is like if your friend was telling his or her most compelling story. You listen with pleasure.
There are topics that make you develop a more critical mind, a more questionable one. For example, critiques of education system in Brazil and school book publishing business in US. I started to think that a lot of studying that I took could have been much better.
I don’t know how, but somehow “Surely You’re Joking, Mr. Feynman!” got to my list of technical books to read this year. Obviously it isn’t technical one, but it is for technical people to have a good reading time. I highly recommend it.
October 3, 2015 Book Reviews, Career, Success No comments
After going through short free blogging e-mail course by John Sonmez, I didn’t sign up for the marketing course. I was a bit sceptical about paying few hundreds for the course. But not to miss on the opportunity to learn from John I decided to read his book “Soft Skills”. (Actually I listened to it via Amazon Audible.) The book wasn’t exactly what I expected it to be – it was much more. It’s kind of a book I would like to write myself someday. The book isn’t just about soft skills needed to perform your everyday tasks at work, it is much more generic and broader in topics. The book is about skills you need to succeed in your life as a software developer. “Soft Skills” includes advise on career, productivity, finances and even fitness and nutrition.
There is a lot of unique in the book, but probably you will find yourself familiar with some of the recommendations. For example, in one of the chapters on productivity John suggests using pomodoro technique. Obviously, it isn’t something new. But the author explains how to make it work and also adds few of his own practices. Everybody knows that their health is very important, but unfortunately too many of us neglect to do anything about it. I think emphasis this book does on fitness and health in general is something that makes the book special. Personally, I didn’t really enjoy some of the chapters on finances. Maybe that’s because I’m almost done with my goal of reading 13 books on finances and investing this year. But, still, I think that others might find it useful, plus it is interesting to know about the financial experience of the author himself.
I’ve certainly learned few concrete tricks and technics I’m going to use when searching for my next gig, like creating a resume that stands out, applying for a job, hacking the interview, negotiating effectively and other.
I will also apply some of the productivity recommendations at my current work.
A lot from the section on learning is very practical. Hopefully, concrete steps this section is offering will help me overcome some of the inefficiencies in my learning process. I have to admit that I often learn incorrectly. For example, frequently I first read a book and only then try things out. Intuitively it felt to be an inefficient way of learning, but I continued to do so.
The other big takeaway is health related. This year I started to run (well, again), but this is not enough to feel myself fit and full of energy. The problem is that I’m not consistent in my runs. I will add some scheduled fitness exercises to my runs and will try to follow John’s advise on the topic.
John has managed to retire at age of 33 and even I’m 5 years away from that age I have less aggressive target of retiring at 41. Best takeaway on the financial side was realising that I share same opinions on the matter and have already taken few of the first steps on the way to financial freedom.
“Soft Skills” is up to date book with very sensible, practical and actionable advice for any software developer. It has a potential to greatly improve your life – not just your career. I would highly recommend to read this book. I’ve even ordered a printed copy of the book as a gift for my friend for his birthday.
See the book on Amazon or buy it using my my referral link below.
September 15, 2015 Book Reviews, Success No comments
I think I’ve read “The Passionate Programmer” for the second time. Otherwise, I cannot explain why almost everything I read in the book sounded like a “Déjà vu”. Well, even if it was a second time, it’s worth it. Book itself if very easy to read. It is nicely organized in small chapters and contains short real-world stories from different people. I liked reading the book very much. Besides, since recently I started working on getting back on track with my career and blog writing this book came very handy.
Author, Chad Fowler, does really great job advising software developers on their career. This book definitely makes you think about your current position and gives sensible suggestions on possible actions to improve the situation.
The book helps you realize that your skills are just a product. A product that is highly demanded. For any high demand product there is high supply. And it is only a question where you find your product in all the supply available. Is your product a quality one? Are you sure your product won’t become obsolete over time? What is it you do to stand out from the crowd?
There is one take away from the book that I took action on already. I started writing Monday weekly e-mails to my direct manager with list of last week’s completed tasks and the goal for a current week. This is not to make my manager happy nor to make me look nice. I’m doing this for myself. For sure this will keep me focused and provide additional push for completing my work.
These below are some other action items from the book I want to take:
Go ahead, read the book and create a list of action items for yourself.
Just Be Better Than Yesterday!