Weekly Links #8

Top Links For 25-31/3:

  1. There are a lot of news from Microsoft’s Build 2016. One of the main things which caught my eye, is the possibility to run native bash on Ubuntu on Windows 10. Look at the link to Scott Hanselman ‘s blog for more details.
  2. An update for project of visualization and comparison of sorting algorithms in C#, published by Mark Monnin on CodeProject. This project enables to view the “action” during many sorting algorithms. This article describes advanced sorting algorithms and changes that have been made on the project, while it also refers to the original article which describes many sorting algorithms that were implemented on the previous version.
  3. An important soft skill for developers(and for everyone else) is listening ability. Being a better listener can give you a lot: people will want to get to you and share things, the benefit of the conversation may be bigger. and much more. This very deep article of J.D. Meyer explains about the difference between listening types, when to use them and how to excel on them.
  4. Here is a short provocative post about work life balance, by Shuaas Kaul. The writer suggests that there is no such a thing and I agree with most of his arguments. I believe that you should love what you do at work, and this should be a great part from your life. Programming should be inseparable from your identity. Of course, you have family to take care of, friends and hobbies, but if you just look for the time to go home when you are at work, you need to think serious about changing your work.
  5. What is connecting between people within a team? What makes them a team rather than group of people? This article by Dave Diehl explains the differences between team and pseudo team. He gives really good points about definition of goals, and sharing success.
  6. A post about high framework coupling problem. In my previous job, we used a specific framework on large parts on our code. Then, we wanted to replace it for a more advanced framework with more capabilities. It was hard. There were many lines of code which were written to overcome problem with the old framework. The usage of the framework wasn’t isolated from the code of our project. For the replacement of the framework, we had to do a huge refactor in our code. But now it is well-designed, and we used the facade design pattern in order to reduce the coupling between our project to the framework.
  7. interesting article by  Christian Maioli Mackeprang about quality code. He gives some ideas how to make our code more simple. When we write code, we should always think about the other people who will read the code, and how can be do our utmost for writing understandable code.
  8. There are two main approaches when starting to code a new project/feature. Do you start to code the central point of the project, or think about the bigger picture? This is the subject of the post written by David Bernstein. For large project, I recommend to combine between those approaches: design the overall architecture of your project, and also build a POC(proof of concept).

More Quick Refs:

  1. Searching for Sundar Pichai
  2. Solve Small Problems
  3. Hobbyist to Professional: The Indicator of Things to Come
  4. 4 Things I Wish I’d Been Told at the Start of My Freelance Career
  5. 5 dev tools for better code security
  6. To SQL or NoSQL? That’s the database question
  7. React – Basic Theoretical Concepts
  8. How to Decrease the Odds that Your Startup Fails