Wednesday, January 13, 2010

Sunday, January 10, 2010

Nexus One

I bought a Nexus One the other day. It's a very nice phone that does pretty much everything I want it to. Before I was just using an ipod touch, so it's nice to have a device which has a microphone, camera, and GPS. The GPS works very nice. There is one very frustrating aspect of the phone though which is its lack of good current voip options. I bought the phone unlocked without the T Mobile contract. I actually was able to configure my phone to make and receive calls using an application called sipdroid with my gizmo and google voice accounts. I just entered my gizmo username and password in the sip settings of the app along with the following gizmo proxy: proxy01.sipphone.com. However, after doing all this the call quality was terrible. Especially for calls I received. I hope this is just a temporary issue that google will fix soon. In fact, google just recently bought gizmo.
Another thing I am trying out is mifi. I've never even heard of mifi until a few days ago. Apparently, mifi takes the data from a 3G network and creates a wifi network that computers, laptops, phones, etc. can connect to. I bought a mifi card from Verizon and chose to pay month to month without a contract ($60). The bad thing is that there is a 5GB/month cap. If it weren't for this limitation then I could theoretically use mifi for home use as well as for mobile phone use. Then I would just have one monthly data bill. I've heard that Cricket does offer unlimited mifi, but they don't sell the wifi card I bought. They only have wifi usb devices.
I hope that the wireless spectrum being relinquished from tv use will be dedicated to national wifi soon. That would be even better than mifi.

Saturday, January 2, 2010

Google App Engine

Great! The google app engine has allowed me to do something that I've been wanting to do for a long time. I often write little Java programs to help with my own projects or projects that have to with my biotechnology research. I would often like to put any code I write on the internet so that it is accessible by anyone. However, sometimes I have had a hard time doing that, especially if any of the code I have written uses an external library (jar file) from someone else. However, now that the google app engine has been released all of my problems have been solved. It is now much easier to just write all of my code in Eclipse, and then put it up on the web when I'm finished.

Usually my programs just involve some type of text input, and then produce some type of text output. This is especially the case if I am just writing some code for a science application. In order to write programs faster in the future, I made a simple program that takes input text in an input text box, sends the data to google's servers, performs whatever computations are necessary, and then puts the output into an output text box (simple-input-output program). The program as well as the source code can be found here:

http://simple-input-output.appspot.com/

There is also a link to some other programs I have made. At the time of this writing, one of the programs uses a genetic algorithm to evolve a regular expression to try to match as many strings in a list as possible. Another program is a mass spectrum analyzer to identify which residues of a protein have been glycosylated based on the information from a mass spectrum instrument.

http://pattern-matcher.appspot.com/

http://mass-spectrum-analyzer.appspot.com/

I think that next I would like to make a program which can upload a spreadsheet file, create update and delete (CRUD) records from this spreadsheet file to a database, and then let the user download a spreadsheet file that may have been created or modified by the program. This would basically be the same type of program as my simple-input-output program. However, it would be more suited to handling large amounts of data (more data than can fit into the memory of 2 GB of RAM or something).