« October 2008 | Main | December 2008 »

November 29, 2008

Thanks for Reading!

I know it is already two days after Thanksgiving, but I want to take some time from all the studying and eating (we have a lot of leftovers!) to thank all of the readers of my blog. An even bigger thanks goes to the readers who go as far as to comment. Reading new comments always makes my day (or at least my hour). I hope you all had a fun and tasty Thanksgiving day.

November 24, 2008

Oh, the Irony!

It has to be while I am working on my Computer Security project that my computer decides to get infected with countless numbers of adware, spyware, trojans, and viruses. I have no idea where they came from, as they began their attack while I visited the set of web sites that I look at regularly. But the irony is just too much for me to bear. I will refrain from taking any Cancer Biology or Criminal Justice classes from fear of what irony could do to me.

November 20, 2008

Geocoding Woes

One important part of Cyclopath is geocoding. If you have never heard of geocoding (I hadn't before this project), it means translating an address to latitude and longitude coordinates. Whenever someone uses the route finder, we have to translate those addresses into coordinates, find the nearest intersections, and then have our route finder look for the shortest path between those two points.

Well, as you can imagine, geocoding is not an easy task. That is why we don't implement this part ourselves. There are some great geocoders out there too. We had experimented with Yahoo's geocoder and then moved to Microsoft's MapPoint geocoder. Aside from a few sporadic issues, Microsoft's geocoder worked pretty well. That is, until a few weeks ago. For no obvious reason, addresses that used to work now completely failed. My own home address now dropped me at a location miles away from where I live. This was a problem. And users were starting to complain.

A few email exchanges with some people from Microsoft (which were very prompt by the way) didn't help in finding out what had changed with the geocoder. There was no way to get around it. So we started looking for other options. Google has an excellent geocoder which it uses for Google Maps. Unfortunately, its Terms of Service state that to use it your application must be using Google's maps. We create our own maps (needed to make it as editable and interactive as we need), so we had to scratch Google's geocoder off the list.

We found another geocoder that focuses on the Twin Cities metro area, which is where Cyclopath focuses too. So I was delegated the task of changing the code in order to use this new geocoder. After I finally started making some progress, while testing some code, I decided to try an address on the old geocoder that I knew would fail. To my surprise, it gave the correct location. Perplexed, I tried all other addresses that had been problematic in the past few weeks and to my surprise all of them worked. All of the sudden Microsoft's geocoder was working correctly. After all that brainstorming, sending emails, and looking for alternatives we were back to where we were before.

Well, not exactly. We have decided (although with a little less urgency) to finish implementing the new geocoder and leave it as a backup. That way, if Microsoft ever decides to confuse our users again, we'll be ready. Bring it on!

November 17, 2008

What Is Best vs. What Is Best For Me

How many times have you found yourself looking at lists of "Top 10 Movies" or listening to the "Top 20 Music Countdown" in your local radio station? How often do you ask your friends which is the best restaurant in town, what video game is a must or what is the best way to lose weight?

We are all used to trying to search for what is best. But with the rise of the Internet, a new set of questions have begun to arise. What movie would I like better? What music fits my tastes? What restaurant fits my budget? What is the best way for my body to lose weight? Actually, these aren't new questions. They are old ones that now have a place to find their answers. The Internet has become full of recommendation services. These try to match users with what fits them best. This is very closely related to what is known as the Long Tail.

If you look at it in terms of a movie store, there are a few movies that almost everybody loves and buys. These are the blockbuster hits. Then there are the movies that not many people watch. But the number of movies in this category is way bigger than the number of blockbuster hits. These movies make up the long tail. You probably won't find these movies being advertised heavily, as only a handful of people are interested in them. But for this handful of people those movies may be their number one movies. Those movies are not what is best, but are what is best for them.

Will people then stop focusing on what is best for everyone and only focus on what is best for them? Not entirely. Both ends of the spectrum are important. There will always be a book that everyone should read. There are always health tips that apply to everyone. But with personalization, instead of invalidating what is best for everyone, we can make it better, complement it. You will be able to know what CD's to listen to first and where to go from there. That is, after all, what many recommendation sites do. Based on your ratings of popular items, they can guess your preference of less popular items.

It's good to know that in today's society we can find both: what is best for everyone and what is best for me.

November 14, 2008

When Will Facebook Provide Better RSS Support?

I love keeping track of my friends' status messages on Facebook. Unfortunately, when you have more than 600 friends, that can be too much. Facebook lets you subscribe to an RSS feed of your friends' status messages, but it includes everyone. There seems to be no way to just subscribe to the status messages of a select group of friends. If there is a way to do this, someone please let me know! If there isn't, then I sure wish Facebook would implement that soon. Meanwhile, I'll just have to keep getting my Google Reader flooded with status updates.

November 10, 2008

Cyclopath Tutorial Recap

For those of you who missed it, here are the five Cyclopath Tutorials I posted:

Tutorial 1: Getting Around
Tutorial 2: Rating and Finding Routes
Tutorial 3: Editing the Map
Tutorial 4: Revisions
Tutorial 5: Watch Regions

Be sure to give Cyclopath a try and share this with any cyclist friends you have!

November 8, 2008

Applying for an NSF Fellowship

This week I turned in my application for an NSF Graduate Research Fellowship. If I am granted this fellowship, I will be funded by it for my next three years. I had to write three essays for the application. The toughest one, the research proposal, was reviewed by at least five different people (including my wife). I really wanted to make sure I got it right.

In the proposal I talk about some cool new stuff I will be researching on Cyclopath of which I am very excited about. Hopefully, this might lead to a thesis someday. It's all sort of confidential for now, so I can't say much more!

One thing I learned from feedback about my essays was that I use phrases like "I think that" and "I hope I can" too much. I learned to eliminate such phrases and be more assertive. I'm sure I'll keep learning writing tips like this as I continue my graduate studies. I'll try to... I mean, I WILL put what I learn into practice in this blog!

November 4, 2008

May the Best Man Win

Today I voted in the US for the first time. In Puerto Rico, we only get to vote for governor, so it was an interesting experience being able to vote for president too. The weather was great for voting too, with a high of about 70 degrees (we don't get many of those in November). I have always had a non-partisan attitude towards politics, so it was a tough decision for me. But now, all we have to do is wait. May the best man win!

November 1, 2008

Cyclopath Tutorial Part 5: Watch Regions

Once you know how to edit the map in Cyclopath and look at recent changes, you’ll probably want a simple way to keep track of changes in areas you are interested in. That’s where watch regions come in. Watch regions let you select an area in the map so that you can keep track of changes there. By default, you will be notified by email of any changes. Let’s take a look at how to create a watch region. First of all, you have to go to the My Watch Regions panel on the left side.


This is the list of watch regions, which is initially empty. To add a new watch region, click on the “New Watch Region? button. A new watch region appears in your map.


You can change your watch region’s name and color on the left panel.


Chances are you probably don’t want your watch region to be a boring square. Well, you’re in luck. You can drag vertices around to alter your region’s shape.


And if four vertices aren’t enough, you can use the “Add Vertex? tool on the upper right to make your watch region even more complex.


Now your watch regions list displays the new watch region.


You can click on “look at? to center the map on the watch region and on “x? to delete the watch region. When you’re done, just save changes and your new watch region is ready. You will be notified by email of any changes in your region. If you don’t want to receive emails, just uncheck the “Enable email? checkbox (while ignoring the two e’s). You can still use watch regions to filter the changes shown in “Recent changes?, which is useful for looking at changes that only affect your area of interest.

You now have all the basic knowledge needed to use Cyclopath. I may throw in one more Tutorial post, but this should be enough to get started. There is a lot more information in the Geowiki Help page if you’re interested. Have fun editing and cycling!