Designing data-intensive applications book review

This book is truly a masterpiece, though with its own flaws

It aims to cover every data-related principle and technology and I'm not joking. It literally starts with its view on how to write the code then covers every bit and piece of how to build your persistance layer and then goes on with what to do with that data.

As you can imagine this book is huge and as it goes into great detail sometimes I started to doubt my intelligence as some of the concepts were too complicated for me to digest after reading about a completely different topic a chapter ago

I struggled to finish this book, not because of that all of its concepts were completely new to me or it was written poorly. There's too much of information in this book. I can see it being used as a dictionary or a wiki for CS concepts.

Personally, I'd split this one book into multiple smaller ones. The topics are covered really great, but the number of concepts is mind-boggling. Readers will definitely appreciate that and the overall experience will not look like a torture.

My score is 4/5 Every developer should read this book.

Author's profile picture Michael Koltsov on books

Books I've read during my last vacations

As I had plenty of time during my last vacations and thanks to the COVID-19 pandemia I've spend most of it on reading various non-technical books that were relatively easy to read and I could finish each of them easily in one or two days.

Simple Habits for Complex Times

Honestly, I have no idea what this book is about. After completing it I barely remember anything.

Thinking fast and slow

Frankly, I really liked how easy was to read this book. Did I learn anything valuable from it? Not really.

The essential art of war

This was a re-read of the book I first opened more than a decade ago. Even though this particular issue had annotations with contemporary examples I could find it any helpful. The Chinese warlord from BC times didn't touch my feelings this time, even though I still have my first paper version which means that it was more touchy for me in the past.

The Stress Code: From Surviving to Thriving

Nothing new, but a great overall guide if you struggle with overcoming stress at your work or life.

Too Smart

Great read if you want to become paranoid and understand that we're living in an antiutopia now. Technocraties everywhere, your data is sold and bought at every corner. Shouldn't be read by anyone who's relatively tech savvy, you'll find it funny as hell. Good for protesters and rioters.

The intelligent investor

Neverdying classics, which once again proves and the core principals of investing have not changed for centuries.

The Courage Map

In overall, a grat book! Very motivational and with practical examples.

Mind Hacking

This book is an example of what happens when a technical person tries to write a non-technical book. During the first half of it I was forcing myself to continue reading and only in the middle of it I could find any value. Lots of cool technical buzzwords, not recommended to anyone really technical.

My Morning Routine

The opposite of what I expected, just a compilation of morning routines of various people whom I never heard of before reading this book.

Eat That Frog

Again, this was a re-read. The message of this book is stil valid after all these years.

Cracking the leadership code

Good book. I really liked the part on empathy and how important it is to listen to other people. Very practical.

Author's profile picture Michael Koltsov on books

Distributed Systems Observability book review

The best illustration for this book would be one of the Captain Obvious memes. Thanks to the book I was able to find a few tools I've never heard before, but that's it. Nothing new, nothing interesting in particular. It'd be better if this book was simply compressed into a series of blog posts. In reality, the author retells most of the books core concepts in a Medium post.

My score 1/5

Author's profile picture Michael Koltsov on books

Java Performance 2nd edition book review

This was one of the hardest book I've read and bear in mind that I've read the first edition many years ago. It took me a few months to read it cover to cover, mostly because I wanted to play with concepts presented and explained in the book. Sorry for whining, but I really enjoyed the proccess of reading, hence this sacrifice of reading one chapter and even less every week was absolutley worth it.

At first I expected it to simply copy concepts from the previous book and add features of more recent JVMs as Joshua Bloch does with "Effective Java". I was utterly wrong.

This book is a complete redesign having not much in common with the first edition. Most basics like explaining how the classloaders work in Java (that are mostly unneccessary for experienced devs but may be needed for the newcomers) are gone now. The book is really condensed and purified now. I was often finding things I had no idea before while reading it. And I'm doing Java for more than a decade now, though I had breaks to work on other languages to learn to see things from another's perspective. It allows me to be multifaceted to a degree where I can choose whether to use Scala, Ruby, Golang, JS or Java to implement a certain feature. Offtopic aside this helps me a lot to understand how the JVM works and I can compare its implementation of certain features with other languages and compilers.

