Category Archives: Education

Scientific genius is associated with abilities in the fine arts

A study finds scientific genius (measured in various ways) is associated with abilities in the fine arts. The abstract of the study is:

Various investigators have proposed that “scientific geniuses” are polymaths. To test this hypothesis, auto­ biographies, biographies, and obituary notices of Nobel Prize winners in the sciences, members of the Royal Society, and the U.S. National Academy of Sciences were read and adult arts and crafts avocations tabulated. Data were compared with a 1936 avocation survey of Sigma Xi members and a 1982 survey of arts avocations among the U.S. public. Nobel laureates were significantly more likely to engage in arts and crafts avocations than Royal Society and National Academy of Sciences members, who were in turn significantly more likely than Sigma Xi members and the U.S. public. Scientists and their biographers often commented on the utility of their avocations as stimuli for their science. The utility of arts and crafts training for scientists may have important public policy and educational implications in light of the marginalization of these subjects in most curricula.

Full citation: Root-Bernstein, Robert, et al. “Arts foster scientific success: Avocations of Nobel, National Academy, Royal Society, and Sigma Xi members.” Journal of the Psychology of Science and Technology 1 (2008): 51-63. Non-gated download link.

This should have the interest of followers of this blog. Here’s some of the data:


As can be seen, Nobel winners were much, much more likely to have artistic interests than members of the general public. By all means, read the paper yourself. It is only 13 pages. The authors have spent some time collecting anecdotes from various scientific geniuses that illustrate their love for the arts and science.


Ada 2012 Tutorial #2

Ada 2012 Tutorial
Parsing (and Streams)

Ada Lovelace, the namesake of the Ada programming language, considered the world’s first computer programmer

We left off the previous tutorial at parsing input from a user or a file, so we’re going to address that today. First, however, I need to introduce Streams.

Streams are a method to read or write any object to any medium, and thus they are doubly generalized. This also means that you are bounded by the most restrictive set of operations common to all mediums. As an example, you cannot provide position control in a general manner because not all transmission modes are random-access (like receiving a radio-signal), and not all streams are bi-directional (like a light-sensor).

In the informal parlance we’ve adopted we can just sat that all types have stream attributes, accessed with ‘Read and ‘Write, because all elementary types have them and the compiler knows how to compose compound types from elementary types, so you don’t normally have to keep track of elements in a compound type. (You do have to keep track of them if you’re writing both read and write that must be be functionally, rather than perfectly, inverse-operations; this is not a deficiency, but because you are implementing a protocol.)

So let’s see how to do it.
Continue reading


Polymaths, freedom of information, and copyright – why we need copyright reform to more effectively increase the number of polymaths

Emil Kirkegaard, board member of Pirate Party Denmark


Polymaths are people with a deep knowledge of multiple academic fields, and often various other interests as well, especially artistic, but sometimes even things like tropical exploring. Here I will focus on acquiring deep knowledge about academic fields, and why copyright reform is necessary to increase the number of polymaths in the world.

Learning method
What is the fastest way to learn about some field of study? There are a few methods of learning, 1) listening to speeches/lectures/podcasts and the like, 2) reading, 3) figuring out things oneself. The last method will not work well for any established academic field. It takes too long to work out all the things other people have already worked out, if indeed it can be done at all. Many experiments are not possible to do oneself. But it can work out well for a very recent field, or some field of study that isn’t in development at all, or some field where it is very easy to work it things oneself (gather and analyze data). Using data mining from the internet is a very easy way to find out many things without having to spend money. However, usually it is faster to find someone else who has already done it. But surely programming ability is a very valuable skill to have for polymaths.

For most fields, however, this leaves either listening in some form, or reading. I have recently discussed these at greater length, so I will just summarize my findings here. Reading is by far the best choice. Not only can one read faster than one can listen, the written language is also of greater complexity, which allows for more information acquired per word, hence per time. Listening to live lectures is probably the most common way of learning by listening. It is the standard at universities. Usually these lectures last too long for one to concentrate throughout them, and if one misses something, it is not possible to go back and get it repeated. It is also not possible to skip ahead if one has already learned whatever it is the that speaker is talking about. Listening to recorded (= non-live) speech is better in both of these ways, but it is still much slower than reading. Khan Academy is probably the best way to learn things like math and physics by listening to recorded, short-length lectures. It also has built-in tests with instant feedback, and a helpful community. See also the book Salman Khan recently wrote about it.

If one seriously wants to be a polymath, one will need to learn at speeds much, much faster than the speeds that people usually learn at, even very clever people (≥2 sd above the mean). This means lots, and lots of self-study, self-directed learning, mostly in the form of reading, but not limited to reading. There are probably some things that are faster and easier to learn by having them explained in speech. Having a knowledgeable tutor surely helps in helping one make a good choice of what to read. When I started studying philosophy, I spent hundreds of hours on internet discussions forums, and from them, I acquired quite a few friends who were knowledgeable about philosophy. They helped me choose good books/texts to read to increase the speed of my learning.

Finally, there is one more way of listening that I didn’t mention, it is the one-to-one tutor-based learning. It is very fast compared to regular classroom learning, usually resulting in a 2 standard deviation improvement. But this method is unavailable for almost everybody, and so not worth discussing. Individual tutoring can be written or verbal or some mix, so it doesn’t fall under precisely one category of those mentioned before.

How to start learning about a new field
Continue reading


Ada 2012 Tutorial #1

Ada 2012 Tutorial

Ada Lovelace, the namesake of the Ada programming language, considered the world’s first computer programmer

    Welcome to the tutorial! I will be making some assumptions which are fairly safe: first, that you are unfamiliar with the Ada language; second, you have at least some interest in discovering what it is about; third, that you have some programming experience; and last, that you have an Ada Compiler. (There’s a free one available from AdaCore here, and the GCC has one as well.)
    Ada is probably different than what programming languages you are likely to be familiar with, this is a result of Ada’s design goals — two of which are safety and maintainability. The first means that Ada tries to do a lot of checking up-front, in compilation if possible, which reduces the time spent debugging at the cost of the compiler rejecting erroneous source. That can be frustrating at times, but it is better than having to spend three days tracking down a bug. This leads us to the second difference, Ada was designed to be highly maintainable, even across large teams, which is evident in its package system.
    To introduce the language I will use a small and simple (read as ‘toy’) LISP-like interpreter. To begin with, we need to realize that LISP runs on a loop of read-input, evaluate, and print.

Continue reading