My New Book on Squid Proxy Server (A Beginner’s Guide)

I have not blogged since a long time mainly because I was a bit busy authoring a book Squid Proxy Server 3.1: Beginner’s Guide for Packt Publications. The book is an introductory guide to Squid (especially the new features in Squid-3 series) covering both the basic aspects as well as the in dept details for advanced users. The book focuses on learning by doing and provides example scenarios for the concepts discussed throughout the book. Access control configuration, reverse proxying, interception proxying, authentication and other features have been discussed in details with examples.

Checkout the links below:

 

Javascript To Remove All Facebook Apps From Your Account

This is a guest post by Gaganpreet Arora AKA bitgeek.

My Facebook app list was cluttered with useless apps accumulated over the time I had joined Facebook. The worst thing is that Facebook does not allow you to remove multiple apps in one go. You have to select one, confirm on “Are you sure?” first and then click on “Okay” when it is deleted. Very cumbersome. So I wrote a Javascript hack to remove all of the apps in one go.

Warning: This will actually delete all the apps

Step 1

Go to: http://www.facebook.com/editapps.php?v=allowed.

Step 2

Select and copy the complete code below and paste it into the address bar.

javascript:
function postwith (to,p)
{
  var myForm = document.createElement("form");
  myForm.method="post" ; myForm.action = to ;
  for (var k in p)
  {
    var myInput = document.createElement("input") ;
    myInput.setAttribute("name", k) ;
    myInput.setAttribute("value", p[k]);
    myForm.appendChild(myInput) ;
  }
  document.body.appendChild(myForm) ;
  myForm.submit() ;
  document.body.removeChild(myForm) ;
}
 
function getElementsByClassName(classname, node)
{
  if (!node)
  {
    node = document.getElementsByTagName('body')[0];
  }
  var a = [], re = new RegExp('\\b' + classname + '\\b');
  els = node.getElementsByTagName('*');
  for (var i = 0, j = els.length; i < j; i++)
  {
    if ( re.test(els[i].className) )
    { a.push(els[i]); }
  }
  return a;
}
 
var arr = [];
els=document.getElementsByClassName('app_row');
arr['fb_dtsg']=document.getElementsByName('fb_dtsg')[0].value;
arr['remove'] = 1;
arr['post_form_id_source']='AsyncRequest';
arr['post_form_id'] = document.getElementById('post_form_id').value;
arr['app_id']=els[0].id.replace("editapps_allowed_","");
arr['__a'] = 1;
for (i=0; i
<h3><span style="text-decoration: underline;"><strong>Step 3</strong></span></h3>
Press Enter.
 
The browser may get stuck for a few moments if the list is large, so if it does, just wait a bit and it will respond back.
<h3><span style="text-decoration: underline;"><strong>References</strong></span></h3>
Function postwith was taken from <a href="http://mentaljetsam.wordpress.com/2008/06/02/using-javascript-to-post-data-between-pages/">here</a>, and getElementsByClassName was taken from <a href="http://snipplr.com/view/1696/get-elements-by-class-name/">here</a>.
 

Red Hat Launches OpenSource.Com

Well, OpenSource is more or less about software source code and technology specific but OpenSource.Com scales beyond software and technology and provides a platform to discuss/learn/get involved/share.

From the website,

What problems can we solve? How would it affect the way we learn? Work? Run our governments?

We want to shine a light on the places where the open source way is multiplying ideas and effort, even beyond technology. We believe that opensource.com will be a gathering place for many of the open source stories we’d like to share–through articles, audio, web presentations, video, or open discussion.

Currently website has following five channels,

For more information, visit following links

If you want to participate, please visit How to participate?

 

News : Memepress (Yahoo! Meme) WordPress Plugin Version 0.3 is available

Memepress is a wordpress plugin which provides wordpress widgets for displaying public posts from Yahoo! Meme. Memepress is SEO ready and provides options to noindex/nofollow your Meme posts. New version fixes a few bugs and provides enhanced style control for the widget.

You can download memepress version 0.3 from wordpress plugin page.

For details on usage/installation instructions, please check plugin homepage.

 

How To: Save yourself from stupid Tech Support Questions

Almost every other geek is pwned by his friends or people he/she knows by their stupid tech support questions. And sometime they drag you to the limits that you get frustrated enough to shoot yourself and bang your head onto your computer screen ๐Ÿ˜› How on earth can someone be so stupid ๐Ÿ˜› But luckily I found a Pidgin Plugin called STFW(Search The F**king Web). This is one really awesome plugin I have seen recently and I (and most other geeks) needed something like this for ages :)

