Wednesday, November 10, 2010

Configuring Spectranet cable broadband to work on Debian Squeeze

This post attempts to explain how spectranet cable broadband can be configured on debian squeeze ( possibly other distributions of linux ).

I have followed exactly the same process as is outlined in the following article: http://www.cyberciti.biz/tips/howto-ubuntu-linux-convert-dhcp-network-configuration-to-static-ip-configuration.html .

The cable operator for my Spectranet broadband connection provided me the following information

1. static ip address
2. subnet mask
3. gateway
4. dns server
5. alternate dns server

I am reproducing the steps just for completeness ( all addresses, for example, 192.168.1.1 below are fabricated for illustration, please use the actual values provided to you. These values can be got by double clicking the network icon in the windows task bar, then clicking properties, selecting tcp/ip and finally clicking properties. )

The symbol # below represents root user prompt in linux.

1. modify the file /etc/network/interfaces as follows
iface eth0 inet static
address 192.168.1.1
netmask 255.255.0.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.3

2. # /etc/init.d/networking restart

3.Add the new dns server name by modifying the file /etc/resolv.conf
nameserver 192.168.1.1
nameserver 192.168.1.2

4. #ifconfig eth0 down

5. #ifconfig eth0 up

6. #ifconfig eth0
192.168.1.50 netmask 255.255.0.0 up

7. #
route add default gw 172.16.236.0

8. From the windows machine look at the address spectranet uses for log-in from the browser. The address will look like http://192.168.1.2/userportal/login.do and type this address into the browser. You should be redirected to the spectranet login page. Thats it.

Sunday, October 31, 2010

Isn't this inhuman? On the process of selection of children into schools.

The uniqueness in every child is a well recognized fact, however it is very surprising that our education system does not support this adage. In this short essay I present some arguments and support them via evidence.
I focus my attention to nursery/pre-nursery admissions into schools in the Indian scenario. Schools, mostly private schools, can be categorized almost readily into a spectrum ranging from best to worst. Some characteristics of best schools are high fees, generally the word "international" associated with its name and very strict admissions process. It is admission criteria that I want to discuss. Few questions, which do not necessarily bring out the child's inherent capabilities, are used to decide whether the child will be admitted or not admitted.
Interestingly, the binary question of whether the child can be admitted or not admitted does not seem to have to do with the child, rather with the school. I mean, the child is not admitted due to lack of preparedness with the converse being also true. But, then how this statement is coherent with the fact that someone is a child. A child is supposedly more creative than an average adult human being. How can a standard test of few minutes judge about the inherent talents of a child?
Right from the age of three-five years the child is tagged intelligent or non-intelligent and they are forced to live with this tag throughout their life. The intelligent students receive every benefit that exists while the non-intelligent can at the most survive and get exploited.
It is very saddening that in spite of the fact that we have got just one small Earth ( in comparison to the vastness of the universe ), we fail to educate the way every unique child deserves.
I am confident that the system is a cumulative of "selfishness" of the so called governments, managements, corporations and so on. The focus is not the child but something else. A system must be evolved that could actually recognize the inherent talents of every child and propel them in the right direction. Even children are victims of human vices.

Wednesday, September 22, 2010

On abstraction

Abstraction is central computer science -- theory of computer science to software engineering applies it. Recently I have been involved in a project where I attempted to follow the methods of system engineering and I came across some questions in relation to abstraction.
Although I have some sense of abstraction i.e. a writing instrument is more abstract than a pen but there remains other central mysteries. In particular I went to muse on the following questions
  • Is abstraction quantifiable as we can quantify speed, for example, but then before I try to measure abstraction what is meant by "quantifying something"? Which quantities are fundamentally quantifiable and which quantities are not quantifiable?
