EvaluateSoftwareLib.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <!--
  2. girishm.nfshost.com is the source for webpage (www.girishm.info or its alias www.girishm.nfshost.com) of Girish M
  3. Copyright &copy; 2019 to present, Girish M
  4. This program is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation, either version 3 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program. If not, see <https://www.gnu.org/licenses/>
  14. -->
  15. <!DOCTYPE html>
  16. <html>
  17. <head>
  18. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  19. <title>How to evaluate a software library?</title>
  20. <style>
  21. * {
  22. font-family: Georgia, Cambria, "Times New Roman", Times, serif;
  23. }
  24. html,
  25. body {
  26. margin: 0;
  27. padding: 0;
  28. }
  29. h1 {
  30. font-size: 50px;
  31. margin-bottom: 17px;
  32. color: #333;
  33. }
  34. h2 {
  35. font-size: 24px;
  36. line-height: 1.6;
  37. margin: 30px 0 0 0;
  38. margin-bottom: 18px;
  39. margin-top: 33px;
  40. color: #333;
  41. }
  42. h3 {
  43. font-size: 30px;
  44. margin: 10px 0 20px 0;
  45. color: #333;
  46. }
  47. header {
  48. width: 640px;
  49. margin: auto;
  50. }
  51. section {
  52. width: 640px;
  53. margin: auto;
  54. }
  55. section p {
  56. margin-bottom: 27px;
  57. font-size: 20px;
  58. line-height: 1.6;
  59. color: #333;
  60. }
  61. section img {
  62. max-width: 640px;
  63. }
  64. footer {
  65. padding: 0 20px;
  66. margin: 50px 0;
  67. text-align: center;
  68. font-size: 12px;
  69. }
  70. .aspectRatioPlaceholder {
  71. max-width: auto !important;
  72. max-height: auto !important;
  73. }
  74. .aspectRatioPlaceholder-fill {
  75. padding-bottom: 0 !important;
  76. }
  77. header,
  78. section[data-field=subtitle],
  79. section[data-field=description] {
  80. display: none;
  81. }
  82. </style>
  83. </head>
  84. <body>
  85. <article class="h-entry">
  86. <header>
  87. <h1 class="p-name">How to evaluate a software library?</h1>
  88. </header>
  89. <section data-field="subtitle" class="p-summary">
  90. Very often we depend on a lot of software libraries for development and testing our custom software. Here are few
  91. things to keep in mind…
  92. </section>
  93. <section data-field="body" class="e-content">
  94. <section name="7637" class="section section--body section--first section--last">
  95. <div class="section-divider">
  96. <hr class="section-divider">
  97. </div>
  98. <div class="section-content">
  99. <div class="section-inner sectionLayout--insetColumn">
  100. <h3 name="4c93" id="4c93" class="graf graf--h3 graf--leading graf--title">How to evaluate a
  101. software library?</h3>
  102. <p name="aa43" id="aa43" class="graf graf--p graf-after--h3">Very often we depend on a lot of software
  103. libraries for development and testing our custom software. Here are few things to keep in mind in doing so
  104. -</p>
  105. <ol class="postList">
  106. <li name="51c0" id="51c0" class="graf graf--li graf-after--p">We should go through the <em
  107. class="markup--em markup--li-em">README.md</em> file (if it exists, most of them <em
  108. class="markup--em markup--li-em">do), </em>releases and tags to identify how frequently the changes
  109. are made and the kind of bug fixes turned in</li>
  110. <li name="cda0" id="cda0" class="graf graf--li graf-after--li">Download the source and build it. This
  111. gives us an idea whether the current version available is well maintained or not. Ideally, cloning from
  112. the repository (instead of downloading as a release in the form of tar or zip) and building it on a
  113. local machine should help us in estimation of time involved. This also allows us to understand the
  114. settings and configurations needed and whether the repository is well documented or not</li>
  115. <li name="502f" id="502f" class="graf graf--li graf-after--li">Then, we should try out an example if it is
  116. mentioned in the repository or some found online. This should get us started. Most of the times we would
  117. end up cloning the repository and sifting across different folders to figure out if there were a way to
  118. execute it (happens most of the times in my case!)</li>
  119. <li name="3bd5" id="3bd5" class="graf graf--li graf-after--li">Then we must try to tweak the sample
  120. application to do some extra functions. For example — If we happen to evaluate say a graph plotting
  121. library then we can try changing the code to add an additional data point or an axes (too naive but
  122. useful!). We should try to extend the existing library by adding a small enhancement say like adding a
  123. color template/theme. A line graph could just be plotting the curve, we can maybe try to display the
  124. coordinates inline. This makes us feel more comfortable with the library. We also get an idea of how
  125. reusable it is and adding small features does actually make it look prettier</li>
  126. <li name="1551" id="1551" class="graf graf--li graf-after--li">Having done all these, now we can start
  127. some sort of a rating (to rate or not to rate is too irate!). We can rate on following aspects — a. ease
  128. of configuration for example — can I just double click on the executable and viola it’s up and running
  129. or even better no configuration required (it chooses for me — the <em
  130. class="markup--em markup--li-em">default) </em>b. resource usage — in terms of memory, CPU, network c.
  131. support — check those IRC channels, chats and comments in the community</li>
  132. </ol>
  133. </div>
  134. </div>
  135. </section>
  136. </section>
  137. <footer>
  138. <!-- <p>-->
  139. <!-- <h3>Want me to write more?</h3>-->
  140. <!-- <div id="paypal-button-container"></div>-->
  141. <!-- <script src="https://www.paypal.com/sdk/js?client-id=AaLH7GRw2dvpLPvQFOJ_CENpAod_I9_3zJyIXM5alQP245nr6_u-WkXfLqkG3XmCUeyPbbsBQU99q7B5&vault=true&intent=subscription" data-sdk-integration-source="button-factory"></script>-->
  142. <!-- <script>-->
  143. <!-- paypal.Buttons({-->
  144. <!-- style: {-->
  145. <!-- shape: 'rect',-->
  146. <!-- color: 'silver',-->
  147. <!-- layout: 'vertical',-->
  148. <!-- label: 'subscribe'-->
  149. <!-- },-->
  150. <!-- createSubscription: function(data, actions) {-->
  151. <!-- return actions.subscription.create({-->
  152. <!-- 'plan_id': 'P-7J9812355A9780533L7AI2HQ'-->
  153. <!-- });-->
  154. <!-- },-->
  155. <!-- onApprove: function(data, actions) {-->
  156. <!-- alert(data.subscriptionID);-->
  157. <!-- }-->
  158. <!-- }).render('#paypal-button-container');-->
  159. <!-- </script>-->
  160. <!-- </p>-->
  161. <!-- <p>-->
  162. <!-- <a href="https://www.patreon.com/bePatron?u=49125356" data-patreon-widget-type="become-patron-button">Become a Patron!</a>-->
  163. <!-- <script async src="https://c6.patreon.com/becomePatronButton.bundle.js"></script>-->
  164. <!-- </p>-->
  165. <p class="author">Author: Girish</p>
  166. <p class="date">Created: 2021-04-05</p>
  167. <p>
  168. <nav class="right">
  169. <a href="AffairWithCPP.html"><img src="assets/img/previous.jpg" alt="Previous"></a>
  170. <a href="index.html"><img src="assets/img/home.jpg"></a>
  171. <a href="freeOrNotFree.html"><img src="assets/img/next.jpg" alt="Next"></a>
  172. </nav>
  173. </p>
  174. <p>Copyright &copy; 2019 to present, Girish M <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img
  175. alt="Creative Commons License" style="border-width:0" src="assets/img/cc.png" /></a><br />This work is licensed
  176. under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons
  177. Attribution 4.0 International License</a>. The source for this web-page can be found <a
  178. href="https://notabug.org/girishm/girishm.nfshost.com/src/test/EvaluateSoftwareLib.html">here</a>
  179. </p>
  180. </footer>
  181. </article>
  182. </body>
  183. </html>