Tag: book review

Exercises for Programmers, book review

exercises-for-programmers-Book_Cover

Published on: 15.06.2018

Number of pages: 118
Written by: Brian P. Hogan
Publish by: The Pragmatic Bookshelf

Conclusion
Book has good (real life) exercises that can be applied to learn a programing language.

Review
This book will not teach you programming but have 57 exercises that you can do in any language.

Each exercise has few additional challenges, so there is enough material for practice.

The only way to learn new programming langue(or your fist) is to make something concrete and this book can provide that.

Flowcharts are also shown in the book, I think that is cool.
Today flowcharts are mostly forgotten but are useful to know.

If you are not experienced programme (I do have 15+ years of development) my suggestion is to first solve an exercise by any means necessary and after you can do it with constraints and lastly also challenges from the book.

If some exercise is too hard (you have spent few hours and still no progress) just go to next one.
You will have more motivation to learn if it is fun and not dreadful.
After you finish some other exercises and get more experience, you can come back to old ones.

The best part about exercises in this book is that they are pretty close to real life programming, so you are not wasting your time (like on Codility) solving some problems that you will never encounter in real life software development.

My solutions can be found at https://github.com/sasa-buklijas/57-challenges-to-develop-your-coding-skills/.

Python Testing with pytest, book review

python_testing_with_pytest-Book_Cover

Published on: 15.05.2018

Number of pages: 220
Written by: Brian Okken
Publish by: The Pragmatic Bookshelf

Conclusion
The only book about pytest.

Review
If you want to learn how to use pytest for testing Python programs, this book will be useful to you.

I did not know much about pytest, before reading this book, except that it was related to unit testing in Python.

So, I was very surprised to learn that it much more (fixtures, plugins, configuration, etc) than just better unit testing for Python.

Fluent Python, book review

Fluent_Python-Book_Cover

Published on: 01.04.2018

Number of pages: 792
Written by: Luciano Ramalho
Publish by: O’Reilly Media

Conclusion
The book is good for advanced Python, it covers a lot of and in details.

Review
This book is for developers who want to get their Python skills to advance level.

It is not for beginners, for beginners in Python I recommend Automate The Boring Stuff With Python.

Book Effective Python also covers advanced topics, but this one covers in more details.

Both books are good, I would recommend this one because it describes topics in more details, but that is why this book has much more pages.

Hackers and Painters, book review

hackers_and_painters-Book_Cover

Published on: 01.03.2018

Number of pages: 272
Written by: Paul Graham
Publish by: O’Reilly Media

Conclusion
One of the classics book for hackers (software developers).

If you are just in the business of software, I recommend that you read it.

Review
The book is composed of 15 essays:

Why Nerds Are Unpopular
Hackers and Painters
What You Can’t Say
Good Bad Attitude
The Other Road Ahead
How to Make Wealth
Mind the Gap
A Plan for Spam
Taste for Makers
Programming Languages Explained
The Hundred-Year Language
Beating the Averages
Revenge of the Nerds
The Dream Language
Design and Research

Most of them are available on Paul Graham blog.

My personal favorites are Mind the Gap and How to Make Wealth.

Full Stack Python Guide to Deployments, book review

full_stack_python_guide_to_deployments-Book_Cover

Published on: 01.10.2017

Number of pages: 262 with code example, 185 without
Written by: Matthew Makai
Publish by: Self-publish

Conclusion
Useful to read, if you want to learn/see how to deploy python web application.

Review
Topic of book is described in its subject, full stack python deployments.

In appendix C of book is full source code of Flask application that you are deploying.

Topic of book is not source code from Flask application, but just how to deploy that code.

Deployment is done on virtual server on Linode (Ubuntu).

Deployment process is automated with Fabric and Ansible.

I liked this automation because you can use it for your own project also.

Other technologies used are: Nginx, Git, PostgreSQL, Redis, Green Unicorn, Celery and Jenkins

Grokking Algorithms, book review

Grokking_Algorithms-Book_Cover

Published on: 01.07.2017

Number of pages: 256
Written by: Aditya Bhargava
Publish by: Manning

Conclusion
Interesting book, visualizations are very helpful.

Review
When I saw this book first time I was not interested.
Book cover was too childish for me.

But after listening podcast about it, I changed my mind.

Illustrations in book are used to explain concepts, and they are very useful.
All code is in python, that was bonus point for me.

Here is video example of illustration:

I do recommend this book for reading, you can understand Big O notation from it and algorithms.

Ethernet Switches, book review

ethernet_switches-Book_Cover

Published on: 01.06.2017

Number of pages: 80
Written by: Charles E. Spurgeon and Joann Zimmerman
Publish by: O’Reilly Media

Conclusion
Useful to read.

Review
This is small book and I like small books.

Although it is small there is no shortage of information in book.

