A journey into Opensource, Algorithms, etc,. A quest for absolute Freedom! Sharing Knowledge.
Sunday, March 21, 2010
Regular expressions in Python
Pretty interesting article - http://www.informit.com/articles/article.aspx?p=1412026
Saturday, September 5, 2009
Android app Hunting Lines has been submitted as an entry into ADC2
Hunting Lines is an app that lets a user select a set of contacts and starts dialing them one after the other until one of them picks up the call. This was inspired by the problem of contacting LPG gas agencies and the like that have many phone lines that are always busy!
This app has been submitted as an entry into ADC2, which is the Android Developer Challenge 2 by Google.
Some problems/challenges we saw while making the app:
* There are internal APIs in the SDK that are invisible to developers like us unless there is a certificate that is the same as the one used by the Android core platform.
* What APIs did this app need: a way to reliably know the different phone states like call started, ringing, connected, disconnected, idle, missed etc. The only ones available are: off hook, idle and ringing. So, that was the first problem. So, how did we figure out if a call we initiated went through or not - a post by someone in Google (Megha Joshi) hinted at using call log for some question came as help. So, the app changed to look at the call log whenver the call state idle event is received. That worked!
* 2 phones had Android on them for testing - one was the openmoko phone and the other being the Android Dev Phone. One the openmoko, we used the alpha release of the cupcake version by Koolu. On this version, the app started to go from one number to the other perfectly until one of them connects.
The same thing did not work on the Android Dev Phone, why - after every call, we would end up seeing the call log screen that prevented the phone state idle event to be posted. So, you have to exit the call log screen to start dialing the next number!!! How dumb can that be specially when you want the app to be completely automatic. Any workarounds here - None!!! Just while searching for a workaround, I saw an email from someone (flohier) to the android developers forum stating the same problem and the failed attempts at getting it to work.
* At times during debugging, I would end up not seeing the app and we figured out that when Android loads, it would kill an app that does not have a certificate. I learnt this only while trying to submit the app and it threw an error saying it needs a self certified certificate.
Anyway, it is now in the contest. We plan to release the source and the apk into opensource in a day or two. We will post an update here. If you plan to use the source or the apk, please send an email to openologyATgooglegroups.com. Oh, and please send us some feedback if you use the app!
Update - here's the source - http://gitorious.org/hunting-lines
New home - http://firstpenguin.org/tiki-read_article.php?articleId=4
p.s: the name was coined by Praveen and the idea comes from Radha.
This app has been submitted as an entry into ADC2, which is the Android Developer Challenge 2 by Google.
Some problems/challenges we saw while making the app:
* There are internal APIs in the SDK that are invisible to developers like us unless there is a certificate that is the same as the one used by the Android core platform.
* What APIs did this app need: a way to reliably know the different phone states like call started, ringing, connected, disconnected, idle, missed etc. The only ones available are: off hook, idle and ringing. So, that was the first problem. So, how did we figure out if a call we initiated went through or not - a post by someone in Google (Megha Joshi) hinted at using call log for some question came as help. So, the app changed to look at the call log whenver the call state idle event is received. That worked!
* 2 phones had Android on them for testing - one was the openmoko phone and the other being the Android Dev Phone. One the openmoko, we used the alpha release of the cupcake version by Koolu. On this version, the app started to go from one number to the other perfectly until one of them connects.
The same thing did not work on the Android Dev Phone, why - after every call, we would end up seeing the call log screen that prevented the phone state idle event to be posted. So, you have to exit the call log screen to start dialing the next number!!! How dumb can that be specially when you want the app to be completely automatic. Any workarounds here - None!!! Just while searching for a workaround, I saw an email from someone (flohier) to the android developers forum stating the same problem and the failed attempts at getting it to work.
* At times during debugging, I would end up not seeing the app and we figured out that when Android loads, it would kill an app that does not have a certificate. I learnt this only while trying to submit the app and it threw an error saying it needs a self certified certificate.
Anyway, it is now in the contest. We plan to release the source and the apk into opensource in a day or two. We will post an update here. If you plan to use the source or the apk, please send an email to openologyATgooglegroups.com. Oh, and please send us some feedback if you use the app!
Update - here's the source - http://gitorious.org/hunting-lines
New home - http://firstpenguin.org/tiki-read_article.php?articleId=4
p.s: the name was coined by Praveen and the idea comes from Radha.
Thursday, July 9, 2009
InstallShield error 6199 and other errors...
I am posting this here because the forums I have been visiting don't let me post unless I am registered. I don't want to register because this will be the only time I will post. So, I thought why not let Google search land up at this blog entry? That will keep things simple.
I got this unusual error and with the help of a friend, figured out that a "special" character had landed into the Installshield ISM file. Instead of "Author's" it had become "AuthorÉs" (I have used Alt+keypad 400 to generate this character in place the actual one I saw!).
This was figured out by opening the ISM file in the InstallShield editor while all the time, the internal error was showing up in the command line. It turns out that I have seen a lot of people using the ISsaBld.exe to generate the installers. So, the editor said - Line 1549 Col 100 has a special char, while the command line just generated "ISDEV: internal error -6199". Interesting isn't it?
There were other errors like the directory where the output was being generated was open by some process. So, I used SysInternals' ProcessExplorer to figure it out!
I got this unusual error and with the help of a friend, figured out that a "special" character had landed into the Installshield ISM file. Instead of "Author's" it had become "AuthorÉs" (I have used Alt+keypad 400 to generate this character in place the actual one I saw!).
This was figured out by opening the ISM file in the InstallShield editor while all the time, the internal error was showing up in the command line. It turns out that I have seen a lot of people using the ISsaBld.exe to generate the installers. So, the editor said - Line 1549 Col 100 has a special char, while the command line just generated "ISDEV: internal error -6199". Interesting isn't it?
There were other errors like the directory where the output was being generated was open by some process. So, I used SysInternals' ProcessExplorer to figure it out!
-raghav
Thursday, May 21, 2009
Inspired by Dr.Randy Pausch
Landed up at the transcript of Dr.Randy Pausch's 'Last Lecture' and was instantly inspired by him. Ended up reading his book and have had many discussions with Prasad, Radha and Subbu.
Did something interesting with the 'First Penguin' chapter! More information will follow soon. BTW, 'First Penguin' just bowled us out!!!
Thank you Dr.Randy Pausch for everything! And for 'Alice' the 3D programming language!
Someday, we wish to visit CMU, walk on the Randy Pausch bridge and scale the brick walls!!!
Did something interesting with the 'First Penguin' chapter! More information will follow soon. BTW, 'First Penguin' just bowled us out!!!
Thank you Dr.Randy Pausch for everything! And for 'Alice' the 3D programming language!
Someday, we wish to visit CMU, walk on the Randy Pausch bridge and scale the brick walls!!!
More about Dr.Randy Pausch: http://en.wikipedia.org/wiki/Randy_Pausch
The Last Lecture: http://www.youtube.com/watch?v=ji5_MqicxSo
Lecture on Time Management: http://video.google.com/videoplay?docid=-5784740380335567758
The Last Lecture: http://www.youtube.com/watch?v=ji5_MqicxSo
Lecture on Time Management: http://video.google.com/videoplay?docid=-5784740380335567758
Monday, March 16, 2009
Leapfrog - Tag
Imagine this:
You have a pen in your hand, which when touched on a specific word reads the word out for you. Touch it on a picture, it says something about the picture. Touch it on some predefined images and it asks you questions for which you could answer by touching your pen on some figure.
And now imagine what ease of learning would it bring to your kid. Imagine its ability to ease up pronounciation and spelling to the kid.
Now, that's exactly what this 'toy' from LeapFrog is all about. Do check this link:
To get into the technicalities a little, the pen consists of a infrared image sensor that is used to identify the words. The books are special - they are printed with a special technology that will enable the infrared sensor to recognize the words by checking 'em against a dictionary of words and generate appropriate sounds by mapping them to a dictionary of sounds. These dictionaries need to be uploaded to the pen through a USB connection to a PC. The pen uses AAA batteries for its power. The books can be purchased separately - that's how Leapfrog makes money.
Got to experience it firsthand when Keya, my neighbor's kid, brought it home to show me her new toy that her uncle gifter her. And must admit, was totally fascinated.
Obviously, its on my shopping cart. Just waiting for some friend to tell me that he is returning from US.
Me.
Monday, March 9, 2009
Touchbook - Netbook based on ARM
Came across this 'Touchbook' - a netbook based on ARM platform - recently.
So what, you might ask? Well, one - its OpenSource - based on OpenHardware and ofcourse, Opensource software. Hardware - specifically, the Beagleboard and software - Angstrom distro. More on this here.
The Touchbook has a plethora of features:
Dimensions: 9.4" X 7" X 1.4"
Weight: 2 lbs with keyboard
Storage: 8GB micro SD Card
Display: 1024 X 600; 8.9" Touchscreen
3D Accelerometer
Wifi 802.11 b/g/n
10 to 15 hrs of battery life
speakers, microphone and headphone slots
6 USB slots
Formfactor capable of using the device in multiple ways: as a laptop, handheld gaming device, video player etc.
Two modes of operation - one that uses keyboard and the other that uses the touchscreen.
More about the features - here.
In Me's opinion - this is one helluva device. Needless to say, one that Me'll target to buy in the recent future.
--
Me.
So what, you might ask? Well, one - its OpenSource - based on OpenHardware and ofcourse, Opensource software. Hardware - specifically, the Beagleboard and software - Angstrom distro. More on this here.
The Touchbook has a plethora of features:
Dimensions: 9.4" X 7" X 1.4"
Weight: 2 lbs with keyboard
Storage: 8GB micro SD Card
Display: 1024 X 600; 8.9" Touchscreen
3D Accelerometer
Wifi 802.11 b/g/n
10 to 15 hrs of battery life
speakers, microphone and headphone slots
6 USB slots
Formfactor capable of using the device in multiple ways: as a laptop, handheld gaming device, video player etc.
Two modes of operation - one that uses keyboard and the other that uses the touchscreen.
More about the features - here.
In Me's opinion - this is one helluva device. Needless to say, one that Me'll target to buy in the recent future.
--
Me.
Labels:
ARM,
Beagleboard,
open source,
openhardware,
Touchbook
Thursday, February 26, 2009
My first deb
Yes, am done with my first deb creation! All it took was a simple control file to be under the directory containing all your files needed for installation and a simple command: dpkg -b . first_all_0.1.deb.
Somehow, first_all_0.1.deb comes up as a hidden file. Need to read more.
But, am feeling good.
p.s: first_all_0.1.deb is not the actual name of the deb I made ;-)
Somehow, first_all_0.1.deb comes up as a hidden file. Need to read more.
But, am feeling good.
p.s: first_all_0.1.deb is not the actual name of the deb I made ;-)
Friday, February 13, 2009
Monday, February 2, 2009
Tag Cloud
One thing that Me found very useful with blogs, e-mails etc., was tags and tag clouds. Irrespective of the volume of the blogs/ e-mails, tags provide a easy way of categorizing and accessing data.
A tagcloud, elaborated more in this article on Wikipedia, is a cloud full of words, the font size of each word and/ or color indicating how importance of the tag. Each tag, typically is a hyperlink that lists out all the items with that tag on them.
Now, Me really wished google provided a gadget for generating tag clouds on blogs hosted on www.blogger.com. Nevertheless, Me found this link, containing good instructions about how to create tag clouds on blogger hosted blogs.
Me liked his implementations so much, Me had to leave a note on this site, to give him his due credit, hence this blog post.
Further reading:
Developing a tag cloud using PHP: http://www.lotsofcode.com/php/tag-cloud-v2.htm
Designing tag clouds on LAMP stacks: http://www.onlamp.com/pub/a/onlamp/2006/06/08/designing-tag-clouds.html
Design analysis of Tag Clouds: http://www.joelamantia.com/blog/archives/ideas/tag_clouds_evolve_understanding_tag_clouds_1.html
--Me.
Sunday, February 1, 2009
wget -P /path/to/alternate/dir something.ogg
I found out that one could use the -P option to download to an alternate location in wget. That's really neat. There's a python script sitting in the /srv/www/cgi-bin folder which downloads to a share in the openfiler here.
In the open source, we begin by putting all the blocks together! Think of something and its probably already there in the open source!
In the open source, we begin by putting all the blocks together! Think of something and its probably already there in the open source!
Subscribe to:
Posts (Atom)
