Thoughts To Remember

Let’s say that you can read 2 books a week. In a year, you will be able to read ~100 books and if you keep this pace for the next 80-90 years you have a chance to read ~9000 books which is only 0.007% from the total amount.

Btw, If you wish to understand why your kids are hooked on Fortnite? check The Hunger Games, by Suzanne Collins. I’m still amazed how Epic game (the company the behind Fortnite) took so many great ideas from these books and baked them into the game.

Want a few more that I really enjoyed?

Wish to laugh?

Born a Crime, by Trevor Noah

Yes please! by Amy Poehler

Think?

Outliers, by Malcolm Gladwell

Where Good Ideas Come from, by Steven Johnson

Learn about health and the cutting edge of our knowledge about cancer?

The Emperor of All Maladies and The Gene: An Intimate History both by Mukherjee Siddhartha

Learn (more) about great thinkers?

Einstein or Leonardo da Vinci or Steve Jobs, by Walter Isaacson

Shoe Dog: A Memoir by the Creator of Nike, by Phil Knight

Homo Deus: A Brief History of Tomorrow and Sapiens: A Brief History of Humankind and 21 lessons for the 21st centery by Yuval Noah Harari

Like this:

Last week I finished an interesting book by Matt Ridley (the author of several good books on genetics and evolution) – “The Evolution of Everything”.

The main idea from the book is simple, yet to many people disturbing: government, technology, society, religion and other areas evolves without any real control over the process. Although we neglect and ignore them, bottom-up trends shape the world in many aspects. Continue reading →

Like this:

Some (raw) thoughts on what are the elements that give you a quality and testable code.
It’s not a full list of TODOs but some best practices that should serve you as a good baseline. If you have any suggestions, please feel free to comment.

Tests

If we agree that you must have tests in your project – The next good question is what is a good test?

It’s FAST – The tests should run fast in order to encourage developers to use them constantly during the development process.

Stable – The test doesn’t break often. You wish to minimize the false-positive ratio as much as you can. This is why you need ‘small’ tests that are encapsulated and give you a clear sign on what is working (or not).

Like this:

From time to time you want to get more from your data in Google Sheet. It might be some information you collected from a form or any other spreadsheet with data you wish to work on. Here are some useful functions for common tasks.

1. Return the last row

There is no specific function to return the “last row” – but this hack is working perfectly.
=INDEX(A:A,COUNTA(A:A),1)

2. Joining text

Useful for all the cases where you have first name and last name in 2 columns and you wish to join them.
="this name " & A1 & “ plus this extra name ” & B1

or if you have cells you wish to merge into one with a certain delimiter:
=join(“;”,A1:A5)

Share only with good friends:

Like this:

Code without tests is bad code. Even if it’s looking clean and efficient. Without tests you can’t change it in a verifiable way.

You can’t know if your code is getting better or not.

It’s not a new idea.

But it’s amazing how many times developers will ‘cut’ corners or won’t implement tests because they are too busy to ship a new feature.

In many cases, it’s the opposite case, if you wish to move faster and safer – you need a good tests suite that give you the confidence that your changes didn’t break anything. You wish to have unit tests (wide coverage of functionality and running fast in an automated way), integration tests (a bit slower but still fast and in many cases, with mock data) and end to end tests (Yes, in many cases, in a real production environment). Continue reading →