Book explains: what is Ethernet switch, for what is used, how it is working, VLAN (virtual LAN), STP (Spanning Tree Protocol), network design, different special purpose switches (like: multi-layer, access, industrial, wireless access point switch, ISP switch, data center switch) and advanced switch features (PoE, traffic flow monitoring).

Good read for getting advanced understanding of Ethernet switches.

How Machines Learn: An Illustrated Guide to Machine Learning, book review

How_Machines_Learn-Book_Cover

Published on: 01.04.2017

Number of pages: 63
Written by: Helen Edwards
Publish by: Self-publish

Conclusion
Best book for high-level understanding how today (in 2016/2017) machine learning is working.

Review
Illustrations in book are very helpful.
Without them it is much harder to understand machine learning concepts.
This book covers all topics in machine learning, it is not specializing on one aspect.

More thoughts on machine learning

This is my understanding of how machine learning is BIG change in software.
I would even say that machine learning is biggest change in software so far, it is a game changer.

Till last few yeas/decades, all computer programs (all work that was done by computers) had two important characteristics:
– Humans where making exact rules (algorithms) how computer will make decisions
– Everything that computer did, human could do it also

I maybe wrong, but AFAIK with machine learning, this is not true anymore.

Humans where making exact rules (algorithms) how computer will make decisions

Human was one who was designing and implementing algorithm.
If there was some BUG, person could understand what was the reason for the BUG.

But, for example, with neural networks and their weight there is no way to understand why some input have particular weight.
It is not possible to understand “computer” reasoning behind it.
This is BIG change in how algorithms work.
Because computer is fine tuning algorithm, a human can not understand how or why in details.

Everything that computer did, human could do it also

Argument is: computer can calculate average of 1000 number in less the second.
Human can do it also, but it need more time, much more time.
So computer are used for this kind of work because it is more profitable, but still human can do it.

In this argument I am exempting robots that work in conditions that are harmful for human, like high temperature, radiation, etc.
I am just talking about software/calculations.

In unsupervised learning goal is to find patterns that humans do not know about.
Humans can find some patterns across few dimensions, but even after 10 dimensions, what to speak of 100 or more it is not possible for human.

What will be result I do not know, but problems will arise

I do not see big problem when neural network is used to do OCR, eg. you write some numbers on you touch screen, or when it classifies pictures of dogs and cats.
If there is some error human can recognize error and cost of error is not important.
Not important in contexts, that result of error do not have huge impact on person life.
You got number 5 instead of 3, or it showed you a dog instead of cat.

But what if neural networks starts to be used for much more important decision ?

For example: visa acceptance, medical diagnostics, bank credit approval, decision if person is terrorist or not.

I would not be surprise that in future, there will be neural network making decisions, without anybody understanding what is the reason behind decision.

How can you even debug neural network when you have no idea how it decided on its input weights ?

How to know is it false negative or false positive ?

It will be interesting to see where machine learning will be in 10 years.

Essential Copying and Pasting From Stack Overflow, book review

essential_copying_and_pasting_from_stack_overflow-Book_Cover

Published on: 01.04.2017

Number of pages: n/a
Written by: Stack Overflow
Publish by: O’Reilly Media

Conclusion
Best book to make you better coder.
Most important book for every professional developer.
Most important book for any professional developer.
Most important book for all professional developer.

Review
I can not overexert importance of this book.
This book should be read from cover to cover at least every second day before noon.

Forget about algorithms, data structures, CPU/memory trade-off, Big O notation, copy/pasting from Stack Overflow is what gets thing done, apps build and make you billionaire.

But not everybody can be super developer just with internet connection and access to Stack Overflow.
To beat professional developer you need to learn how to effectively copy/paste.

Few tips are:

Real men use keyboard shortcuts.
Their little finger is always on CTRL and index finger ready for C.
Or Command, if their Linux is broken.

Recognizing good code from bad code (code planted from NSA to make backdoor in your software).
Although to let NSA backdoor in your software is not so bad, then they can fix it when it stops working, because you will not know how after successful career in copy/pasting.

Advanced tips:

How to written interesting code questions, so that other people write your code for free.

Fell free to share your effective copying and pasting from Stack Overflow in comments.

Learning Selenium Testing Tools with Python, book review

Learning_Selenium_Testing_Tools_with_Python-Book_Cover

Published on: 01.03.2017

Number of pages: 216
Written by: Unmesh Gundecha
Publish by: Packt Publishing

Conclusion
Book about Selenium with Python examples.

Review
Only book about Selenium with Python examples that I have found so far.
I found much more books with Java examples, alto it is not difficult to translate syntax from Java to Python, because Selenium API is similar, I prefer to read code in Python.

Usually I read programing books for two reasons:
– when I do not know anything about topic, so that I get basic understanding
– when I have already used technology, even did some project, but want to see what I do not know about it

With Selenium is second reason.

Book is good, it have lot of code examples how to use Selenium API.
Good to have as reference.