This week in review: Dynamically loading *.so, resolving local domains with mDNS, Code Quality, and be kinder.

Tue, 10 Dec 2019

When dynamically loading plug-in objects, create a dependency graph, find the lowest common ancestor and start loading the objects from there. This prevents objects failing to load due to unsatisfied dependencies.▣

If you are not able to resolve local hosts with hostname.local, you can try removing [NOTFOUND=continue] from /etc/nsswitch.conf. This may or may not help. This asks the mDNS resolver to quit if it cannot resolve.
TODO: Lookup how Avahi daemon works.▣

Fri, 13 Dec 2019

To maintain code quality, monitor 3 things

  1. Readability
  2. Buildability
  3. Testability

This will help you avoid pain down the line. You must also think about refactoring as part of your project planning.▣

I saw this quote earlier today and it seemed interesting. I can’t disagree with this, my dreams have significantly diverged from my life right now.▣

Sat, 14 Dec 2019

Interesting list of projects to try out1. I am particularly interested in the compiler - Tiny BASIC and mini operating system ones.▣

My version of The Joel Test2

  1. Do you use version control?
  2. Can you make a build in one step and are use a CI system?
  3. Do you use an Issue tracking system?
  4. Do you fix existing bugs before writing new code?
  5. Do you have an up to date schedule?
  6. Do you have a spec?
  7. Do you use the best tools money can buy?
  8. Do new candidates write code during interview?

This is not an exhaustive list. I am still trying to understand what is important for different types of teams. This core list might be valid for all but you might need additional tests for a team working on frontend development or a team building a compiler.▣

Be kinder to yourself

— magsheer