Best Wordpress Plugins

Sunday, 14 March 2010, 16:43 | Category : Wordpress
Tags :

There are too many plugins available for Wordpress platform, that makes Wordpress so powerful.
However below are some of the best plugins available out there:

  1. Akismet - Akismet checks your comments against the Akismet web service to see if they look like spam or not and lets you review the spam it catches under your blog’s “Comments” admin screen.
  2. Contact Form 7 - Contact Form 7 can manage multiple contact forms, plus you can customize the form and the mail contents flexibly with simple markup. The form supports Ajax-powered submitting, CAPTCHA, Akismet spam filtering and so on.
  3. Google Analytics for WordPress - The Google Analytics for WordPress plugin automatically tracks and segments all outbound links from within posts, comment author links, links within comments, blogroll links and downloads.
  4. Google XML Sitemaps - This plugin will generate a special XML sitemap which will help search engines like Google, Bing, Yahoo and Ask.com to better index your blog. With such a sitemap, it’s much easier for the crawlers to see the complete structure of your site and retrieve it more efficiently.
  5. All in one SEO Pack - Optimizes your Wordpress blog for Search Engines (Search Engine Optimization).
  6. My Page Order - My Page Order allows you to set the order of pages through a drag and drop interface.
  7. Subscribe2 - Subscribe2 provides a comprehensive subscription management and email notification system for WordPress blogs that sends email notifications to a list of subscribers when you publish new content to your blog.
  8. Headspace2 SEO - HeadSpace2 is an all-in-one meta-data manager that allows you to fine-tune the SEO potential of your site.
  9. Subscribe to Comments - Subscribe to Comments is a robust plugin that enables commenters to sign up for e-mail notification of subsequent entries. The plugin includes a full-featured subscription manager that your commenters can use to unsubscribe to certain posts, block all notifications, or even change their notification e-mail address!
  10. Theme test drive - Theme Test Drive Wordpress plugin allows you to safely test drive any theme on your blog as administrator, while visitors still use the default one.
  11. Wordpress.com stats – Provides statistics about your visitors.
  12. Wp-DBManager – Allows you to optimize database, repair database, backup database, restore database, delete backup database , drop/empty tables and run selected queries. Supports automatic scheduling of backing up and optimizing of database.
  13. Wp-downloadManager - Adds a simple download manager to your WordPress blog.
  14. Wp-Email – Allows people to recommend/send your WordPress blog’s post/page to a friend.
  15. Wp-PostViews - Enables you to display how many times a post/page had been viewed.
  16. WP Ajax Edit Comments – The most powerful comment editing solution for WordPress. Users can edit their own comments for a limited time, while admins can edit all comments.
  17. Wp Super Cache – This plugin generates static html files from your dynamic WordPress blog. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts.
  18. Yet Another Related Posts Plugin - Yet Another Related Posts Plugin (YARPP) gives you a list of posts and/or pages related to the current entry, introducing the reader to other relevant content on your site.
  19. IntenseDebate Comments - IntenseDebate Comments enhance and encourage conversation on your blog or website. Custom integration with your WordPress admin panel makes moderation a piece of cake. Comment threading, reply-by-email, user accounts and reputations, comment voting, along with Twitter and friendfeed integrations enrich your readers’ experience and make more of the internet aware of your blog and comments which drives traffic to you!
  20. SEO Smart LinksSEO Smart Links provides automatic SEO benefits for your site in addition to custom keyword lists, nofollow and much more.SEO Smart Links can automatically link keywords and phrases in your posts and comments with corresponding posts, pages, categories and tags on your blog.
  21. SEO Friendly Images - SEO Friendly Images is a Wordpress optimization plugin which automatically updates all images with proper ALT and TITLE attributes. If your images do not have ALT and TITLE already set, SEO Friendly Images will add them according the options you set. Additionally this makes the post W3C/xHTML valid as well.
  22. SEO Super Comments - For each user comment we will create a new dynamic page on the blog, holding the actual comment information. This page will not actually exist in WordPress database, but we will create it dynamically using a WordPress plugin.

You can download all above plugins in a single zip file here, which you can extract in wordpress root/wp-content/plugins directory

  Wordpress-Best-Plugins.zip (6.2 MiB, 3 hits)

How to convert between ascii code and char in Ruby

Sunday, 28 February 2010, 0:11 | Category : Ruby on Rails
Tags : ,

For converting integer to character, you can use .chr, like below
97.chr is equivalent to “a”

