1. Non-transitory computer-readable storage media encoded with a computer program including instructions executable by a processor to create an application comprising: (a) a software module configured to receive information from an information source on the Internet; (b) a software module configured to assign one or more attributes to the information; (c) a software module configured to receive user data from a user, wherein the user data is modeled probabilistically and comprises one or more of: demographic information of the user, an interest of the user, and past preferable information of the user; (d) a software module configured to sort the information and identify preferable information from the information sorting, wherein the identifying the preferable information from the information sorting is based on a weight on the information source; (e) a software module configured to present the preferable information to the user; (f) a software module configured to receive passive feedback and active feedback from the user regarding the preferable information presented to the user, and update the user data with the passive and active feedback; (g) a software module configured to increase or decrease the weight on the information source based on the user's passive feedback and active feedback; (h) a software module configured to generate global feedback from the passive and the active feedback from all users; and (i) a software module configured to implement a feedback and results query loop, and reorder the preferable information presented to the user with the receipt of the passive feedback, the active feedback, the global feedback, and an increased or decreased weight on the information source.