Monday, May 9, 2011

An amazing open letter from the Free Software Foundation about Gmail.

Did you know that, like you, nearly 50% of the 40,000 subscribers to the FSF's supporter mailing list have an @gmail.com email address?

JavaScript, once lauded for adding simple visual effects to web pages, is now used by web sites like Gmail to run powerful programs on your computer. These programs, like any other program running on your computer, should be free software. But right now, the vast majority of JavaScript programs do not respect your essential freedoms to run, study, modify and share them. They take control of your computer away from you; the same control we have been working for over 25 years to protect.

Because of the incredibly high percentage of Gmail-using free software supporters, we're taking action to raise awareness about how to use Gmail without using proprietary software. We'll also be working on longer term solutions, but the most immediate positive step to take is to stop running the proprietary programs.

Many people suggest that you shouldn't use Gmail at all, because it means losing control over your data and privacy. We agree that this is a very important factor for you to consider when choosing how you will handle your email.

But since you are already using Gmail, please help us build momentum for change by not using the proprietary JavaScript on your system -- and helping others to do the same.

Yours sincerely,
Matt Lee
Campaigns Manager
Free Software Foundation

--

Sent from the Free Software Foundation,
51 Franklin Street
Fifth Floor
Boston, MA 02110-1335
United States

Monday, April 18, 2011

Maxima released!

From the mailing list of Maxima software:

Announcing Maxima 5.24

Maxima is a GPL'd branch of Macsyma, the venerable symbolic
computation system. Maxima 5.24 is a bug fix and feature
enhancement release. The current version is 5.24.0.

Maxima has functions to work with polynomials, matrices, finite sets,
integrals, derivatives and differential equations, linear algebra,
plotting, floating point and arbitrary-precision arithmetic, etc.

Maxima can run on MS Windows and various flavors of Unix,
including MacOS X.
There is a precompiled executable installer for Windows,
RPM's for Linux, and source code tar.gz.

Maxima is implemented in Common Lisp; several Lisps can compile
and run Maxima, including CMUCL, SBCL, Clisp, GCL, and ECL.
The default Windows installer (maxima-5.24.0.exe) was compiled
with GCL, while maxima-5.24.0-ccl.exe was compiled with Clozure CL.

The Maxima project welcomes new participants. You can contribute
in several ways: reporting bugs, fixing bugs, writing new add-on
packages, revising core functions, user interfaces, documentation, ....
Why not see what's happening on the mailing list and consider how
you might contribute to the project.

Thanks to everyone who contributed to the 5.24 release.

Regards,
Robert Dodier
Maxima developer and 5.24 release manager

Project page:
http://sourceforge.net/projects/maxima

Documentation:
http://maxima.sourceforge.net/documentation.html

Bug reports. You must create a Sourceforge login
before filing a bug report (anonymous reports no longer allowed).
http://sourceforge.net/tracker/?group_id=4933&atid=104933

Mailing list. Please sign up before posting a message.
http://maxima.sourceforge.net/maximalist.html

Download page:
http://sourceforge.net/project/showfiles.php?group_id=4933

Ports page:
http://apps.sourceforge.net/mediawiki/maxima/index.php?title=Maxima_ports

Project home page:
http://maxima.sourceforge.net

Change log:
http://maxima.cvs.sourceforge.net/*checkout*/maxima/maxima/ChangeLog-5.24


The current stable version at maxima.sourceforge is 5.18.1, which is older than my Ubuntu 10.04 package version Maxima 5.21.1!

Installing the latest version over the Ubuntu version may result in aggravations. You are on your own.

Saturday, April 9, 2011

Our main blog is suffering from WP supercache bug.

When I put the url http://adorio-research.org in the address bar of the browser, I only get a blank page! Here is the contents of the blank page with the comment delimeters removed:



Page not cached by WP Super Cache. Blank Page. Check output buffer usage by plugins.

Page not cached by WP Super Cache. No closing HTML tag. Check your theme.

Yet when I go to a specific post like http://adorio-research.org/?p=3470,that post jus shows up fine! Going to settings of the plugins, I get this one for WP Super Cache:

Permlink Structure Error

A custom url or permalink structure is required for this plugin to work correctly. Please go to the Permalinks Options Page to configure your permalinks.

I wanted to remove the WP Super Cache plugin but it does not appear in the list of installed plugins! We have an unhappy future days trying to fix this WP Super Cache problem.

Saturday, March 12, 2011

Incredible widgets from Opera.

