14 Google Chrome Extensions to Boost Productivity

More and more people are switching to Google Chrome as their default browser, leaving aside Firefox. Here are some extensions that you may like to add to Google Chrome.

Read More »

22 Screencasts to Teach You Photoshop Basics

New to Photoshop? Don't know where to start? Here's how you can start right away! Read More »

Use Your Addressbar to Test HTML Snippets

You don't need to create another HTML document to test a snippet of code. Help is a hand — use the mighty addressbar. Read More »

10 Reasons Why You Should Start Your First Blog with Blogger

Starting a blog? Blogger or Wordpress? Read why it's Blogger! Read More »

Only A Day Left for Free Accounts in NullScriptz

NullScriptz, the premium destination for pirated scripts, themes and web-applications is closing its free sign-up program starting 22nd March 2010. It would be invite-only for everyone. However, you always have the option to sign up for VIP accounts for a cost of $30 for 6 months.

In an email to all its members, the site admins wrote:
Starting Monday 22nd March 2010 we will become invite only.
Each active member will get 1 invite per week, so use it wisely, you must be sure of any member you invite, their actions will reflect on you also as your invite means you are vouching for that person, any misdemeanours not only go against them but against you only.
As from Monday we will also be cleaning up the board of inactive members.
An invite every week is a very innovative idea and it doesn't completely stop new members from getting in. But if you want your account now, don't wait before its too late.


Disclaimer: This blog and its author(s) do not condone software piracy. The above post is for information only and should not be taken as a promotion of copyright infringement.

Labels:

Read More

Find All Google Doodles Till Date

Everyone loves those doodles Google creates from time to time. Most of these logos are created to celebrate various occasions — from Valentine's Day to Holi. Most of these logos are created by Google's webmaster Dennis Hwang. Starting from 1998 to January, 2010, a total of 712 logos have been created so far. But how on earth can you keep track of them? Google has the answer.

The recently launched Google Logos site features all the doodles created so far, starting from 1998. It also showcases fan logos and official logos. You can browse doodles by a simple timeline.

Labels: ,

Read More

HOW-TO: Create a Flash-like Animated Menu with jQuery and CSS

Browsing through TemplateMonster the other day, I stumbled upon a Flash template up for sales. As with most flash templates, animated navigation menus are the eye-candy. And this one was no exception. After playing some time with jQuery and CSS (in Notepad++), I made a look-alike. This tutorial is about how you can create the same — and improve it. I hope you’d enjoy the tutorial. Let’s get started.
You might also like:

Objective

We are going to create a vertical navigation menu. When the user hovers on each link, the following will take place:
  • A link with white color will fade in, hiding the link in normal state (with the same href attribute).
  • While the white link fades in, the background of the link will animate from right to left.

What We Need

We need the following:
  • A modern browser (Although it works on IE6 too!)
  • jQuery JavaScript Library. Download from jQuery website.
  • Your favorite text-editor. (Mine is Notepad++)

Create the Layout

We create an HTML file and put the following lines of code in it.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Animated Flash-like Menu with jQuery and CSS</title>
</head>
<body>
<div id='wrapper'>
 <div id='sidebar'>
  <ul id='menu'>
   <li><a href='#'>Home</a></li>
   <li><a href='#'>About</a></li>
   <li><a href='#'>Services</a></li>
   <li><a href='#'>Testimonials</a></li>
   <li><a href='#'>Contact Us</a></li>
  </ul>
 </div>
</div>
</body>
</html>
Here we created a basic layout. The navigation menu we are creating is placed under the sidebar. (You can put it anywhere. Just keep it in mind it's going to a vertical navigation menu.) The href attribute of each link is set to # (for the purpose of the tutorial.)

Let's Add Some Styles

So, we have our layout. Let's add style to it. Create style.css and put these lines of code in it.
html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote,
pre, form, fieldset, table, th, td { margin: 0; padding: 0; }

body {
font-size: 14px;
line-height:1.3em;
text-align:center;
}

#wrapper {
width:960px;
margin:0 auto;
text-align:left;
}

#sidebar {
 width:250px;
 float:left;
}

ul#menu {
 list-style:none;
}

ul#menu li {
 margin:0;
 padding:0;
 overflow:hidden;
 float:right;
 position:relative;
}