While musing on the above question I could make up the following line of reasoning ( on haunch and no correctness is implied ) if something has to be quantifiable then a measurement has to exist for the quantity. Since measurement is a process -- physical process and questions about a physical process can be answered with respect to Quantum Turing machines. This means only those measurements are plausible which can be simulated on a Quantum Turing machine (QTM) and other measurements are implausible. Hence the question of measurement and quantification might be resolvable by the study of QTM's, however it still does not answer if abstraction is quantifiable.
It appears that there must be some relationship between a concept/idea, like abstraction and its property of being quantifiable. Since I don't have any go from now on I leave these questions here. However, I must note that when I think of trying to measure abstraction some quantities do come to mind like entropy but then it also appears that the quantity (if it exists) might be similar to entropy but not exactly the same.
Another question that has propped up in my musings is the following
  • Is abstraction a fundamental concept in the same sense that momentum is a fundamental quantity?
Conclusion
Quantification of abstraction would be interesting, for quantification might indicate the more levels of abstraction that is yet to be traversed. And what could be better if we can still quantify the degrees of abstraction.
I am not sure of the validity of my questions or line of reasoning but I have written it because it all appeared very cogent to haunch.

Tuesday, May 4, 2010

Possible Technique for solving mathematical problems


I have always been interested in ways and techniques people use to solve mathematical problems possibly because I have always struggled with math. Recently I read a wonderful article which was describing a property of perfect numbers i.e. natural numbers whose positive divisors including 1 but excluding itself sum to the number, for example 6 is a perfect number because the divisors of 6 (1,2,3,6), including 1 but excluding 6 sum to 6 (6 = 1 + 2 + 3).

The author was explaining that the prime number representation of a natural number n can be used to find the sum of the principal divisors. For example, if n = p1^e1 * p2^e2 * ...*pn^en then the sum of all the divisors is given by (1 + p1 + p1^2 ... + p1^e1) x (1 + p2 + p2^2 + ... + p2^e2) x...x(1+ pn + pn^2 + ... + pn^en). And since each of the terms is a geometric series it follows that this product is reduced to ( (p1^(e1+1) - 1)/(e1 - 1) ) X ( (p2^(e2+1) - 1)/(e2 - 1) ) X ... X ( (pn^(en+1) - 1)/(en - 1) ). However this left me perplexed how someone could think of multiplication of such nice series?

