by moodyharsh 2016-08-23


  1. the quality or state of being faithful
  2. accuracy in details : exactness

Fidelity is commonly used in Music, when discussing
Vinyl vs Digital and so on.

The 1st meaning of fidelity indirectly means trust.
The 2nd meaning of fidelity is synonymous with finesse.

For example, when you have a Hi-Fi CD it means that,

  1. You can trust that it’s Hi-Fi
    (You have an immediate way of knowing)
  2. It’s a faithful recording of the original
    (Like using multiple microphones vs 1, bitrates …)
  3. The original itself was having high detail.
    (Instruments are of good made)



Linux/GNU is not UNIX.
It’s a clone of UNIX.
Ironically, the recursive acronym reflects the actual truth.

Linux/GNU don’t follow POSIX but LSB.

The fidelity with respect to UNIX is thus low.


According to Git, they are a replacement for
SVN and Perforce.

The GUI tooling for Git is lack luster.

Git can’t do directory checkouts or externals, features
which SVN has.

Interestingly SVN is opensource, here.

The fidelity wrt SVN and its tooling is thus low.

Did you just criticize Linux and Git ?



And yet even after 20 years, neither has replaced [bzck]?sh.

Aren’t you losing a bit of fidelity when you say
they can be used for shell scripting ?

ERB is not PHP either, from the prespective of fidelity.


The fidelity wrt paper, books is low.
Try getting page numbers right.


The fidelity of Mac wrt Mac is low.

What this means is that Backward Compatibility is low
for Mac Applications.

Apple has even made PowerPC Applications unusable.

When you claim you love Apple, you are assuming
Older Apples are equal to Newer Apples.


Of All The Things, XML

PDF, Prince(XML), Docbook(XML), Latex have a far greater fidelity to


Max Payne was released 13 years ago.
I believe it’s still playable on Windows 8.

Microsoft has fidelity to the Windows API’s.


Adobe Softwares have a high fidelity to numerous
industries in which it is used in.



Tracker softwares like renoise, extend beyond emulation
but remain faithful to the Idea.


You would know, if VLC had problems rendering.

Proprietary Software

Usually they have higher fidelity.

This is also true for Programming Languages used in the Industry,
like C++ or Java.

Take a look at their specs for example.

Not Hackers

I use the term Hacker as a loose term for a programmer
involved in the Open Source and Startup communities.

Engineers have a higher fidelity than Hackers.
Craftsmen have a higher fidelity than Hackers.

Currently Software Industry has a limited notion of word
Engineering, when stuff like OpenSSL is the norm.

Is this rubbish important ?


Every time a book is made into a film, there is a debate of book vs film.

The notion of fidelity helps in analyzing how things are,
and how things could be better.

If you like travis badges, then I don’t really have to explain
much here, other than give you a new word to ponder on.

Here are things you can do to increase fidelity,

  1. Show finesse.

  2. Document missing/changing API’s and Interfaces.

  3. Pay attention to testing

  4. Pay attention to backward compatibility

  5. Pay attention to the industry’s tradition in question

  6. Stop using childish terms like disrupt when all you
    are providing is a cheap solution with 1/10th the

  7. Pay attention to standards compliance

  8. Don’t claim fidelity if you can’t prove it

  9. Security testing

  10. Respect Original Solutions and learn from them.

  11. Don’t plagiarise and market is differently

  12. If you claim superiority prove it

  13. well-tested vs I just hacked this in a day

  14. Documentation improves fidelity of a bad product.

  15. Don’t treat Professional Users as Normal Users

If I paid for the software/service, I am willing to read the
documentation. Dumbing down the software and introducing stupid
workflows is simply unacceptable.

Here, fidelity means being loyal to the customers.

  1. Inheritance, not copy paste
  2. Give credits where due.

(I have to mention this because even big open source projects
like ghc don’t have a CONTRIBUTORS.txt)

  1. Fine Grained features along with simple ones.
  2. Respect real workers not artificial workflows

Some important points have their own headings.

Shameless practices

  • Renaming variables
  • Deleting mention of the original author

are rampant in opensource, especially when forced
to use in industries.

Legal enforcements are few, mostly because no one
has the time.

Just don’t.


Every software company tries to copy real world workflows,
but implements it with bad insecure code and limited features.

For example facebook thinks it has re-defined social
interactions and Evernote thinks it disrupted pens.

In truth these technologies have changed things, but not
because of fidelity, but gratification.

It’s very difficult to share a doodle with a friend in 5s, with
the above softwares for example.

The problem is Hackers

Forget Steve Jobs and his calligraphy lessons,
I can’t even change the System Font in my Mavericks.

Donald Knuth spent a disproportionate amount of time
on typesetting and no one seems to think
its worth imitating.

I want you to think about that and be inspired by that.

When you build a new framework don’t insult the word,
which is what we share with Engineers.