This book is a real pleasure to read though it requires a lot of thoughtwork from the reader if you want to get bang for your buck.

I'd put it on one shelf with "Effective Java", "Java concurrency in Practice". This book is a must have for anyone who wants to advance in his career connected to the JVM.

My score 5/5

Author's profile picture Michael Koltsov on books

LXQT impressions

Ok, I have to confess. I'm a fan of GTK+ X-s for more than a decade. It started with XUbuntu, then I've switched from XFCE to LXDE and that was a love made in heaven.

As recently LXDE has migrated from GTK to QT it changed its name to LXQT and if you want to have a modern build of it you need to get used to its new face and APIs.

And let me tell you how painful that it is. Well, not as painful as if you switch from something as overbloated as KDE or Gnome. But nevertheless, everything looks and feels different after the switch.

The results of my migration to Debian-based SparkyLinux+LXQT are astonishing, XWindows + OS consume less than 256 MB of RAM.

Bravo! That's definitely a win.

Author's profile picture Michael Koltsov on life

Building microservices book review

I had this book lying on my shelf for multiple years and couldn't read it for such a long time as reading it didn't look like a fun activity. Although it can be called procrastination, I was right postponing opening this book for years.

Although it's been issued just 5 years ago it's completely outdated now. Not so much if you weren't following the latest trends in tech.

This book looks like a shy attempt to cover what was new and groundbreaking back then but neither did the author knew what he was trying to teach the audience nor did he have a practical experience in most of the concepts described.

After all these years this book looks like a repetition of what was covered in "Release it" and "DevOps Handbook". That's the price you have to pay when you focus on what was new while the author was writing the book and became obsolete now. I would love to have this book if it was much smaller in size and focused more on the concepts and patterns rather than on technologies and what was on the bleeding edge back then and couldn't stand the test of time

My score 2/5

Author's profile picture Michael Koltsov on books

The manager's path book review

I don't have much to say about this book as it's mostly a compilation of ideas I've either heard or used during my career.

This book can be definitely replaced with a few blog posts. The examples that it gives are rather nonillustrative, I've never heard about most of the companies that the author uses as role models.

Regardless of what I just said the book was nice and easy to read and I really appreciate author's efforts to write it.

I can recommend it as a book you can start and finish during one weekend.

My score 3/5

Author's profile picture Michael Koltsov on books

Modern Java book review

Rarely, I want to purchase a book I've read as a hard copy. I wanted to buy this book badly.

Only after checking the cost of this book in Poland I realized that at a price of yearly subscription to Safari Books buying a huge pile of dead wood is not wise enough for me.

I had a huge gap in my Java experience due to the fact that I've made a switch to Scala and then to other languages most of them had nothing to do with JVM. Javascript, Ruby, Python, GO... you name it, I was paid to write in it mostly thanks to my employers' kindness and not because of any particularly need. The main reason why I've switched from Java to Scala was that the latter felt much sexier with lots of syntactic sugar and nice FP abstractions that felt much closer than the monstrosity I often saw in the java projects I wad to work on. Did I also mention that one of the first programming languages I've learned was LISP? Functional programming was a big part of my education.

And then after all these years I started to see a gradual change in the way way how the Java code is written that felt similar to Scala but without the complexity that it had. Especially, after loosing all my illusions with GO I decided to give new Java a try. I played a bit with streams and lambdas, but neither could I understand how their worked nor use them efficiently.

This book allowed me to fill this gap. If you're coming from Java 6 & 7 this book is a must for you. Lots of example, datailed explanations with multiple peeks under the covers of JVM.

The only minor issue is that after changing the release policy Java went quite far from the changes that are described in this book. Too bad this book isn't updated after every new Java version goes GA

My score 5/5

Author's profile picture Michael Koltsov on books

Track of the year

We're almost at the first quarter of the XXI century. Surprisingly, there's nothing more exciting to hear than the acid sounds from the 80's brought to life by Mujuice in 2019.

Unfortunately, this year hasn't brought any new fresh music to be delighted with, hence I was mostly busy with relistening great tracks from the early 00's. Kompakt, Boxer, Cocoon, Banger, Gigolo you name it.

This year I started to write my own music and hopefully I'm going to have something to present next year

Stay tuned

Author's profile picture Michael Koltsov on music

Effective Java 3rd edition book review

