Thursday, August 25, 2011

More contributors needed for the project RCaller

We need new contributors to enhance the functionality of RCaller. We need also feedbacks about
  • type of projects that RCaller used in
  • frequently used functions of R
  • new functionality required.
  • Bug reports
We also need a web page, rather then http://www.mhsatman.com/rcaller. A Logo would be good.

We need developers, testers, documenters which may have skills on Java, R, LaTeX or HTML.

We can enlarge the space spanned by RCaller, say that, PhpCaller, CCaller or something derivative may be included for Php and C, respectively. Note that, there are already some libraries for calling R from other languages. RCaller has lesser efficiency on run time but higher speed on development time.

Please join the project.
google code page: https://code.google.com/p/rcaller/

Wednesday, August 24, 2011

Gaming with google adsense - Making money

Making money from the world-wide-web has a long history since the older ages of the web. Google is now able to download almost all of the content of web with its huge network. Adsense is an advertisement system of Google. It reads the content of the page it has been inserted and shows a related ad. If the content is related with the most paid ads, you will get more per click. There are a huge collection of sites about making money from adsense which can be tracked by a simple Google search : "how to make money with adsense".

As the other bloggers concerned, it is mostly related with the keywords on your site (Yes, there are other significant factors). It is beneficial to search Google trends for handling the most searched keywords and link your articles with those keywords.

For example, if you are a tech blogger and you want to write about tablet pc's, it is good idea to write something about hp tablet, because it is in top 10 by Aug 19, 2011. It can be proved in site http://www.google.com/trends/hottrends?sa=X&date=2011-8-19.

Today, 24th Aug 2011, the top 20 keywords are:

1. opm
2. glen campbell
3. jorge luis borges
4. earth quake
5. richmond va
6. earthquake map
7. washington monument
8. puzzle games
9. nbc news
10. dementia symptoms
11. early onset dementia
12. charlottesville va
13. brooke shields
14. cbs news
15. virginia news
16. nicaragua
17. americas got talent
18. new madrid fault
19. recent earthquakes
20. msnbc


and the expectation is to be visited when those keywords are searched. Note that, there are vast of sites links to msnbc, probably, you will not listed at the very first search results. It is the game of site rankings.

Finally, there are lots of factors, and for out opinion, your site must give really valuable information to people. 

Tuesday, August 23, 2011

Adhoc networking support on Android Froyo

In my summer holiday, i bought a Samsung Galaxy Tab Wifi only device. It was a really happy night because i had a chance to test my new android based applications. I also needed a PDF reader because i like to read books and articles when i travel from home to work. Finally, it was a nice toy for a 30+ computer geek.

The toy was nice, fast, customizable. Browsing the web is reasonable. I think, i had not got a problem with the device itself. My problem was about the Android software.

My wife has an IPhone 4 and first, i used to connect my Galaxy Tab with IPhone 4 with the functionality of iOS's infrastructure network. But there was a problem with my Nokia E72. I downloaded the JoikuSpot Lite version from OVI Store and it turned my Nokia E72 into an ad hoc access point. My wife's IPhone 4 successfuly  connected to my Nokia E72 but Galaxy Tab didn't see it in WiFi scanner.

There are lots of different solutions based on replacing the wpa_supplication dynamic library, modifying the configuration files etc.. Those files are stored in the system folders, so you have to make your device rooted or you have to connect your device with 'adb' thing which is stored in the Android SDK (under folder platform_tools).

I do not want to struggle with those things. I want my device to connect to my E72 easly.  I heard that, there is no reason my Samsung Galaxy Tab not to support adhoc networking, it is the failure of Android!.

Finally, i am disappointed...

I am not alone with this, too many people want Android to support adhoc.
This is the willings: http://code.google.com/p/android/issues/detail?id=82

Friday, August 19, 2011

RCaller is now in ohloh.net

RCaller is now in ohloh.net as a project entry. The address is https://www.ohloh.net/p/rcaller . It would be a good meeting point of developers and users of RCaller.

Friday, July 22, 2011

Random Number Generation with RCaller 2.0

Java has two standard libraries for generating random numbers. The java.lang.Math class has a random method with is used for generating uniform distributed random numbers. The second one is the java.util.Random class which has got several functions for generating random numbers. We can draw random numbers from several distribution using the probability integral transform. But R has many internal functions for random number generation from several probability distributions including the gamma, the binomial, the normal etc.


RCaller has a wrapper class, under the package statistics, for generating random number for those distributions. The class statistics. RandomNumberGenerator has these functions:


public double[] randomNormal(int n, double mean, double standardDeviation)
public double[] randomLogNormal(int n, double logmean, double logStandardDeviation) 
public double[] randomUniform(int n, double min, double max) 
public double[] randomBeta(int n, double shape1, double shape2)
public double[] randomCauchy(int n, double location, double scale) 
public double[] randomT(int n, int df) 
public double[] randomChisqyare(int n, int df)
public double[] randomF(int n, int df1, int df2)
public double[] randomPoisson(int n, double lambda) 
public double[] randomBinom(int n, int size, double p)
public double[] randomNegativeBinom(int n, int size, double p)
public double[] randomMultinomial(int n, int size, double p)
public double[] randomGeometric(int n, double p) 
public double[] randomWeibull(int n, double shape, double scale) throws 
public double[] randomHyperGeometric(int amount, int n, int m, int k) 
public double[] randomExponential(int n, double theta) throws Exception 
public double[] randomGamma(int n, double shape, double rate, double scale) 


One can see the usage of class in the Test5 class in the source of RCaller 2.0.
http://code.google.com/p/rcaller/source/browse/RCaller/src/test/Test5.java