The current Opera amazes me. Though I have tried some of the widgets before, the speed of the modern widgets is almost unbelievable. According to the Opera site, it uses hardware acceleration. How it does it is magical, but I am blown away by the following science widgets (in Ubuntu, they are accessible in Applications/Other menu.

Spirograph

Widtex

Scientific Calculator

Math Workpad

There are a host of other applications, and you will not be sorry if you install Opera in your Windows, Linux or Apple/Mac computers.
The widgets are available from http://widgets.opera.com/.
The widgets can run even if Opera is not installed. I just wish, Nokia can install these widgets in the C3 phone.

Amazing!

Friday, February 11, 2011

Hooray for Libre Office 3.3!

Take a look at the impressive list of new features of the LibreOffice, the opensource and still free fork of the OpenOffice package or OO. OO is now under the control of the new owner of Sun Microsystems and software products and we are glad the fork will develop into a more open and inviting office productivity software.

The impressive list of features and fixes (to the last OO version) is available in
http://www.libreoffice.org/download/new-features-and-fixes/

We are still downloading the software as we write this. Should be able to add more to this blog post.


Update: You dont have to download manually any deb packages if you are using the latest Ubuntu! I wasted time for the downloading and manual install via dpkg -i install command.
Instead the reader should consult https://wiki.ubuntu.com/LibreOffice. LibreOffice is part of the latest Ubuntu OS! The first step is to add the package repository so we would be able to get any latest updates.

Here are the steps:

  1. Install the repository for libreoffice.
  2. sudo add-apt-repository ppa:libreoffice/ppa
  3. Next perform an update.
  4. sudo apt-get update
  5. Then do the package install
  6. sudo apt-get install libreoffice At this point however libreoffice is not available from the Applications menu! You still have to install the GNOME interface package.
  7. sudo apt-get install libreoffice-gnome

Wednesday, September 22, 2010

Scipy curve_fit for easy nonlinear least squares fitting.

Assume we are given input or independent vector x and the repsonse or dependent vector y.
It is desired to fit a non-linear multivariate function of the form y' = f(x, c0, c1,..., c_k) through the points (x, y)
by least squares with the unknown parameters $$c_0, ... c_{k-1}$$ such that

$$T = \sum_{i=0}^{n-1}([y_i- f(x, c_0, c_1, ..., c_{k-1})]^2$$

is minimized. Scipy has an easy to use function from the optimize module to find optimal values of the
fitting parameters by the Levenberg-Marquardt algorithm. It has the following calling format:

curve_fit(f, xdata, ydata, p0=None, sigma=None, **kw)

where the parameters are:

f - The model function, f(x, ...).  
    xdata - an array of predetermined values of length n.
    ydata : an array of dependentdent data.
    p0 : None, scalar, or M-length sequence
        Initial guess for the parameters with a default value of 1 if not given.
    sigma : standard deviation of dependent data which is used as weighting f.
        If not specified,  uniform weights will be applied.

The function returns a pair, (popt, pcov) where

popt : output array of optimal fitted parameters  
    pcov : variance-covariance matrix of fitted parameters. the variances of the parameters are
           along the diagonal.

Here is the built-in example (with known parameters! but with added normal errors) for an exponential function $$y =a e^{-b x} +c$$
with three fitting parameters. It is interesting to see how the curve_fit() function can recover the parameters (not exactly the original
values because of random deviations added to the data).

import numpy as np
from scipy.optimize import curve_fit

def func(x, a, b, c):
    return a*np.exp(-b*x) + c
  
if __name__ == "__main__":  
   x = np.linspace(0,4,50)
   y = func(x, 2.5, 1.3, 0.5)
   yn = y + 0.2*np.random.normal(size=len(x))
   popt, pcov = curve_fit(func, x, yn)

   print "Fitted parameters approximations:", popt
   print "Variance-covariance matrix:"
   print pcov

When the above example is run,it prints the following:

$ python curvefit.py
Fitted parameters approximations: [ 2.29258582 1.34085286 0.58836951]
Variance-covariance matrix:
[[ 0.01242794 0.00585958 -0.00061056]
[ 0.00585958 0.01945042 0.00477259]
[-0.00061056 0.00477259 0.00225576]]
~/Blogs/scipy/fitting$




But there is a catch for Ubuntu 10.04 users. The version of scipy installed is only at 0.7.0-2 while the curve_fit function
is available only with a later version 0.8.0. One has to temporarily remove the scipy-numpy and associated modules
and reinstall them again. I have difficulty installing matplotlib, so let's hope that Ubuntu package maintainers will be able to incorporate the latest statble versions of scipy, numpy and matplotlib in the next Maverick Meerkat version which is available on Monday!

Thursday, August 19, 2010

Matplotlib installing in a web server.

Matplotlib is the most complete 2d plotting package in Python you can find at the moment.
You will not encounter much problems installing and running matplotlib on a desktop but on a remote server, you might encounter problems, like missing or unconfigured tz packages.

So we will document installing from sources the matplotlib plotting package.

Step 1. Get the sources!
wget wget http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmatplotlib%2Ffiles%2F&ts=1282255399&mirror=nchc


Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://surfnet.dl.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz [following]
--2010-08-19 22:11:56-- http://surfnet.dl.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0/matplotlib-1.0.0.tar.gz
Resolving surfnet.dl.sourceforge.net... 130.59.138.21, 2001:620:0:1b::21
Connecting to surfnet.dl.sourceforge.net|130.59.138.21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12918842 (12M) [application/x-gzip]
Saving to: `matplotlib-1.0.0.tar.gz'

100%[==========================================================================================================================================>] 12,918,842 3.26M/s in 6.3s

2010-08-19 22:12:03 (1.95 MB/s) - `matplotlib-1.0.0.tar.gz' saved [12918842/12918842]

Step 2. Untar the package.

tar xzvvf matplotlib-1.0.0.tar.gz. This will create the matplotlib subdirectory.

Step 3. Install and test.

Cd to the matplotlib subdirectory and issue sudo python setup.py install
Don't be alarmed by the many C/C++ warnings you may see.
Now run python and import the matplotlib module. In my system, there are no errors.

I resorted to installing from sources after spending almost a half-day trying to do it from
apt-get and even from easy_install. I guess there are some destination directory mismatches!

Now if you get a display not defined error after installation, issue a export DISPLAY=:1.0, and reinstall again.

We will add our attempts to generate plots and graphs on a web server from matplotlib.
Stay tuned!

Finer details on the installation of matplotlib in a server environment with an example of generating a line graph: Please visit http://linux.byexamples.com/archives/404/python-generating-graphs-with-matplotlib/