Similarly, for converting back from char to ascii code, use ?
?a is equivalent to 97

Caller information in Javascript

Tuesday, 11 November 2008, 7:19 | Category : Javascript
Tags :

Caller – Returns the function that invoked the specified function.

Not a standard javascript function but implemented in Mozilla engine and JScript.

If the function f was invoked by the top level code, the value of f.caller is null, otherwise it’s the function that called f.

Example: Checking the value of a function’s caller property

The following code checks the value a function’s caller property.

function myFunc() {
if (myFunc.caller == null)
{
return ("The function was called from the top!");
}
else return ("This function's caller was " + myFunc.caller);
}

Java Interview questions

Monday, 20 October 2008, 16:31 | Category : Java
Tags : ,

Here a few Java Interview questions. Divided in three different categories:  Basic, Intermediate,  Advanced.

Basic

Q – Can a class have it’s main method declared as private?

A – Yes, the program will compile but fail at runtime.

Q – What if the static modifier is removed from the signature of the main method?

A – Program compiles. But at runtime throws an error “NoSuchMethodError”.

Q – How can I swap two variables without using a third variable?

A – Add two variables and assign the value into First variable. Subtract the Second value with the result  Value. and assign to Second variable. Subtract the Result of First Variable With Result of Second Variable and Assign to First Variable. Example:

int a=5,b=10;a=a+b; b=a-b; a=a-b;

Another approach

You use an XOR swap.

int a = 5; int b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;

Q – When is static variable loaded?

A – Static variable are loaded when classloader loads the class in the JVM. Static variables are allocated memory space when they have been loaded. Object creation is not necessary to load the static vars.

Q – Can an abstract class be declared final?

A – No an abstract class cannot be declared final as it may not have all the implementation.

Intermediate

Q – What is the use of instanceOf ?

A – instanceOf is used to type check an Object to avoid class cast exception mostly.

Book review – Art of Innovation

Sunday, 18 May 2008, 13:25 | Category : My review on...
Tags : , , ,

Art Of Innovation by Tom Kelley is an excellent book for anyone who wishes to be a man of his own will, looking forward to create new, simple solutions in this world. Why do you need an anti gravity pen when you a have pencil which is damn cheap.

It is an excellent collection of stories and narration about IDEO, America’s leading design firm and how they have managed to make so many things simple and trust we as a lay man would have never imagined that it takes so much creativity to design a toothbrush for kids with broad handles and a rubber grip or a pop up cap for the toothpaste. Product by product description and how different teams at IDEO keep on churning new revolutionary products or make existing things much more fun to use.

It pretty much focuses on the environment which blossoms creativity, which no doubt is essential for any firm today. Consider a mail pop up in your inbox about just another meeting and man you start yawning… but what if you guys never had hierarchical meetings in the company but just brainstorming sessions :-) . Sounds good but i feel it’s applicable too just that we never look forward to changing things too much around us. So, if you are a small company looking to make a big impact i think this ones a must for you guys. Happy reading…

Creating a dynamic tree in flex

Friday, 28 March 2008, 16:41 | Category : Flex
Tags : , , ,

Tree control is one of the most powerful control in Flex. You must have stumbled upon N number of articles explaining the tree control, where they pick up the data from an XML for the tree, but that does not really happen too often if you have a tree which is to be built dynamically as loading a new XML everytime to build a tree is a costly affair.

So, let’s create a tree in Flex using actionscript objects which may be serialized version of server side objects or you may want to create a tree using some business logic rather than some plain input text. So, we will create a TreeNode class in Actionscript which will represent each and every node in the tree. The advantage of working with node objects is that you can have different types of objects at different levels and also use the inheritance concept pretty nicely. So a basic node may be a Node with variables – id, name, type. A subclass of this node may be a PersonNode with additional variables – age, sex etc… and you can go on like this creating trees with the apt information and you can display any kind of data just by clicking on the node by fetching that node from the tree.

The top level class will be TreeNode.

public class TreeNode {

public var id : int;

public var name : String;

public var type : int;

public var children : ArrayCollection;

public function addChild(node : TreeNode) : void {

if (this.children == null)

this.children = new ArrayCollection();

children.addItem(node);

}
//Similarly you could have getNode();

}

A sublcass of this could be a DataTreeNode

public class DataTreeNode extends TreeNode {

public var data : Object;

}

