Automate the Boring Stuff with Python, book review

automate-the-boring-stuff-with-python-Book_Cover

Published on: 01.02.2017

Number of pages: 504
Written by: Al Sweigart
Publish by: No Starch Press

Conclusion
Best book for learning programming.

Review
I am very impress with this book.
I am recommending it to anybody who want to learn programming.

Book is available for free online.
Book is also available as video tutorial and first 15 videos are on YouTube for free.

This book is going to teach you how to use programming knowledge to automate tasks on computer.
Some examples are: send emails, automate web page interaction, automate GUI interaction.
All other books on programing for beginners just teach you basic programming, but after that people have no idea how to use it in everyday life.
This book is different because it will show you real examples how to use it in everyday life.

Encyclopedia of Electronic Components Volume 1, book review

Encyclopedia_Of_Electronic_Components_Volume_1-Book_Cover

Published on: 01.10.2016

Number of pages: 296
Written by: Charles Platt
Publish by: Maker Media (O’Reilly)

Conclusion
Gives good explanation of electronic components.
Useful to have as source of reference.

Review
This is encyclopaedia that comes in 3 volumes.

Volume 1 is describing:

  1. battery
  2. jumper
  3. fuse
  4. pushbutton
  5. switch
  6. rotary switch
  7. rotational encoder
  8. relay
  9. resistor
  10. potentiometer
  11. capacitor
  12. variable capacitor
  13. inductor
  14. AC-AC transformer
  15. AD-DC power supply
  16. DC-DC converter
  17. DC-AC inverter
  18. voltage regulator
  19. electromagnet
  20. solenoid
  21. DC motor
  22. AC motor
  23. servo motor
  24. stepper motor
  25. diode
  26. unijunction transistor
  27. bipolar transistor
  28. field effect transistor

For each components it give following informations:

  • what it does
  • how it works
  • variants
  • values
  • how to use it
  • what can go wrong

Effective Python, book review

Effective_Python-Book_Cover

Published on: 02.09.2016

Number of pages: 256
Written by: Brett Slatkin
Publish by: Addison-Wesley

Conclusion
Collection of 59 good ideas on how to write better Python code.

Review
Book contains 59 items on how to written better Python code.

Items are grouped in 8 chapters: pythonic thinking, functions, classes and inheritance, metaclasses and attributes, concurrency and parallelism, built-in modules, collaboration, production.

Useful to read.

How to win friends and influence people, book review

How_To_Win_Friends_and_Influence_People-Book_Cover

Published on: 03.07.2016

Number of pages: 288
Written by: Dale Carnegie
Publish by: Pocket Books

Conclusion
Classic book for soft skills.

Review
After three attempts, in few years, I manage to finish this book.
I always started to read it, but after some time would just leave it, I am used to read technical books not soft skills book.
First edition of was written in 1936 and I liked this.
If it is that old and people are still reading it, maybe there is some use of it.
I did liked ideas from this book, so far they work.

Programmable Logic Controllers, book review

Programmable_Logic_Controllers-Book_Cover

Published on: 01.06.2016

Number of pages: 408
Written by: Dag H. Hanssen
Publish by: Wiley

Conclusion

This is book provide good explanation of PLC, digital, analog, input, outputs, and programming languages for PLC.

It is great book for all around introductions to PLC.

Review

Book is divided in five parts:

1. Hardware

Explain what is PLC, analog I/O and digital I/O. I/O is abbreviation for input/output.
Most new informations I got from this chapter, because I had least experience with hardware.

2. Methodic

Have only one chapter called Structured Design.
Content of chapter is: number system and digital logic, boolean design, sequential and state-base design.
What most developers already know.

3. IEC 61131-3

Describes IEC 61131-3 standard and basics of programming.
PLC can be programmed in five different languages: structured text (ST), function block diagram (FBD), ladder diagram (LD) instruction lists (IL) and sequential function chart (SFC).
Each of languages is introduced.
Common languages elements are explained also.

LD, SFC and FBD are graphical programming languages.
IL and ST are text-based languages.

Structured text (ST) is similar to Pascal or C.
Function block diagram (FBD) is based on connecting functions and function-blocks.
Ladder diagram (LD) is similar to relay diagrams.
Instruction lists (IL) is similar to assembler-like low-level language.
Sequential function chart (SFC) is good for programming sequential controls and implementing state-based control algorithms.

4. Programming

Describes in details: ladder diagram (LD), function block diagram (FBD), structured text (ST), sequential function chart (SFC).
Instruction lists (IL) is not described in details, because it is not so much used in practice.

5. Implementation

Implement some examples from book in CODESYS 2.3 and 2.5 IDE

Final thoughts

Because I have background in programming/development, was working as professional software developer for 10 years, most useful part for me was: hardware and description of different languages that can be used for programming PLC.

I also understood that there is big difference between programming computer and PLC, even micro-controler and PLC.

After every chapter there are “Test Problems”, what are basically questions or exercises that are testing your knowledge of that chapter.
I liked the this concept and it will be great if more book had it, because it gives quick overview of what is important in chapter.

Learning to Love Data Science, book review

Published on: 01.05.2016

Learning_to_love_Data_Science-Book_Cover

Number of pages: 168
Written by: Mike Barlow
Publish by: O’Reilly Media

Conclusion
This is good book to get high level non-technical overview of what is data science and what one can expect of it in future.

Review
This book is collection of ten reports from author of book from 2013 till 2015.

This is non-technical book, so it will not give concrete code snippets or configuration of technologies for implementing big data solutions.