#menu li a{
 color:#000000;
 float:right;
 padding:6px 8px 6px 3px;
 width:200px;
 z-index:2;
}
The first two blocks of CSS styles are bare necessities. It's somewhat a modified (and lightweight) version of Reset CSS. You may do away with them, as well. We set the width of the wrapper to 960px and sidebar to 250px. (You can set them to anything.) Next, we set the list-style of the unordered list to none. (i.e. removing those pesky circles before each list item.) We set the overflow of each list element to hidden to hide everything that overflows the width of list elements. Position of each list element is set to relative because we are going to put absolutely positioned elements inside list elements. All the links inside list elements are floated to right, width set to 200px and z-index is 2. The z-index is important here because the links will overlay a span element with a lower value of z-index. Don't forget to attach the stylesheet to index.html (under <head> tag.
<link rel='stylesheet' href='style.css'></link>

On Hover

When the page loads up, each link element will change into the following:
<li>
 <a href="#">Home</a>
 <a href="#" class="overlay">Home</a>
 <span></span>
</li>
The extra link element (with class-name "overlay") and span element will created on-the-fly by jQuery, and both will be absolutely positioned. The span element will work as the background but it will be hidden untill the user hovers the pointer on the link. Let's add styles for these two extra mark-ups. Add these lines to style.css
#menu li a.overlay {
 color:#FFFFFF;
 position:absolute;
 text-decoration:none;
}

#menu li span {
 background:#528691;
 position:absolute;
 width:211px;
 height:34px;
 top:0;
 left:211;
 z-index:1;
}
The css definitions are pretty simple and easy to understand. Only one thing may need explanation — the width of the span is set to 211px. The width of each link in the list elements is set to 200px and they have right-padding and left-padding of 8px and 3px respectively. Thus, the effective width of each link will be 200px + 8px + 3px = 211px. Since the span will behave like the background of links, it should have the same width. Also notice that each span is kept 211px far from left. This is just to hide it.

Animate on Hover

Now that we are done with mark-ups and styling elements, it's time we add some javascript to animate the background on hover. Put these lines of code in index.html (under <head> tag)
<script type='text/javascript' src='jquery-1.3.2.min.js'></script>
<script type='text/javascript'>
$(function(){
 $("ul#menu li").each(function() {
  anchor = $(this).html();
  overlay_anchor = $(anchor).addClass("overlay");
  $(this).append(overlay_anchor);
  $(this).append("<span></span>");
  $('.overlay').css({ opacity: 0 });
 });

 $("ul#menu li a,  ul#menu li .overlay").hover(function() {
  $(this).parents("li").children("span").stop().animate({ left: 0 }, 150);
  $(this).parents("li").children("a.overlay").stop().animate({ opacity: 1 }, 100);
  }, function() {
  $(this).parents("li").children("span").stop().animate({ left: "211px" }, 150);
  $(this).parents("li").children("a.overlay").stop().animate({ opacity: 0 }, 100);
  }); 

});
</script>
The first line attaches jQuery library to index.html. Then, we clone the link in each list element and add append the cloned element after setting its classname to "overlay". We also append a span tag (which will animate and behave like background). The opacity of the overlay class is set to 0 to hide it. Next, when the user hovers on links, we animate the span from right to left (by setting its "left" to 0). We also change the opacity of the overlay class to 1. When the user hovers off the links, we change the links back to what it was before. That's it!

Conclusion

The potential of jQuery and CSS working together is great. This is just a simple way to mock up what Flash does best — animation. You can further improve on it. Like animating the current page link on document load. Or something more useful that fits your needs.

Labels: , ,

Read More

Giant Painting of Famous People with Wiki Links

What's common between Bruce Lee and Einstein? Elvis Presley and Vladimir Putin? Mike Tyson and Charles Darwin? Or Mao Zedong and Pele? Well, they are under the same frame — a giant painting of famous people. Whatsmore, you can visit WikiPedia pages for those people just by clicking on them. The image, it seems, may not be hand-drawn. The techniques used to achieve this effect is image-mapping.

Labels: ,

Read More

Tweet from Gnome with Pino

Are you looking for a ‘good’ Twitter client for Gnome? Not happy with Twitux? Try Pino. It’s a new Twitter client for Gnome-based desktop environments. It’s a very lightweight app with minimal dependencies. The latest version supports Identi.ca updates and multi-accounts, among many other features. You can shorten longer URLs on the fly with goo.gl and is.gd. The latest version is an experimental version.

