Wednesday, May 24, 2006

new version of mobihf

get the stuff from:

http://tovganesh.googlepages.com/s60

and let me know the feedback on the previous post on math library in symbian!

Tuesday, May 23, 2006

Bugs in Symbian math library?

This is my experience of using the math library function for Symbian 7.0 (s60 2nd phone, nokia 6600) while writing two applications that require extensive math support in terms of basic function like pow(), acos() along with some advanced functions like lgamma().
The applications (mobimol and mobihf) are currently hosted at my google pages along with their sources at: http://tovganesh.googlepages.com/s60

Simple functions like pow() and acos() seem to have some problem with handling very low values, which are typically less 1.0e-12. So, using such functions with these low value resulted in crashing of the code (in this case the Python interpreter), with no apparent error message. To avert this problem I had to add a wrapper over the pow() or acos() function that reads some what like as follows:


def myacos(ang):
if(round(ang,1)==1.0): return 0.0
return acos(ang)

def mypow(self, x, y):
if (round(y,10)==0.0): return 1.0
if (round(x,10)==0.0): return 0.0
return pow(x, y)


Initially I thought that this problem was only with Python implementation of these method, but it suddenly struck me that the implementation of these function would probably be done by the underlying symbian math library. When I wrote a similar code (for mobihf) in C++ I faced a similar problem of the code crashing with no apparent warnings or errors. To avert this problem I had to write another wrapper in my C++ code, which is probably more correct than the Python version that I had written earlier:


double absd(double x) {
return (x<0.0 ? -x : x);
}

double mpow(double x, double y) {
if (absd(y)<=1.0e-10) return 1.0;
if (absd(x)<=1.0e-10) return 0.0;
return pow(x, y);
}


The most painful part was that abs(y) did not work, and the complier (Symbian SDK on Windows XP for s60 2nd edition) gave me an error indicating that abs() takes an int argument (possibly it took my code to be a pure C code)!! Anyways, I later on discovered that it is better to use fabs() instead.

And finally many math function that are a part of standard C library seem to be not available with the Symbian SDK most notable ones that I missed were: round(), lgamma()

It may be possible that the Symbian OS developers have not paid a lot of attention in writing these specialized functions given the very limited nature of the smartphone platform, but I guess with stiff competition coming up from other quarters (Windows, Linux, SavaJe), it is possibly worthwhile to correct such problem and make the already wonderful Symbian OS more general.

PS. These are solely my private views and have nothing to do with Symbian development team.
Also I have tested these codes only on my Nokia 6600, these may have been corrected in later version of the Symbian OS, consequently I urge the readers to download the code provided in the above link and verify if the "bugs" still persist. If so, please let me know by posting a comment here.

Thursday, May 18, 2006

convert ur mp3 to ogg

if u are a linux user and enjoy listening to some gr8 mp3 and wma, then converting them to a better "opensource" alternative: ogg vorbis is really simple :>

you need:
1) mplayer with all its plugins
2) oggenc (i.e. ogg support - comes default in most distros, i use FC5)
3) use the following script (toogg.csh) to convert the files

------------------------------------------

#~/bin/csh
mplayer -ao pcm "$1"

set quality = $2

if (null$quality == null) set quality = hi

if ($quality == lo) then
# useful for your mono phones (like 6600)
oggenc --downmix --resample 8000 -q 1 audiodump.wav
else
oggenc audiodump.wav
endif
mv audiodump.ogg "$1:t:r".ogg
rm -f audiodump.*


------------------------------------------

and enjoy the freedom in music (or videos) :)

Wednesday, May 17, 2006

Motorola opensource

Motorola opensource


with Motorola following Nokia http://opensource.nokia.com/ in opensourcing its software stack, i do not see any reason to buy a windows powered mobile!

Tuesday, May 16, 2006

parvati shots

being in pune for so long and not going to parvati is something that i can't still digest. but any way finally went here for the first time! here are some shots from my mobile.









Sun promises to open source Java

Sun promises to open source Java


WOW! Now that probably means SUN is working on something entirely new. Probably the Fortress.

I guess this is the best way to manage software today, make it so big and usable, and make people so dependable on it that one day if you opensource it: you donot loose any thing, you still win hearts and make money.

what does it mean to opensource J2SE/J2ME will have to be seen. but to my best apprehension, sun will go for opensourcing J2EE and J2SE and may be J2ME too, but will take licensing fee from implementers.

now if J2SE really is opensourced, the other attempts to make opensource implementation of 1.5 like the apache foundations Harmony project become redundant.

secondly, J2SE stack should be opensourced in such a way as not to have forks, which are so common on opensource community. if forking happens that all breaks down the fundamental idea of Java platform: "write ones, run everywhere".

some shots of may



May flower in department of chemistry garden.




and the drops of water looks good in this scorching summer heat.

Monday, May 15, 2006

simputer

have written up a general article on Simputer at: http://qbit777.googlepages.com/simputer

also check an interesting article on programming Simputer at:
http://linuxgazette.net/issue87/pramode.html

and another interesting post from a user:
http://www.knowprose.com/node/3008


... making me more and more crazy about this device and its use ;)

Sunday, May 07, 2006

3-Lib History of Psion

3-Lib History of Psion

... A pretty informative article on Psion to Symbian and the man who made it: Dr. David Potter, a doctorate in mathematical physics!