What it does?

When somebody asks you a question, you can reply back with relevant keywords from the message you received prefixed with the command /stfw. The plugin will automatically convert the keywords to a URL understood by the site Let Me Google That For You (lmgtfy.com) and asker will get a URL like this http://lmgtfy.com/?q=what+is+http.

How to use?

The Download, installation and usage instruction can be seen on plugin page. So, when someone ask you “Wireless not working on my laptop”, just reply back with the following message

/stfw Wireless not working on my laptop

C’mon guys, ask me tech support questions ๐Ÿ˜›

 

Memepress Ready to be Translated (Supports Turkish now)

Thanks for an awesome response to the Memepress (Yahoo! Meme) WordPress plugin. A lot of people have blogged about it and contacted me via email for enhancements. New version also fixes the bug regarding image size in posts. I have also updated the plugin to support internationalization(i18n). Now you can translate about 20 strings in your local language and you’ll have Memepress in your own language.

Turkish Translation

Huge thanks to Yalรงฤฑn Erdemir for translating the plugin to Turkish :)

How To Translate

If you are interested in translating Memepress plugin in your language, then download the memepress.pot (POT file) and open it in your favourite text editor. Now for every string against msgid should be translated to your language and populated in quotes against msgstr. See the example below.

Before translation

#: memepress.php:37
msgid "Title"
msgstr ""

After translation

#: memepress.php:37
msgid "Title"
msgstr "_WHATEVER_TITLE_IS_WRITTEN_AS_IN_YOUR_LANGUAGE_"

Once you are done with translating all the strings, save the file and mail me at kulbirsaini25 [AT] gmail.com .

 

How To: New Mail Notification

mbooth commented on one of my last post (How To: GNOME GMail Notifier) informing that he/she uses mail-notification. I was curious to check it out for mail via IMAP and I found it way more useful as compared to Gnome Gmail Notifier. I especially like the option to configure it to check the mails every ten seconds. Thats way cool for anxious people like me :) Keeping in mind the huge advantages of mail-notification, I thought of writing an howto for configuring it :)

Install Mail Notification

Installing something can’t be simpler. Just use the following command as root

[root@fedora ~]$ yum install mail-notification

Configuring mail-notification is very simple. Its as easy as it can get but there are tricks for special cases like Gmail forย  Google Apps hosted websites.

Launch Mail Notification

Mail notification loses a point here. It doesn’t show up in any of the menus. You have to launch it from command line. You can launch mail-notification from System -> Preferences -> Mail Notification (Thanks mbooth for correcting). Or use the following command as normal user to launch mail notification

[saini@fedora ~]$ mail-notification -p

Configure Status Icon Behaviour

On mail notification properties windows, select Status Icon tab and choose the appropriate behaviour.

Mail Notification Status Icon Action

New Message Popup Settings

Now go to Message Popups tab, and select appropriate options. If you don’t enable popups, using mail notification doesn’t really make sense (though none can prevent you from doing so :) ). Keeping popus stacked is good because it shows you all messages in case you get more than one new mails in an interval. Also, you can configure the expiration time for the popups.

Mail Notification Message Popups Settings

Add New Mailbox

Now select General tab and click of Add button. Mail-notification supports checking new mails from Evolution, Gmail, Yahoo! Mail, Windows Live Mail, any IMAP and POP3 Server and moreover your system mailbox :) Select Gmail for mailbox type. Enter username and password for Gmail account.

Mail Notification Supported Mailboxes

Mail Notification Add Gmail Account

Now move over to Details tab and set delay between checking mails. I keep it 10 seconds :)

Mail Notification Gmail Account Settings

Add a Google Apps Hosted Email Account

This is totally optional :) Now we’ll add a Google Apps hosted account. This is a bit tricky. For mailbox type, you’ll have to select Gmail. For username, you’ll have to provide your email address.

Mail Notification Add Google Apps Hosted Account