If you are using Ubuntu, use the following command-lines to install Pino,
sudo add-apt-repository ppa:vala-team/ppa
sudo add-apt-repository ppa:troorl/pino 
sudo apt-get update
apt-get install pino
More installation instructions can be found at the download center.

Labels: , , ,

Read More

Add a Google Buzz Button with Buzz Count

Last week I posted how to add Google Buzz button to your Blogger blog. This is a follow-up of that post. But the following hack can be added to any website — whether running Blogger or Wordpress. Since Google Buzz API doesn't provide any function to count the number of shares in Google Buzz, we'll be using Bit.ly's API to count Buzzes. Please make a back-up of your template (or html files) before making any changes. I will assume a couple of things,

Step 1

Get your Bit.ly API key. Add the following lines inside the <head> tag.
<script type="text/javascript" src="http://bit.ly/javascript-api.js?version=latest&login=YOUR_LOGIN_ID&apiKey=YOUR_API_KEY"></script>
Replace YOUR_LOGIN_ID and YOUR_API_KEY with your credentials.

Step 2


Add these lines of code inside the <head> tag.
<style type='text/css'>
.btn {
background:url("http://1.bp.blogspot.com/_FX3RmPElUpc/S3tw51HNEtI/AAAAAAAAAz8/b9aPyAAwBl0/s144/buzz-button.jpg") no-repeat center center;
width:50px;
height:58px;
position:relative;
text-align:center;
}

.btn a {
position:absolute;
bottom:0;
left:0;
display:block;
height:17px;
width:50px;
}

.btn span {
position:absolute;
right:0;
left:0;
top:5px;
font-size:14px;
font-weight:bold;
letter-spacing:0.1em;
padding:3px;
color:#ffffff;
}

</style>

Step 3


Add the following code where you want to show the button
<div class='btn'>
<a href='LINK_TO_SHARE_IN_GOOGLE_BUZZ' class="buzzbutton"></a>
</div>

Replace LINK_TO_SHARE_IN_GOOGLE_BUZZ with the link. If you're using Blogger, you can find the link here. If you're using Wordpress, you can find the link at TricksDaddy. Do not remove the class ("buzzbutton").

Step 4


Add these lines of code just before </body>.
<script type='text/javascript'>
/***
Buzz Count Script using Bit.ly API.
Abhisek Dutta (http://ad1987.blogspot.com/)
***/

//get all anchor tags with buzzbutton as the class
urlContainer = {};
hashContainer = {};
function getAllButtons() {
anchrs = document.getElementsByTagName("a");
btns = new Array();
for(i=0; i<anchrs.length; i++) {
if(anchrs[i].className == "buzzbutton") {
btns.push(anchrs[i]);
}
}
return btns;
}

var btns = getAllButtons();

for(i=0;i<btns.length;i++) {
long_url = btns[i].href;
urlContainer[long_url] = i;
BitlyClient.shorten(long_url, 'replace_link');
}

function replace_link(data) {
for (var r in data.results) {
doc = data.results[r];
break;
}
short_url = doc['shortUrl'];
hash = doc['hash'];
hashContainer[hash] = urlContainer[r];
btns[urlContainer[r]].href = "http://bit.ly/"+hash;
BitlyClient.stats(hash, 'getStat');
}

function getStat(data) {
var clicks = data.results.clicks;
var hash = data.results.hash;
span = document.createElement("span");
span.innerHTML = clicks;
btns[hashContainer[hash]].parentNode.insertBefore(span, btns[hashContainer[hash]]);
}
</script>
That's all you have to do! Let me know if it works for you in the comments section.
P.S. This is inspired by Mashable

Labels: , , , , , , ,

Read More

Control Website Addiction and Stay Focused with ToVisitOrNot

Are you addicted to Facebook? Can't think of life without your friends' timelines on Twitter? Spending too much time on Orkut? Cannot stay productive on a permanently connected world? Well, ToVisitOrNot may help you!
ToVisitOrNot creates modified URLs of sites with a minimum time period between two successive visits. You can visit the sites using the modified URLs. But if you visit it more often than the specified time period, ToVisitOrNot will show you a warning message. Very simple idea but very unusual in its use.

Labels: ,

Read More