Mere dost bhi hacker

Was sitting idle and then thought of this song for one of my hac0r friend

—————

kabhie hum hacker nikle
kabhie doosre hacker

kya kare zindagi isko hum jo mile.. isko hack kartey gaye…. meri zindagi “life of a procastinator”… mere dost bhi hacker……

kabhie zindagi se maanga HDD mei google ka database le aao
kabhie USB de ke kaha… sabka CC and CVV number isme daalo
hacking ke sab kareene … hai hamesha se kamine
kya kare.. zindagi.. isko hum jo mile…
isko hack kartey gaye…

jiska bhi database choda…. ander se aur nikla…
Microsoft waale to hadd hai, Linux ka server nikla

Kabhie hum hacker nikle… kabhie doosre attacker
attacker….. attacker
mere dost bhi hacker
meri zindagi hacker
ek PP se dosti thi…. ye huzoor bhi hacker

A better feed reader

Most of the feed readers – web based, desktop based are more or less similar in their approach. You subscribe to a feed, and they will display all new (or non read) items. It is good. Now this is what a feed reader should do. Some feed readers (like Google reader) go beyond this and allow you to share your favorite feeds with your friends.What more does anyone needs?

Well, there are many more ways in which a feed reader can be enhanced. I wil be talking about the one that i find most useful.

Everything is not important

I am a feed junkie. I go to any website, and if i find anything interesting, i immediately subscribe to its feed. Months later, i realise that not all posts from that website is what i actually am interested in. Let’s take a scenario.Most people are subscribed to Slashdot or LifeHacker or Reddit. I am particularly interested in Programming and Technology. And specifically in Python, C++, WebApps. But what i am getting in my feeds is everything from FORTRAN to JAVA and from Microprocessors to launch of new space craft. This is useless information for me, and what i will be doing probably is – select all, mark as read. If i dont get a chance to read my feeds for a day or two, i will easilt have 1000+ posts and when bulk mark as read, i am probably going to miss out things that might be important for me.

Overcoming the situation

In my opinion, there is only one way to overcome the situation. Get the specific posts from the feeds, in which the reader is interested. So, if i am interested in Python and C++, i will be able to see and read only those feeds that have relevent information about Python and C++.
Again, there are two approaches to make this possible.

Approach 1) Let the reader speak for himself.

When a user is subscribing a new feed say “Programming”, suggest him – This is a very broad category. Would you like something in particular, say C++ or Python? If he says yes, go ahead and keep this thing in memory.

Aproach 2) Find out yourself.

In this approach, the user is initially presented with all the posts corresponding to a feed. A track record is kept for the feeds that the user has actually read and for those feeds for which he has just “marked as read”. Based on these data over a span of time, the system will be generating a set of keywords, which describe a range of interests for one particular user.

One or both of the above approaches can be used. What matters is that the set of keywords for the range of user’s interests in posts should be accurate. This is never guaranteed to be comprehensive, but should be somewhat near to it.

Now things are quite simple. We have the feed, we have the list of posts, and we have the user’s interest. For every post in the feed, scan it. See if it contains things that might interest user. Show him only those posts, that he is interested in. If the system is uncertain about a post, that can be under the “posts you might be interested in” section of the feed reader.

If implemented in this manner, i believe that feed readers can be more popular and good than the present ones.

If any engineer who is working on some feed reader is reading this post, and might consider it for their next release, i would be happy if they could contact me and say “Thanks” 🙂

Make this world a better place.

Google preventing automated searches

It looks like there has been an increase in the number of automated searches being performed over google. And they are not happy with it.

What i was fascinated with is the google calculator. I has just started to write a script in Python for calculation related things and what i could get is that there are now less ways to do automated search over Google.

Let’s have a look at how Google prevents automated searches.

If we open http://www.google.com and do a search for “35 mm in inches”, what we obtain is the result. A close look at the URL pattern gives the following information.

  • The new search pattern of google is
    http://www.google.com/#hl=en&q=5+mm+in+inches&btnG=Google+Search&aq=0&oq=5+mm+in+in&fp=CGM4k02K5DI

    . The use of anchor tag (#hl) is interesting.
    Another interesting thing is that there are two parameteres on which the same search keyword is being fired – q and oq.
    The q is the actual query that is used to fetch the result and oq is the query that you typed. The following image makes this even more clear.

  • Another interesting thing is that if we try to open the same page via Python’s URLLIB2 interface, we get the google home page.
  • Apart from that, the most famous URL pattern for any search
    http://www.google.com/search?q=google+search

    gives a 403 – Forbidden, when tried to access via Python’s urllib2 interface.

So, it looks like Google is narrowing the way people perform automated search on its engine.

In the next couple of days, i will be trying to find out if there is still some holes left, or not and will discuss my findings here in a more elaborate manner. You could very well, follow my blog to make sure you don’t miss anything. Comments most welcome.

OpenSource alternate to Dreamweaver

Of lately, i was thinking of switching to open source alternative for DreamWeaver, and i found out Aptana. Aptana is an eclipse based IDE that provides a lot of benefits which but obviously includes being the powers of opensource and freeware. Aptana comes in two flavors – a stand alone IDE and an Eclipse Plugin. You can install either of the two depending on your needs. Personally i dont like Ecipse, so i decided to go for stand alone IDE. You might want to check out the download page for Aptana

After installing Aptana, you need to install CFEclipse plugin for providing ColdFusion support in Aptana.

Installing CFEclipse in Aptana

  1. Download the latest version from the archived software update site: http://www.cfeclipse.org/update/
  2. Unzip the archive file. You should get a folder called “org.cfeclipse.cfml.update.release”.
  3. In Aptana, go through the usual procedure to add an update site (Help -> Software Updates -> Find and Install -> Search for new features to install).
  4. Click on New Local Site…
  5. Choose the folder that you extracted from the zip file (e.g. the location of “org.cfeclipse.cfml.update.release”).
  6. Click Select.
  7. Change the name to something more reasonable such as CFEclipse Local Install.
  8. Click OK and then click Finish.
  9. Follow the installation procedure and prompts… (I am sure you can handle it from now on).

Pretty Simple. That’s it. And now we have an open source alternative for DreamWeaver that is much better than the original one.