<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Science on Noetic Nought</title>
    <link>https://punchagan.muse-amuse.in/tags/science/</link>
    <description>Recent content in Science on Noetic Nought</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>© 2006-2026 CC-BY-SA-4.0</copyright>
    <lastBuildDate>Mon, 24 Dec 2012 00:00:00 +0530</lastBuildDate>
    <atom:link href="https://punchagan.muse-amuse.in/tags/science/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Best Practices for Scientific Computing</title>
      <link>https://punchagan.muse-amuse.in/blog/best-practices-for-scientific-computing/</link>
      <pubDate>Mon, 24 Dec 2012 00:00:00 +0530</pubDate>
      <guid>https://punchagan.muse-amuse.in/blog/best-practices-for-scientific-computing/</guid>
      <description>&lt;p&gt;Shantanu and I gave a short talk titled &amp;ldquo;Software Carpentry for&#xA;Scientists&amp;rdquo; for the graduate students of Chemical Engineering&#xA;department, IISc, this Friday.  We gave a short introduction to&#xA;Git, TDD, Numpy/Scipy, etc and mentioned a few things from Greg&#xA;Wilson et al&amp;rsquo;s paper.&lt;/p&gt;&#xA;&lt;p&gt;I promised to revert to them with links to a few resources.  I&#xA;figured it would be more beneficial, if I just put it in a&#xA;publicly available place.&lt;/p&gt;&#xA;&lt;p&gt;A summary of the paper by Greg Wilson et. al., is below.&lt;/p&gt;&#xA;&lt;h2 id=&#34;useful-resources&#34;&gt;Useful resources&lt;/h2&gt;&#xA;&lt;h3 id=&#34;software-carpentry&#34;&gt;Software Carpentry&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Paper by Greg Wilson et. al.&lt;/li&gt;&#xA;&lt;li&gt;Software Carpentry&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;git-and-version-control&#34;&gt;Git &amp;amp; version control&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://bit.ly/VfbOww&#34;&gt;http://bit.ly/VfbOww&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://karlagius.com/2009/01/09/version-control-for-the-masses/&#34;&gt;http://karlagius.com/2009/01/09/version-control-for-the-masses/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://try.github.com&#34;&gt;http://try.github.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://betterexplained.com/articles/a-visual-guide-to-version-control/&#34;&gt;http://betterexplained.com/articles/a-visual-guide-to-version-control/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/&#34;&gt;http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;tdd&#34;&gt;TDD&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://software-carpentry.org/4_0/test/index.html&#34;&gt;http://software-carpentry.org/4_0/test/index.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.google.co.in/?q=TDD+matlab&#34;&gt;https://www.google.co.in/?q=TDD+matlab&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;scipy&#34;&gt;SciPy&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://scipy-lectures.github.com&#34;&gt;http://scipy-lectures.github.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;python&#34;&gt;Python&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://docs.python.org/tutorial&#34;&gt;http://docs.python.org/tutorial&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;gui-tools-in-python&#34;&gt;GUI tools in Python&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://code.enthought.com/projects/traits/docs/html/tutorials/traits_ui_scientific_app.html&#34;&gt;http://code.enthought.com/projects/traits/docs/html/tutorials/traits_ui_scientific_app.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://docs.enthought.com/traits&#34;&gt;http://docs.enthought.com/traits&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://docs.enthought.com/traitsui&#34;&gt;http://docs.enthought.com/traitsui&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://docs.enthought.com/enaml&#34;&gt;http://docs.enthought.com/enaml&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;summary-of-paper-by-greg-wilson-et-dot-al-dot&#34;&gt;Summary of paper by Greg Wilson et. al.&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Write programs for people, not computers&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a program should not require its readers to hold more than a&#xA;handful of facts in memory at once.&lt;/li&gt;&#xA;&lt;li&gt;names should be consistent, distinctive and meaningful.&lt;/li&gt;&#xA;&lt;li&gt;code style and formatting should be consistent.&lt;/li&gt;&#xA;&lt;li&gt;all aspects of software development should be broken down&#xA;into tasks roughly an hour long&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Automate repetitive tasks&#xA;&lt;ul&gt;&#xA;&lt;li&gt;rely on the computer to repeat tasks&lt;/li&gt;&#xA;&lt;li&gt;save recent commands in a file for re-use&lt;/li&gt;&#xA;&lt;li&gt;use a build to automate scientific work-flows&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Use the computer to record history&#xA;&lt;ul&gt;&#xA;&lt;li&gt;software tools should be used to track computational work&#xA;automatically.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Make incremental changes&#xA;&lt;ul&gt;&#xA;&lt;li&gt;work in small steps with frequent feedback and course&#xA;correction&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Use version control&#xA;&lt;ul&gt;&#xA;&lt;li&gt;use a version control system&lt;/li&gt;&#xA;&lt;li&gt;everything that has been created manually should be put in&#xA;version control&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Don&amp;rsquo;t repeat yourself (or others)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;every piece of data must have a single authoritative&#xA;representation in the system&lt;/li&gt;&#xA;&lt;li&gt;code should be modularized rather than copied and pasted&lt;/li&gt;&#xA;&lt;li&gt;re-use code instead of rewriting it&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Plan for mistakes&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add assertions to programs to check their operation&lt;/li&gt;&#xA;&lt;li&gt;use an off-the-shelf unit testing library&lt;/li&gt;&#xA;&lt;li&gt;use all available oracles when testing programs&lt;/li&gt;&#xA;&lt;li&gt;turn bugs into test cases&lt;/li&gt;&#xA;&lt;li&gt;use a symbolic debugger&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Optimize software only after it works correctly&#xA;&lt;ul&gt;&#xA;&lt;li&gt;use a profiler to identify bottlenecks&lt;/li&gt;&#xA;&lt;li&gt;write code in the highest-level language possible&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Document design and purpose, not mechanics&#xA;&lt;ul&gt;&#xA;&lt;li&gt;document interfaces and reasons, not implementations&lt;/li&gt;&#xA;&lt;li&gt;refactor code instead of explaining how it works&lt;/li&gt;&#xA;&lt;li&gt;embed the documentation for a piece of software in that software&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Collaborate&#xA;&lt;ul&gt;&#xA;&lt;li&gt;use pre-merge code reviews&lt;/li&gt;&#xA;&lt;li&gt;use pair programming when bringing someone new up to speed&#xA;and when tackling particularly tricky problems&lt;/li&gt;&#xA;&lt;li&gt;use an issue tracking tool&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
    </item>
    <item>
      <title>Awe[ful] @ Science !!?!??!</title>
      <link>https://punchagan.muse-amuse.in/blog/aweful-science/</link>
      <pubDate>Thu, 21 Dec 2006 00:00:00 +0530</pubDate>
      <guid>https://punchagan.muse-amuse.in/blog/aweful-science/</guid>
      <description>&lt;p&gt;I was at the B.M Birla Science Musuem yesterday&amp;hellip; it was calm&#xA;with no one in there.. the only people i could see were the&#xA;sweepers and cleaners.. the place was dull and lifeless&amp;hellip; I dint&#xA;like it.. but slowly.. as the afternoon progressed.. people&#xA;started coming in and by 5 in the evening.. there were quite a few&#xA;in. The museum seemed to have sprung to life suddenly&amp;hellip; there was&#xA;a lot of action all around with people enjoying in ( and trying to&#xA;understand) the wonderful world of science&amp;hellip;.&lt;/p&gt;&#xA;&lt;p&gt;A lot of kids had come along with their parents&amp;hellip; to dive into&#xA;the world of science&amp;hellip; they were enjoying it&amp;hellip; the parents also&#xA;turned into kids and were having great fun&amp;hellip; it was a great&#xA;sight&amp;hellip; the parents tried their best to demistify the&#xA;happenings&amp;hellip; those with a science background did it from thier&#xA;knowledge.. the others patiently went through the explanations&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;The kids were thoroughly enjoying it&amp;hellip; I don&amp;rsquo;t know if they would&#xA;later on in life remember what they learnt now&amp;hellip; but definitely a&#xA;love for science and physics will be ignited in their hearts, it&#xA;will fill their consciousness&amp;hellip; the spirit of curiosity will have&#xA;multiplied manifold&amp;hellip; even the elders..connected with the child&#xA;somewhere deep within themselves&amp;hellip; they too enjoyed the wonders&#xA;of the world of science&amp;hellip;[and ofcourse the company and thrill in&#xA;the eyes of their kids..] I too enjoyed the experience&amp;hellip; the&#xA;experiments and the thrill of the others brought a smile to my&#xA;face too&amp;hellip;. but it set me thinking&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;If science can inspire so much awe.. what&amp;rsquo;s happening at our&#xA;engineering colleges? When people have the chance to learn a whole&#xA;lot of science and put it to practical use&amp;hellip; why isn&amp;rsquo;t it that&#xA;they are excited about it? Why is it that people just endup&#xA;mugging a few formulae just before exams and get over with it?&#xA;Where&amp;rsquo;s the problem? Where is that curiosity, all of us had as a&#xA;child, lost?&lt;/p&gt;&#xA;&lt;p&gt;I can recollect, in the last sem while doing experiments in the MT&#xA;lab there wasn&amp;rsquo;t even a tenth of the awe or joy&amp;hellip; that i could&#xA;see and feel at the museum&amp;hellip; why?? Is it that the child within&#xA;us.. [the future engineers] dead? { If that&amp;rsquo;s true.. then the&#xA;country is in deep trouble..} But I don&amp;rsquo;t think that&amp;rsquo;s true&amp;hellip; I&#xA;enjoyed my visit to the museum totally&amp;hellip;and I am sure every other&#xA;&amp;rsquo;to be engineer&amp;rsquo; would have too.. then where&amp;rsquo;s the trouble?&lt;/p&gt;&#xA;&lt;p&gt;I don&amp;rsquo;t know exactly&amp;hellip; but I wonder if its because everything is&#xA;equated to marks and grades&amp;hellip; all that matters to an engineering&#xA;student [and the world around him/her..] is his/her CG or&#xA;%age&amp;hellip; Is this what the country needs? Were the &amp;rsquo;temples of&#xA;Learning&amp;rsquo;- the IIT&amp;rsquo;s and a whole lot of other technical&#xA;institutions set-up for this very pupose? Of what use are those&#xA;engineers to the country, who aren&amp;rsquo;t in awe of science and&#xA;engineering, whose spirit of curiosity has been overpowered and&#xA;suppressed by the present education system?&lt;/p&gt;&#xA;&lt;p&gt;Isn&amp;rsquo;t it time we have a closer look at our education system&amp;hellip; why&#xA;are we still sticking to the &amp;lsquo;British sytem&amp;rsquo; introduced during a&#xA;colonial rule.. to break the back bone of our nation&amp;hellip; to supress&#xA;our ability to think rationally.. to produce third rate clerks to&#xA;work for them at lower wages? Why is the emphasis on marks and&#xA;grades growing exponentially? Shouldn&amp;rsquo;t we start working to cut&#xA;this growth at its root? Is this sytem good enough to produce&#xA;&amp;ldquo;real&amp;rdquo; engineers, doctors, lawyers, journos, CA&amp;rsquo;s, architects,&#xA;designers, writers, artists etc etc..&lt;/p&gt;&#xA;&lt;p&gt;Where have all the gurukuls of the ancient past and the&#xA;Santiniketans of the recent past gone? Isn&amp;rsquo;t the country in&#xA;desparate need of more of these &amp;rsquo;temples of learning&amp;rsquo;??&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;The highest education is that which does not merely give us&#xA;information but makes our life in harmony with all existence.&lt;/em&gt; &amp;ndash;&#xA;Rabindranath Tagore&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Science is a wonderful thing if one does not have to earn one&amp;rsquo;s&#xA;living at it&lt;/em&gt; &amp;ndash;Albert Einstein&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