It's fair to say that I'm a big fan of all what Joshua Bloch does. Therefore it shouldn't be a surprise that I've read all his books. Unfortunately, I noticed that there's a new edition of "Effective Java" only this year even though it originally came in 2017.

The difference between the second and the third editions in huge. Besides the chapters that have never existed before due to obvious reason that java had no Lambdas, Streams and Functional Interfaces before Java 8 a lot of work has been done to rewrite the items that were there already. As we strive to follow the pace of technology some things that were considered essential before become obsolete.

The best illustration of that thesis is the "Serialization" chapter. In the beginning of the chapter Bloch clearly warns his readers: "Better stay away from internal Java serialization API and go with either JSON or profobuff." Such fairness with readers is invaluable and can hardly be seen today.

I've really become interested in Streams after reading this book.

There's just one problem with this book. I wish it would take less than a decade for this book to get its new edition next time. Prior to that every new "Effective Java" book came after almost a decade-long hiatus.

My score for this book is 5/5

Author's profile picture Michael Koltsov on books

Vue.js in Action book review

Recently I didn't have much time to read books due to various personal reasons and that's why I was so excited to read this book when I finally got time to do that.

To be honest that's not the first Vue.js book I've read. A year and something ago I've read a good enough book Vue.js 2 and Bootstrap 4 Web Development. Back then I was playing with Vue in my spare time and didn't get an opportunity to use it anywhere besides my small pet projects. The book was okayish though it didn't cover the fundamental technical areas of Vue I was mostly interested in. But it was good enough for a starter. This particular book from Manning is a completely different story.

This book follows the software book standard of writing that never gets old. It starts from the high level architecture overview and then digs to the very bottom of its implementation. This process is accompanied with practical exercises where you get to write code yourself and all of this is followed by inspiring home assignments.

I had to rush with reading this book as I needed to write a Vue project for my work in just a week. But this book allowed me to reduce practically all the technical debt I've acquired during this process.

The examples given in this book were relevant to what I did at work so I was able to use what I just learned in practice.

My impression on Vue is that it's one of the most beginner's friendly frontend frameworks I've worked with. And this book adds even more to that. It explains most Vue concepts in great detail and almost always you get a practical example of it plus a best practice pattern that you can follow.

My score for this book is 5/5

Author's profile picture Michael Koltsov on books

My impression of the new AWS Certified Solutions Architect Associate Exam

As some of you may know AWS certificates expire and when they do so you need to recertify. And that's why I will talk about my impression after passing the AWS Solutions Architect Associatee Exam in April 2019. Last time I went to pass the exam was in 2017.

I've heard that the exam has significantly changed after the changes AWS did in 2018. That was the perfect time for me to prepare for the exam as I was participating in a recruitment process and it was beneficial for me to brush up my AWS knowledge. Spoiler alert: I've got the job I wanted as a nice addition to the AWS certificate.

Last time my preparation to the AWS exam was very shallow. I mostly focused on the pillars of AWS: EC2, S3, VPC thus skipping a lot of "new" services that I had no prior experience with like Kinesis, Lambda etc. That was a mistake, but likely I got lot of VPC and networking related questions.

This time I reserved plenty of time to prepare for the exam. Here're the resources I was using to prepare myself

A Cloud Guru AWS Associate exam video course. This time I had a full access to the Cloud Guru website provided by my employer. I would say that it was much more convenient in comparison with the same video course that you can buy on Udemy though Udemy is cheaper. This course is intensively update by ACG to reflect the changes in exam as well as videos are updated when AWS changes something in the covered services. There're quizes plus the final exam simulator. In my opinion this course tries to cover too much of AWS and in some cases gets in too much detail thus distracting your attention from what's really important to pass the exam. As I said it before my employer paid for it thus considering its humongous annual price of $492 I save a lot of money. Will I pay the same amount myself? Definitely no. $10 for the Udemy course is ok, but I don't see why to pay more if the only thing why I need it is for passing one particular exam. I don't want to be a maven in AWS/AZURE/GCP simultaneously and that's the audience that cloud guru caters its courses and materials. My score for its Udemy course is 4 with minus due to lack of updates It's not worth the money to pay for the full-blown ACG access if you pay out of your own pocket. You can not prepare for the exam by just watching the ACG videos and doing the labs!