Now you can simply create a tree in Flex, by creating a RootNode of type DataTreeNode.

var rootNode : DataTreeNode = new DataTreeNode();

rootNode.id = 0;

rootNode.name = "Root";

rootNode.type = -1;

Now you can keep creating nodes of different types and keep adding to the rootNode. Just assign the rootNode to you tree as a dataProvider and there you are, the flex tree will display automatically. I have found this approach much better and easy as it allows easy extension and also allows me to do much more on when i click a treeNode. Also, this way you don’t solely rely on the Tree api in Flex to do something with your tree, you can manipulate or swift your tree in any manner you want and reap the benefits.

If you have better way of creating dynamic tree in flex do comment, i would be more than pleased to improve or use that for my project, with all the regard definitely :-) .

Comparable datagrid in flex

Thursday, 27 March 2008, 14:39 | Category : Flex
Tags : , ,

Using a datagrid in Flex seems very easy, but it has the inherent problem as ready to eat meal. It may not allow you to do all the modifications and may not allow you to present it in a view you desire.

A few months back i had a requirement to create a datagrid, which displayed data column wise instead row wise i.e. the datagrid was suppose to be used for comparing and viewing data across columns rather than rows. So, how do we deal with such a problem in Flex. If you are working on HTML, its easy as you can just alter the logic in the for loop printing the rows. The whole point is using multi dimension arrays.

After finding no easy way to do it in Flex, i had to use to the same programming talent to display data column wise.

As datagrid expects the dataprovider to be in the form of an Array or ArrayCollection of objects and then it iterates over these objects to display a property of these objects in each column when you use the dataField property or you can reformat your test using the labelFunction property for the column. I used a combination of programming logic and labelFunction to display the list.

Lets say we intend to display Person objects columnWise, as displayed below.comparable-table.png

Now we would receive person object from the server to the client and there is no way that you can use labelfield property or the lablefunction straight away to create such a table.

The wrokaround is to keep the person array aside and create an array of indexes equal to the number of rows that each column would have or the max. number of rows that a column could have in the whole table. So we will create an array with numbers {1,2,3,4…} each number denoting a particular row in the column. Now, iterate through the person object array and keep on adding DataGridColumn objects to the datagrid for as many Person object. So, the dataprovider to the datagrid is an array of indexes and the number of columns is equal to the number of Person objects. Assign a labelFunction to each column such that

public function getCompareLabel(item : Object, column : DataGridColumn) : String {
var cIndex : int = int(Number(column.dataField)); //this will give you the column for which you have to get data.
if (cIndex == 0)
return getRowLabel(item, column); //Now in getRowLabel just write a switch function which will give label’s for each row, such as “First”, “Last” etc. This gives the first column.
var person : PersonDAO = personArray[cIndex-1] as PersonDAO;
//Now from second column onwards we will get the particular person object from the dataArray and display data for a particular field accordingly.
switch(item) {
case 1 : return getCmpStr(person.firstName);
case 2 : return getCmpStr(person.lastName);
case 3 : return getCmpStr(person.age);
….

…..

}

The output will be a table like above. Strange, isn’t it Flex is suppose to make things easier but i had to swing around the whole place to get this is in place.

iPhone must have apps

It’s time to identify the must have apps on your iPhone. The list would be regularly updated with time as and when you see new apps flowing in but as of now i find the following worth installing. I am having a satisfactory usage experience on 1.1.3 with these apps.

1. WebSearch  – One stop app for searching Google, Amazon, Dictionary.com, ebay, wikipedia etc.

2. LocateMe – Gives your precise location on the planet. Nice to have if you are stuck in a unknown place sometime but would you be connected to the internet that time :-) . Gotta get Edge activated for that.

3.  SysInfo – Meta info about your iPhone.

4. Finder – Nice app to browse the filesystem and manage files and directories.

5. weDict – dictionaries on your iPhone.

6. Tris – Tetris for iPhone. One of my favourites, i love Tetris game and install it wherever possible. I even have it on IDE – IntelliJ :-) .

7. CameraPro – iPhone camera software sucks. This is a nice substitute.

8. MxTube – WOW, you can download youtube videos and persist them on your iPhone forever. It’s beta now but i think once the final release is out this is going to be one of the most hpt iPhone apps. Job’s would lose his cents as people wouldn’t buy videos from iTunes store.

9. FTP daemon – This is required if you wanna access your iPhone via FTP. One you have installed this, you can FTP files to your iPhone by using any FTP client on any remote machine.