In order to investigate this issue let us consider a simple example. Let the natural number n = 12. Now, 12 = 2.2.3 or 2^2 . 3. According to the previous expression sum of the divisors can be written as (1 + 2^1 + 2^2) X (1 + 3) = ((2^(2+1) - 1)/(2-1) ) X (((3^(1+1) - 1)/(3-1)) = ((2^3 - 1)/1) X ((3^2 - 1)/2) = 7 . 4 = 28. On the other hand the positive divisors of 12 are {1,2,3,4,6,12}. Observe that the sum that we calculated include the number (here 12) as well i.e. 1+2+3+4+6+12 = 28.

Our problem can also be framed as start with the expression 1 + 2 + 3 + 4 + 6 + 12 and deduce (1 + 2 + 2^2) . (1 + 3). Observe that 1 + 2 + 3 + 4 + 6 + 12 = 1 + 2 + 3 + 2.2 + 2.3 + 2.2.3 = 1.1 + 2.1 + 1.3 + 2^2.1 + 2.3 + 2^2 . 3 = 1.(1 + 3) + 2.( 1 + 3) + 2^2(1 + 3) = (1 + 2 + 2^2).( 1 + 3) . If we multiply out the expression (1 + 2 + 2^2) ( 1 + 3), now it seems clear that all terms will divide 12.

Although the above stated problem/example is trivial but it does teach at least one problem solving technique - generally the expressions are associated with some kind of "fill in the blank" and as soon as the blank is filled the way to deduce other things might become obvious. For example in the previous example things become clear when we expressed all single digit terms as the product of the digit and 1 i.e. 2 = 1.2.

Monday, January 25, 2010

Merging computational and communication interface in computer algebra systems

Computer algebra systems (CAS) generally do not integrate with any communication interface. Essentially the computational interface of CAS is the only interface provided. For communication we generally have to rely upon an external program like kopete (http://kopete.kde.org/) or pidgin (http://www.pidgin.im/). Even though kopete and pidgin do provide a tex plugin to display mathematical content it is still tedious to switch between the computational interface and communication interface, that is, computing somewhere and then copying the results and so on.
This situation can be changed in the following way (probably) - imagine a mathematical worksheet where we do the computations but then we run into need for help. I want that part of the worksheet to be visible to the person I want to communicate but probably not the whole of the worksheet. Essentially this would mean the whole communication will be focused on that part of the worksheet. The communication could as well be multi-party communication - like IRC.
So what would be the possible work flow to bring about this functionality? Imagine the following - the worksheet is completely free form that we can place text, equations, tables, graphs etc anywhere. Any part of the worksheet is also selectable just by dragging the mouse. Hence, I drag the mouse and select the region of the worksheet that I want to discussion on. By the side of the selection area a pop-up comes like the one comes by the side of plasma applets in KDE4 desktop. The text part of the communication can be handeled by this pop-up (other possibilities are not ruled out like voice and video communication) whereas the computational part will be handeled by the worksheet itself. Hence, I can compute then and there thereby providing seamless integration of computational and communication interface. Of course other concerns undo has to be built into the system.
In which kind of systems this can be useful? Well a CAS to support such a design might have the following two properties
  1. It has a distributed or client-server architecture there allowing CAS worksheets to communicate with each other.
  2. It has a natural interface where mathematical symbols can be displayed naturally.
  3. It is web enabled.
I dont think a lot of CAS support all these facilities and I am not really sure how much would be the cost of implementing such an interface, however, SAGE (www.sagemath.org) really comes close and has the potential for such an implementation.

Potential Advantages
  1. Communities and worksheets are closely integrated
  2. There would be no difference between communication and computation interface
  3. May be mathematics becomes more fun and exploratory.

Sunday, January 24, 2010

How did I get cantor build on my laptop

It started when I had Debian 5.0 (lenny) installed on my machine. I tried to upgrade it to testing and unstable but things did not work out very smooth and for some reason I lost the complete graphical display. Then I went to #kde-edu on freenode and asked people for suggestions. Some people suggested me to install opensuse11.2, which I did.
For some reason I was badly missing synaptic package manager and breadth of packages that Debian provides. So finally I decided to use a distribution based on Debian. There seemed to be many options (http://www.debian.org/misc/children-distros) but I choose ubuntu. Hence I downloaded ubuntu 9.10 (Karmic) and installed it. But then while searching for a more "development friendly" ( not much concern for stability and so on) distribution I found that kubuntu (http://www.kubuntu.org/) would be a better distribution, probably because it had explicit focus on KDE.
If ubuntu is already loaded it is quite easy to move to kubuntu and edubuntu, install the kubuntu-desktop which is present in synaptic - essentially it will install many more kde packages. But the kde version with kubuntu 9.10 (karmic Kaola) is 4.2.3 however I needed the 4.4 libraries to build cantor on.
It is easy to upgrade KDE using ppa (personal package archives). Very clear instructions are given here (https://help.ubuntu.com/community/Repositories/Kubuntu). Once KDE has been upgraded follow exactly the instructions given here (http://edu.kde.org/cantor/obtain.php) to build cantor.
It is very likely that in the first attempt build errors will be encountered like ZLIB (missing: LIBRARY HEADER) and so on. I went through the error messages carefully and and searched the corresponding packages in synaptic. All of the essential packages were available. After installing all the packages I could build and install cantor ( a mathematical frontend for sage, maxima, R and so on).
However in all these process following things must be noted
  1. Debian and/or Debian based distributions have tremendous package management utility.
  2. During build process continuous availability of the Internet is a necessity.
  3. The headers and libraries are included in *-dev packages and hence only the binary is not sufficient for development. Need to install the required development packages.
  4. On kubuntu in order to run a command from command line with super user previlages use the following $sudo sh -c "make install".