AWS solution architect official training I don't know what's the full name of it as it was also paid and organized by my employer. The training was really nice. Though it wasn't conducted by an AWS employee but by a contractor hired and schooled by AWS it was awesome. It had lots of well-organized labs where everything was automated and well documented. The trainer was a nice Potuguese guy who knew AWS from top to bottom and could answer almost every quirky question. I don't know what was the price of it but if such course was my AWS introductory I would definitely become and AWS fan boy. My score 5/5 This course is not sufficient to pass the exam

ALL-IN-ONE AWS Certified Solutions Architect Associatee Exam Guide. I've covered this book in my previous post. This book will give you 50% confidence of passing the exam. 100% worth of every penny spent

Whizlabs prep exam. Firstly, this is not a brain dump of the real exam. During the real exam I had some (less than 10%) of questions that were similar to Whizlabs but the wording was so different that I would consider it as a coincidence. Whizlabs has close to 1000 of questions related to AWS, every answer is usually explained with a reference to the documentation. If you finish the final Whizlabs aws exam with > 80% score you're ready for the real exam. This was the other 50% of my preparation for the exam that was worth every penny spent.

After all the preparation I did I've passed the exam with 91% score in less than one hour and had more than an hour time left as it's supposed to take 130 minutes to complete the exam.

In my opinion this certification is one of the most challenging across all the IT certifications

Good luck with passing it!

Author's profile picture Michael Koltsov on cloud and exam

AWS Certified Solutions Architect Associate All-in-One Exam Guide (Exam SAA-C01)

Yes, I know that the name of this book is unbearably long but please stay with me as this book as not as it bad as it looks judging by its name

Actually, it's the opposite of a book that aims to teach you the basics of AWS in just a few hundred pages. I read it to brush up my AWS knowledge before coming to interviews. And for this exact purpose this book is just perfect.

It doesn't provide you the same breadth of information as for example Cloud Guru's videos. It gets you straight to the point where you need to be. AWS course on the Cloud Guru platform is worth it only when you can get it for free. Paying for it is pointless in my opinion as it gives you lots of information that you don't even need but doesn't prepare you good enough for the AWS exam.

This book gives you just enough knowledge you need to pass the exam though I would recomend to go through test exams at least a couple of times before going to the real one.

My score is 4/5. This book is relatively new but the pace of change in AWS is so fast that this book is already outdated in some of its aspects.

Author's profile picture Michael Koltsov on books

Battlefield V impressions

I don't usually play video games, but the Battlefield series got me hooked during my days at school. I've never played it online, instead I always preferred the single player flavor of it

Battlefield 1 looked like a disaster to me, though it had historically precise arms and vehicles its single player looked unbelievably lackluster in comparison with what the players were given in Battlefield 3/4/Hardline. It was OKish, but looked more like a tutorial to all the bells and whistles that the game had. That was the first Battlefield that I hadn't completed as it was tood boring to my taste. How wrong I was back in those days.

Battlefield V has the worst single player across the whole Battlefield series. Yes, the decorations are nice, the arms and vehicles are there. But apart from one "chapter" every other part of it can be described as overwhelming waves of foes that you need to go kill in order to finish the game. That's it, no scenario at all.

Battlefield V is a good benchmark for your videocard, but I'd not recommend anyone to play its single player if the one doesn't want to be disappointed.

Author's profile picture Michael Koltsov on life

Brave is awesome, but it has its problems

Brave is a great browser. Nice and slick. Fast and secure. The only problem I had with it is its annoying lack of good quality third party extenstions.

Unfortuntely, since this week it's also prohibited to use at my work due to security reasons.

That's why starting from this week I'll give a try to Yandex browser on the Mac that my employer gives to me. The first impression it made was unexpectedly good, not considering the integrations with Yandex services that you need to switch off almost immediately after the browser launches as they are annoying as hell.

After the last update of Git to 2.20 through brew it started to show all of its output in Russian due to some Brew misconfiguration. Yandex browser has partly the same problem, though it also could be considered as the marker of the number of non-Russian speakers using YaB or how the Yandex QA department works. Good to have a browser aimed exclusively to those who know Cyrillics =)

Author's profile picture Michael Koltsov on life