10. Unix Subsystem – This is required by many apps as a base app.

11. Open SSH – SSH to your iPhone using Putty if you are using Windows on your PC.

So keep installing and enjoying, if you find another interesting app, do leave a comment.

iPhone review, my first thoughts

Friday, 14 March 2008, 21:38 | Category : Baby Steps to iPhone
Tags : , , ,

iPhone

Ok It’s time to start tapping the iPhone icons. Mine is a factory made 1.1.3 16 GB :-) , no upgrades till date. The first things you should not miss on iPhone are the built in apps.Like a gentleman apple expects you to use these apps, and not any other from the so called untrusted sources:-

1. Youtube – Aaah!!! who didnt want youtube on their phone, i wish we had wi-fi everywhere i went in India.

2. iPod – This is great, I guess now it’s time for me to get the FM transmitter/adapter for iPhone so that i can use the iPod in my car/home over any speakers. Will have to get it from US now.

3. Google Maps – Great to see maps of India on your mobile, not pretty precise but considering the mughals never planned Delhi thinking we would tap our phone and use a map, so it’s kinna ok to get a fair idea. I am sure it will be much better in month’s to come. No driving instructions though but you can definitely spot the road in front of your house at least if you are in Delhi. The pin drop is great.

4. Safari – Oh this is killer, but no flash support :-( .

5. Mail – Looks good, but i would prefer this app to be password protected, what if i lose my phone or someone steals it (it happens too often in India), he enjoys my mail too so this is a security issue according to me.

6. Stocks – Good if you are into the bourses. The yahoo finance widget a true copy of the kanfabulator desktop widgets but it’s worth it. By default you see NYSE but can add BSE, NSE scrips too.

7. Photos – ok, not much impressed.

8. Camera – The software looks like as if it was developed before someone even thought of iPhone :-) .

9. Weather – Good, again the yahoo widget, you can add indian cities too.

10. Itunes – I never use it because i fear something may get updated and my phone may be bricked.

Some more default apps but these were worth mentioning.

But one things which sucks is the iTunes sync. This is why i hate it, and where they lock you into the apple world. How can ppl so blindly say that only Microsoft blocks other software and plug-ins, I guess iPhone is one the most locked in products.

The negatives as per initial usage:-

1. The phone charger is horrible, two piece device. Maybe guys using iPod wouldn’t feel so but normal mobile phone user would. It’s so difficult to carry the charger in pieces. Bad design.

2. The battery life isn’t so great, but considering it’s a full fledged mini PC, so there would be battery limitations.

3. The earphones socket is non standard one so you plug any regular male speaker or earphone plugs into the phone, so it becomes useless in your car until i buy a kinna converter now.

4. Ooooops iTunes sync sucks. Steve Job’s expects you to buy everything from videos to ringtones :-) on the iTunes store.

5. Using the speaker phone is an issue because of the volume.

But, still i must say i am impressed.

Trust me if iPhone could read and write vis-a-vis USB drive, it would have been a hit among the females too :-) (Am i doubting their geek quotient, nope). I mean iTunes really blocks it’s use as an external hard disk or USB drive but we will use it that way through FTP, SSH or something else.

Now it’s time to load the real apps which make this phone rock, yup the servers, the clients, the games and the etc’s. It wouldn’t a be mobile anymore now.

Featured Links:

Internet radio / Online Music

Thursday, 27 December 2007, 14:38 | Category : My review on...
Tags : , , , , ,

CD’s, disks, memory cards full of music but still there is something missing… It’s not dynamic. I usually know what’s in there and what will play next. So, we usually look forward to a countdown or radio. Radio has always been entertaining especially if you are alone for some time of day, week, month or year :-) . Some voices are so so pretty or they at least make you feel so.

My recent passion has been listening to radio or music on the internet and that too for free. I tried Yahoo music (too much ads and pretty heavy), Youtube(but you gotta search) and many more radio stations both underground and overground until i stumbled upon live365.com

Yeah i love www.live365.com – there is always scope for better on earth and there may be one but i have been listening to it for quite sometime and i am pretty satisfied by the mix, the quality and the ads too, they aren’t too intrusive. And for someone like me who is always interested in being connected to US… I don’t know for what? this is the best medium, you hear american voices, ads and some good music :-) . So if you are one those who likes online radio i suggest give live365 a sip, maybe you like it and there is so much in there to listen to. Get Live365, Get Live.