Also, the mailbox name has to be modified in this case to make things work. Move over to Details tab and change mailbox name to your email address.

Mail Notification Google Apps Hosted Account Settings

Add a new IMAP mailbox (Gmail)

This is totally optional :) Keep mailbox type as IMAP. IMAP Server has to be imap.gmail.com . Username and password are same as Gmail Account.

Note: For this mailbox to work, you’ll have to enable IMAP in settings tab in Gmail.

Mail Notification Gmail IMAP Account

Now move over to Connection tab. Connection for Gmail IMAP has to be SSL enabled. So, select “SSL/TLS on separate port” and make sure the port number is 993.

Mail Notification Gmail IMAP Account Connection Settings

Well thats all you need to do for configuring things for getting new mail notifications lightning fast :) Now sit back and relax until someone sends you a mail :)

The only major disadvantage that I found with mail-notification is that it doesn’t stay in notification area all the time. It appears only when there is a new mail.

 

News: Memepress (Yahoo! Meme) WordPress Plugin is out!

Yahoo! Meme is a new Twitter like service in testing by Yahoo!. But its much better than Twitter. It has got facility to post text, photos, video and music. The best thing about Meme is the user interface. I am just loving it. Such a clean interface :) I liked twitter’s web interface very much because it was not cluttered like facebook and others. But meme’s interface is much better than twitter’s interface.

As I felt hooked to it, I thought it’ll be a good idea to have wordpress widget to display latest posts from Yahoo! Meme. I took Twitter for WordPress plugin’s source code and started modifying it to work for Yahoo! Meme and in a few hours, I managed to get a full fledged plugin for Yahoo! Meme and a few extra features and minor bug fixes as well :)

I have named it Memepress. For more details and latest updates about the plugin, please visit plugin homepage on wordpress. The plugin is really easy to setup and doesn’t have any dependencies and doesn’t even need to authenticate with Yahoo! Meme.

Comments/Suggestions?

Note: Yahoo! Meme is still invite only. If you need an account, send me an email using this contact form.

 

How To: GNOME GMail Notifier

GNOME GMail (Google GMail) Notifier is an awesome tool for GNOME/Linux users if you are addicted to checking mails every few minutes. GMail Notifier solves a bit of your problems by notifying about multiple gmail accounts. One more plus point is that it can display GMail Notifications for new mails in accounts for which you are using Google Apps. Below is a step by step howto on installing and configuring GMail Notifier in Fedora (may apply to other distros as well).

Install GNOME GMail Notifier

You can download and install it from GNOME GMail notifier home page or just use yum

[root@fedora ~]$ yum install gnome-gmail-notifier

Launch Gmail Notifier

If installation was successful, go to Applications -> Internet -> Gmail Notifier.

GNOME Gmail Notifier

Open Preferences

Right click on Email icon in taskbar and click Preferences.

GNOME Gmail Notifier Select Prefreneces

Select Preferences

Set inbox update time to 1 minute. Check display notifications for new messages and errors. Also select a sound to play for new mails.

GNOME Gmail Notifier Prefreneces

Add GMail Account

Click Add on preferences window and add your GMail account.

GNOME Gmail Notifier Add GMail Account

Add Mail Account (Google Apps) (Optional)

If you don’t know what Google Apps is, leave this step. If you do know, then add your mail account.

GNOME Gmail Notifier Add Google Apps Account

Check Mail

If you can’t wait for 1 minutes to see GMail Notifier in action, just right click on email icon in taskbar and click Check Mail.

GNOME Gmail Notifier Check New Mails

Mail Notifications

Whenever you get a new mail, you’ll have bubble like the one in image below and a sound will also be played.

GNOME Gmail Notifier New Mail Notification

Enjoy the notifications :)

 

MSN Crawlers Pawned

After seeing the way MSN crawled my last post, I just realized why Microsoft could never do good in Search Engine Market :)

I wonder why MSN would crawler same page from two different machines. I wonder if a single page can be divided further for crawling. Checkout the screenshots below :)

Why Google Wins

A few minutes later. Three Microsoft machines were crawling the same page ๐Ÿ˜›

MSN Crawler Pawned

I have conformed using ARIN that all these IPs belong to Microsoft ๐Ÿ˜€