My blog has moved into Beta!



Please note that my blog has changed addresses! It's all new and improved. Hence this old friend of mine had to be left alone. You can visit me at The Last Word (beta). It's all warmed up for you! :)



From a readers point of view, feeds are one of the time saving ways of keeping up with blogs and sites. Everyone offers feeds now, for almost everything. Starting from content to services. Blogs offer feeds for content, comments, categories and various other things. All thats well and good. But whats in it for programmers?

To start off simply, feeds are a repository of data just waiting to be read. They are the best way of exchanging data between applications, and hence so widely used. Combined with a service such as FeedShake, which just appends anything new to a new feed, it can be used to chronicle your data over large timespans. If you head on there, you'll see an option to filter out data. Now, here is where things become pretty! :)

I'm going to suggest you get into the habit of converting RSS feeds to JSON if you don't get a JSON feed. It will save you loads of coding time, and make life much simpler. For that, I'll suggest Stephen's fantastic Outline Converter. Using FeedShake's service, you can create virtual categories with one feed for each category. That feed, when converted to JSON, can be used to write out data for each post! :) You can not convert it and use normal Javascript to write it out too, but thats the hard way! You can put in a category word in Braces and then have my content replacer script remove it when its written on the page. The RSS will still have the word though, and you can filter posts out that way. Have a look around and see what you can come up with!

The other thing you can do is use it to search your blog. Yes yes! You can use my Native Blog Search as well, and its more effective than this, but hey! This is just another way of doing things! Chronicle your entire blog and after converting it to JSON, just search through it using normal Javascript statements. It'll increase page-load time, but searches will be lightning fast.

Feeds find use everywhere, and you'll see it working great for you if you know how to make it work for you! This discussion continues on Bloggeratto at Feeding The Future. And while you're at it, continuing the theme of the post, why not subscribe to my feed too? You can keep a tab on whats happening! Grab it here! (The Last Word Feed)


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)




For the past few days, I've been obsessed with the design of the sites that I visit. Umm... ok! Maybe for the past few months, but I have been. The jarring designs and colours really do hurt the eyes and make me want to keep pummeling 'Esc' until every facet of the site has stopped loading. A site which I found via the comments in Bloggeratto is probably one of the perfect examples of really what not to do! (Bad Design)

Simplify

I've mentioned it before, and I'll gladly do it again. Whenever you start planning your blog/site's design, start simple. The easiest mistake to make is find a million pictures to fill up every nook and corner of your page. It works only if you're someone like Doug Bowman, but if you're him, chances are you'll have much better tricks up your sleeve! :P I know that designing a site is probably not the most exciting part of the deal for most people, but once you get the hang of it, if you have the eye for good looks and you know what you're doing - any of those, and you'll enjoy creating the look of your site. After all, what good is your site if it doesn't look/do anything different.

I read somewhere that Google's minimalistic look started a revolution which had people running helter skelter to make their look as simple as they could. I'll agree that Google did start something of a deviation from the norms, but to attribute it to Google would be wrong. Minimalism has always been known to attract. The simplest of things, though the most complicated to make, has pulled it the majority. Gaby's comment states an interesting survey result, and should confirm what many people have sub-consciously noticed. People might evolve, tastes might differ, but what is aesthetically pleasing will remain common. Black (only for text), White, Green, Blue are colours which will always soothe the eye, whereas Red, Yellow, Pink (the bright ones) and many others are ones which will hurt the eye and make it hard to read things, eventually pushing away viewers.

Minimalism

Minimalism really does work, everywhere it is used. It follows from the simple theory that 'the mind accepts simple things faster'. Don't let your viewer's do the hardwork. Put in a few more minutes and simplify whatever you're doing, be it anything - computers/non-computers related. But when it comes to designing, it's best to stick to the 'black on white with light background colours' formula. Remember, the look should shift attention to the content, not away from it.

I've listed below a few sites which pull off the minimal look brilliantly. Have a peek, and see if you get any ideas!

Minimal Sites

Bloggeratto
ParticleTree
Phydeaux3


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

http://fouroughfour.blogspot.com/ design has changed and that should be noted, the new design even if it look really rough it is way better from where it was whne i first looked at it.

that blog killed every one of my browsers...it should also be noted that my browsers are modded to the max for speed and this blog killed them all..

so, hence my little fit in the comments when it was posted.

Haha! Yes, that's why I put it up here! I didn't load it when I put up the post. It crashed my browser the last time, so precaution this time.

However, the new design is as bad, so I guess the link stays as it is!

well, thanx 4 the link....

Ah! I'm sorry if I came across rude Milo my friend! No offence intended? :)

You can always change the look to not make it so heavy on the browsers and people with 3rd world PC's like me! :)

Hey Aditya, (yes I'm still around :-) )

Thanks for mentioning phydeaux3 as a minimalist design (better than being the bad example..poor milo). Much credit goes to the drunkey love wordpress theme that I took it from, although I have chopped it up a bit.

An excellent post. I think that's the biggest mistake the new bloggers make, as soon as they learn to copy/paste some new code, or to tweak some css, start to use every trick in the book.

For people who are somewhat artistically/design challenged (like ME), knowing when to STOP is the hardest thing. That may even be what makes someone artistic, the knowing when to stop.

It's a constant struggle for me (since I have no real design skills at all) to keep from going too far. And sometimes I still do, but eventually I usually realize it later. :-D Although sometimes I don't.

And I hate to mention this, but I suppose you'd want to know. You may want to check the link for Bloggeratto at the end of your post...I don't think it's going where you want. :-D
    Anonymous phydeaux3, on Fri Jun 02, 06:49:00 PM  

Haha! My bad! Fixed the link! :P

Calling yourself artistically challenged Kirk is taking modesty to a whole new level! Phydeaux3 is a beautiful piece of work, with the whites and greens really soothing the eyes after a long day of coding. Ofcourse, I'd visit it much more if you updated it more! :P (2-3 weeks and counting if I'm not wrong)

Knowing when to stop is not what's required. Better than knowing when to stop, is to just understand what looks good and what does not. For example, I was trying to add a green blimp to the search keyword box. That in tandem with the yellow blimp of the search results gave quite a siezure inducing effect, so I let it remain as it was.

Such sensibilities, I'm sure, come with experience which most of these new time bloggers lack. We can't blame them, the internet can be a very exciting place for newbies! Enough fireworks to keep people busy! :P



Add A Comment? Its Nice To Get A Feedback! :)




Here is something I found worth my noodle! It is true that most designers cannot write. All they are concerned with is that if the design pleasant and catchy enough. That is technically how it should be, and I really like those who stick to their core competence. The kinds who don't get in other's way because they know what they're good at, and stick to that. Work goes on faster. Unfortunately, the world doesn't think so.

That article there clearly makes a point worth remembering. Design is about communicating ideas, and an effective designer is one who can convert thoughts into more than one visual form.

So if you’re someone who hires designers, ask them what they like to read. Talk to them about their word choice in every button, every link, every title. Give them a crack at writing your about page. It’s the designer’s job to think about your site the way a user does, and tell them what they need to hear, and when they need to hear it. A designer worth their salt will be able to do it. And if your designer says, “I’m not a writer,” it may be time to find one who is.

If you’re a designer who doesn’t think of yourself as a writer, it’s time to reconsider. Buy yourself a copy of Strunk and White, do some research online, or take a class. Design is about communication, and it takes more than pixels to communicate.

Ofcourse, people can't complain now that they don't have a way of sharing their knowledge with other people, or say something. Blogs are the perfect and cheapest way of doing so. I am myself subscribed to some 7 blogs related to design, and learn so much from. What I learn is that it is not just about the look. You need content to back up that look. A designer hired to work on a particular interface should also come up with the text that goes with the interface. No-one is asking him to generate the main content, that'll be stupid. But small things like by-lines, links, so on so forth should be his cup of tea. The designer is after all the one who made that design, and his personality will reflect in it. If the text doesn't support the design, it'll be jarringly obvious.

For example, you can't have a blog in yellow, orange and red with text which says, "This has been (someone's name)'s work. I hope you liked it. You can reach me at the following address." It'll seem very out of place, atleast for me. So, people who design should really learn how to write. If not whole articles, just enough to be able to get their thought across in text, and not colours or layouts.

After all, if not anything else, it is text which imparts knowledge. A designer who doesn't share his fundamentals is as good as nobody. The Web 2.0 principal truly should be applied to every facet of life. Share your knowledge and information. You never know what may come out of it. There isn't a dearth of ideas. What lacks is the guidance, and someone with knowledge who can share it, is really held in great esteem amongst his comrades! So if not to keep the tone of a design consistent, designers should learn to write to just share what they've learnt.

So all you designers out there, begin writing! Its good for you, and for those around you! :)

The discussion continues over at Bloggeratto's post, Writing into Perceptions


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

good point, it's pretty silly.

A good example would be inserting Lorem ipsum blah blah into a new template design. It doesn't show what it's like to read from the lay out at all. The eye candy factor may work but that's not what makes a site interesting? People should be able to actually read things. It's a dead give away the designer never bothered to look what it looks like.

Research showed that 95% of the visitors read the whole page if it's black text on a white background. Black on grey or grey on white are good for a microscopical 45%. Lay outs with blue or red text don't get above 15%. This is actual research based on monitoring 10 000 people, It's not something anyone can disagree with as-if it's an opinion.

How a template feels can only be found-out by writing something in it and reading it, all by your designing self that is. :-)

By all the logic above, I should probably make rant templates. hahaha



Add A Comment? Its Nice To Get A Feedback! :)




Web 2.0 generally refers to a second generation of services available on the World Wide Web that lets people collaborate and share information online. In contrast to the first generation, Web 2.0 gives users an experience closer to desktop applications than the traditional static Web pages. The term was popularized by O'Reilly Media and MediaLive International as the name for a series of web development conferences that started in October 2004. Web 2.0 applications often use a combination of techniques devised in the late 1990s, including public web service APIs (dating from 1998), Ajax (1998), and web syndication (1997). They often allow for mass publishing (web-based social software). The term may include blogs and wikis. To some extent Web 2.0 is a buzzword, incorporating whatever is newly popular on the Web (such as tags and podcasts), and its meaning is still in flux.

That is wikipedia's definition of the word. The key phrase here being "lets people collaborate and share information online." Now, that would include all sites such as del.icio.us, YouTube, digg, and so on. Blogs are the biggest part of this whole revoltion with the Web 2.0. However, something that refuses to make itself clear, is that how in the world did social network sites catch the bandwagon, and not only catch, but claw themselves over to the passenger seat next to the driver?

The rise of social networking

Suddenly, there are so many of these sites with the pack being led by very public contenders like Myspace and Orkut. The thing is not that people who feel left out are the ones looking to sign up at these sites and meet new people. Its perfectly normal people who have a blooking social life who are also looking at sites such as hi5, to keep in touch with near ones gone afar or finding new people to interact with! I thought blogs were the choice personal content publishing platform today, not these sites! Where would you place Myspace in this entire boom. You can't call just a blog, neither can you call it a forum. Social network site? Well, you could call it that, but why create a completely different category for them if blogs are present. Why do people look to them at all? Because its easier? C'mon, what can be easier than making a Blogger blog? It helps them invite their friends, add them to the list and just generally be one of the cool people on Myspace. We have seen all the controversies involving Myspace that keep popping up now and then!

If its just kids seeking voice, then weblogs are much safer and much more personal than any Myspace site. If you don't have any markup knowledge, pick up the default templates and cook up a blog! Myspace sites are nothing but memory leaking, horrible looking shams for personal web pages. When was the last time you saw someone get into trouble because of a weblog? Myspace is less than a year old, and already its got the reputation of one of the least safest sites on the internet. I'm not saying circles like Orkut and Google Groups is fine, but atleast they're more secure.

The death knell

Its time to abandon these so called networks. If you want to keep friends, get their e-mail addresses for goodness sakes. I know people who have an account in every one of these social circle services. However, its not friends who reply to your profiles. The perfect example being this one my friend got (Its kinda weird, but you get the idea). Keep out of all these ruts, security hassles, controversies. If you want a platform to voice your opinions, click here, and breathe easy!

Please! Be a little cooler than the rest of those Myspace geeks?


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

hahahahahha!!
you put the freak's love letter up? roflmao.
but, sweetheart, just so you know, it's the wrong link :D
keep blogging!
akanksha

Fixed! Slight error on my part! Thanks for pointing it out! :)

indeed. die myspace!!



Add A Comment? Its Nice To Get A Feedback! :)




That, is the question. This is one of the golden rules that unfortunately doesn't get much importance except from people who actually understand the importance of it. So I'll break this up into three parts.

The Importance

Positioning elements takes them out of the standard stack of elements on a web page. It allows them to be placed anywhere, without it affecting the neighbouring elements. There are four ways to position elements, absolute, fixed, relative and static. Static positioning is the same as not positioning them at all. Absolute and Fixed takes it out of the stack and using top, right, bottom and left, it can be placed anywhere. The sole difference being that Fixed fixes the element at the place and hence it doesn't scroll with the page. Its always visible, whereas Absolute places it at those exact pixel co-ordinates (scrollable). Relative allows to place the element relative to what its position would be if it wasn't positioned at all.

The reason elements should have the position:value style present is because any elements contained within such an element can be positioned relative to it. An element is positioned relative to the closest positioned parent element. Which means:

#parent-top{position:absolute;}
#child_parent-top{}
#child_child_parent-top{position:absolute;}

If the above style is applied to a page, then the following will be positioned as explained.

<div id="parent-top"> // DIV 1

<div id="child_parent-top"> // DIV 2

<div id="child_child_parent-top"> // DIV 3 </div> </div> </div>

<div> element 3 will be positioned relative to <div> element 1, whereas <div> element 1 will be positioned relative to the main document. <div> element 2 will appear in the document where its meant to appear relative to the unpositioned neighbouring elements.

Clear? Good! No? There is a very good explanation on positioning elements at BarelyFitz Designs. Have a look to get a good understanding of how it works!

Absolute Vs. Relative Vs. Fixed

As far as I'm concerned, absolute positioning should be used only when the need arises. It should not be a substitute for placing certain sections in a certain place. I've seen people absolutely position an element which appears right at the bottom in the markup, right at the top. They could have written it at the top, and not have had to position it then. The more elements you pull out of the normal stack, the more messed up the design might get. Plus, its not that easy to locate positioned elements in the markup since its orientation is lost. Hence its a pain to debug a stylesheet and markup which is made of absolutely position elements.

Relative positioning should be used when the designer is not sure of the resolution at which the page will be viewed. But its generally useless, since its better to use % and em to fix cross resolution problems. This should be only used if you want to give the element a position:value style to position elements contained within this element. But even for this, I'll suggest using position:static. Its more definite.

Fixed really pulls things out of their stack place, and fixes them at the co-ordinates specified, on a different z index altogether. Any elements around this will not be affected until you start scrolling. You'll see this jammed in place, while others go around it. It can be an annoyance, and hence should be only used for things like links/navigation/header bars. Things which you know should be readily available at all times, in the same place of the screen. For example the translucent links bar (Firefox/Opera Only) at the bottom of the screen on this blog. Finally a note of caution why this shouldn't be used as freely as absolute. It's not handled by Internet Explorer. This specification behaves likes an absolute positioning.

Conclusion

So, now at the end of this article, I hope you've learnt a small bit of positioning elements on your page using CSS, and I hope you don't make the same mistakes many other people make. Improve the viewer experience, not degrade it! :) Here's to a better site! c|_|


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)




Categories has really been one of the biggest low points of Blogger blogs, and even after so much time, it seems as though their API will prevent them adding categories anywhere in the near future without making big changes to almost everything to do with Blogger. Not to mention added load server side, having to bear the brunt of millions of blog (some of which have been abandoned, not deleted), and then holding posts natively categorised, per blog. Sheesh! It hurts just by the sound of it.

So, seeing that, there have been many categories hacks from all over the place. Many of them varying in degrees of complexity (either in code or implementation). I'll agree I seem to have taken the easiest way out, but hey! If it works! :) So I shall now unveil my Blogger Categories Index. I call it ABCI (Asynchronous/Aditya's Blogger Categories Index). You can see it in full glory on the right in the sidebar. Here are the codes if you wish to use them on your blog:

Implementation

Insert this external script from delicious in your <head> area. It calls all your tags, sorted by the number of posts in them from delicious:

<script src="http://del.icio.us/feeds/json/tags/username?sort=freq" type="text/javascript"></script>

Next is the big ballyhoo itself! This bunch of code should be put in a seperate set of <script></script> tags, so that if something goes wrong, it doesn't interfere with the other functions on the page:


/* `````````````` TAGS DISPLAYING `````````````````` */

/* <license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/2.5/" /> */
/* Asynchronous/Aditya's Blogger Categories Index by Aditya Mukherjee (www.aditya-mukherjee.com) */

var tagn="";
var user="";

function tags_s(tagname){
tagn=tagname;
var tag=document.createElement('script');
var url="http://del.icio.us/feeds/json/"+user+"/"+tagname+"?callback=write_tags&count=100";
tag.src=url;
tag.type="text/javascript";
tag.id = "app-tags";
document.getElementsByTagName('head')[0].appendChild(tag);
}

function write_tags(tag){
document.getElementById('cont').style.display="block";
document.getElementById('cont').innerHTML="<div align=\"right\"><a href=\"http://del.icio.us/rss/"+user+"/"+tagn+"\"><img src=\"http://photos1.blogger.com/blogger/2472/807/1600/feed-icon-16x16.png\" style=\"border:none\" align=\"right\" \/><\/a> <b>Subscribe To "+tagn+"<\/b><\/div><br /><br />";
var elem=document.getElementById('cont');
var i=0;
while(tag[i]){
        var head=document.createElement('a');
        head.innerHTML=tag[i].d;
        head.title=tag[i].d;
        head.href=tag[i].u;
        head.id="cat-title";
       
        var desc=document.createElement('span');
        desc.innerHTML=tag[i].n;
 
      if(tag[i].n){ 
        elem.appendChild(head);
        elem.appendChild(document.createElement('br'));
        document.getElementById('cont').appendChild(desc);
        elem.appendChild(document.createElement('br'));
        var k=0;
             var t=document.createElement('span');
             t.innerHTML="<span id=\"filed\">Filed Under:<\/span> ";
             t.id="cat-t";
        while(tag[i].t[k]){
             t.innerHTML+=tag[i].t[k]+"\t";
             k++;
             }
        elem.appendChild(t);
        elem.appendChild(document.createElement('br'));
        elem.appendChild(document.createElement('br'));
        }

    i++;
    }
var rem=document.getElementById('app-tags');
rem.parentNode.removeChild(rem);
}

/* ```````````````` END OF TAG DISPLAY ```````````````````` */

The stuff in red has to be filled out by you. They're going to be your delicious username, so that the correct data is called. Ofcourse, if you want to call someone elses tags instead, feel free to replace it with theirs, but make sure you have their permission first! :P Next is the displaying of the tags:

<div id="tags">
<ul id="taglink">
<script>
     for(var i in Delicious.tags){
         document.write("<li onclick=\"javascript:tags_s(\'"+i+"\');\" \/><a>"+i+" ("+Delicious.tags[i]+")<\/a><br \/>");
    }   
</script>
</ul>
</div>

This writes out the tags in a list. The style of the list can be edited by calling the ID selector as taglink. lis and as can be individually styled as well. All CSS rules apply here! :) The last bit is the place where the posts filed under your categories will finally be displayed. Add this wherever you want them to go:

<div id="cont"></div><br />

Usage

As before. Individual styles within this can also be set by prefixing div#cont to the IDs cat-title (for the title of the post) and cat-t (for the display of the categories its filed under). The categories display itself can be styled using ul#taglink and then styling the subsequent li and a. If you them to look the way do on my blog, you can grab the styles straight off my template (My Template). The post content can be set by setting the global style for div#cont. Thats it for this. Now, to use this, you'll have to start tagging your psots over at delicious.

You can use Johan's userscript to help in categorizing your posts. The script up there will not write the posts which don't have a post body. This is to maintain the uniformity of the appearance. Although if you don't want this, remove the if statements that I have marked up there. The rest, is the same as to how you tag your posts. Everything is automated, so just add those chunks of code and you'll be on your way.

As always, any doubts or questions will be answered. Just add a comment, and I'll get back to you as soon as I can. Enjoy! :)


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

This is impressive. Looks like I'll have to add another Aditya hack to my "to be installed" list...

Aditya yo da man!!! btw I like the way you explain/show your code here compared to blogeratto i don't like the show/hide way the codes are presented. just my thought. keep up the good work

Thanks a ton Ariel and Bubos!

@Bubos: Bloggeratto is more of an announcement platform, not the original or final destination for my hacks, hence the explanations are better here. I'll try and make the explanations uniform across the two blogs, but for latest and updated hacks, this is the place!

As for the code display goes, you can make the suggestion to change it directly at Bloggeratto. I'm sure Avatar will be glad to look into it! :)

I hope you have the patience for a non-programmer's dumb question. I followed your directions with no problem until I got to that "last bit" of code. I didn't know where to put this in my blogger template, so I pasted it in the sidebar section. Obviously that was wrong, but I don't know how I'm supposed to use that bit.

What my sidebar has now: a nice-looking list of my categories, along with the number of posts in each category. Moving the cursor over one of these categories, however, reveals that there is no link to follow - it's just text. The text "< / div >" is also there, mocking me. Can you please help? My blog and I would be grateful.

Ofcourse I do! :) Ok, bit by bit!

"I didn't know where to put this in my blogger template, so I pasted it in the sidebar section. Obviously that was wrong, but I don't know how I'm supposed to use that bit."

That bit is what displays the posts, so you place it wherever you want the results to show up. On this blog, I've put right above the main post holder, and placed the categories to the right. Place it in an accessible place, where you know people won't miss it!

"Moving the cursor over one of these categories, however, reveals that there is no link to follow - it's just text."

It is not just test! Its a link without the href defined! You can set up a style for it, so that the cursor changes if you hover over it, but it'll work if you click it! Any more than this, I'll have to see what is wrong before I can help you, so mail me your blog address and I'll have a look?

I spent a long time poring over the "Help" topics of Blogger to try and find the tag/categorization feature for my fledgling blog. I am glad that you've creating this hack to fix the problem!

Unfortunately, I seem to have a problem with the display of the tags as well.
When I input the last line of code after my [Blogger] tag, clicking on a del.ico.us category only makes an RSS feed saying "Subscribe to [tag]" appear.

I toyed with the end code line's location and the problem persists.
What can I do to fix this?

I don't think you have added any postbody content in the notes box in del.icio.us while tagging them. My script, by default, doesn't write the posts which don't have a notes section. You can disable this by removing the lines (if statement) marked in green.

It'll write out all your posts!

Ah, thank you for that extra bit of information. It is nice to know that I can use del.icio.us for things outside of my blog as well.

Kudos to you for your awesome site! :-)

I got it to work! Thanks for your help.

Hello Aditya just want you to know that I love your work very impressive.

I just updated my site and I'm going to use some of your script. Right now I've installed Asynchronous/Aditya's Blogger Categories it works fine with IE6 and Opera but it doesn't work on Firefox don't know what I'm doing wrong. Can you have a look see at my site it's 1ijack and tell me what wrong with my ABC?

thanks and keep up the good work

There's a line --> document.all.cont.className="show";

Remove that! I removed it from the code given in the post too, don't know how you got the messed up one! Anyway, try this out! :)

Its now working!! thanks

the script that I used was the one I saved last month, kinda stupid of me didn't bother to check for updates.

anyway thanks man and keep up the good work

Hi Aditya! Thanks for your amazing code! I managed to use it for a webpage I'm designing for a school event. I was wondering if you could teach me how to display the delicious tags for each and every blog post on the individual blog pages, like how it is implemented in this blog with the "Posted Under: XXX" under the blog post title. Any help would be greatly appreciated. Thanks!! ~Calvin, Singapore

Hey there Calvin! I'm glad my code could help you! :) If you want to display the categories a post is filed under, I'll suggest you have a look at my Link Field hack. I use that on my blog, and I'm sure you'll be able to do the same.

Thanks for dropping by!

Thank you Aditya! You're really helpful! =) Your codes are fantastic! Keep rocking!

Aditya -

I am trying to get this cooking and I am very close (I think). I setup a test area at http://131365414343.blogspot.com/ because I need you to take a look. When I click the tag (listed in the archive by categories on the right) I do indeed see a list of posts for a few of the tags, but not all. Additionally, when it does show the post titles, its only listing a couple of them and not all.

Am I missing a setting somewhere? Confused because it does work on a few of the tags...

Thanks a lot.

Mark

Hey Mark!

I can see your problem. The thing is that by default, my code prevents posts without any summary from showing up in the results. Now, its common practice that people don't add anything in their Notes area of del.icio.us bookmarks. However, categories don't make sense if a little summary of the post is not displayed as well, hence I had to take this measure. You can do two things!

a) Add some content in the Notes section of your bookmarks or,
b) Remove the lines marked in green in the code. There is one if statement, and one } brace.

I hope I've solved your problem! :)

Got it - I will add the descriptions. Its crazy quickly your script works.

Last thing then I will leave you in peace and tell the world about your skills. On the post title display, I cut and paste your single line of code (which was the last step) but its showing a > that I can not get rid of when the page displays. I've implemented it on the main site now so you can see it right under the banner. Its at dumblittleman dot com (written so you don't think I am looking for any publicity). You can also see it on the test site I listed earlier

Thanks again

Haha! Thank you for your kind words! :)

The < is because I had managed to leave a &lt; inside the <div id="cont"></div>. If you remove that, the angular bracket will be gone! I've edited it in the post as well, so thank you again for the little alert! :)

Looks great, I love it. Have you ever considered building a similar script using the the tag bundles as the top line item and then sub heading containing the tags? Has to be do-able, just way, WAY outside me brainpower.

Mark

I thought about that initially when I was writing this script. Unfortunately I couldn't find a JSON feed for their tag-bundles anywhere, hence I had to stick to this approach. I'll be working on allowing headings for a bunch of tags/categories as a part of my next update. Thanks for the suggestion! :)

Hey Aditya - 2 things.

I have a decent amount of categories. When a user click on a category, it would be helpful if the page would automatically go to the top of the page as opposed to loading without moving. I've had a few comments from people indicating that they were unable to tell the post summaries had been displayed (go to my page at www.dumblittleman.blogspot.com and select a category with less then 10 posts and you will see what I mean).

Also, I have been trying to get the same yellow-fade effect in the div that displays the post summaries. I've gone thought your template but I can't figure it out. Have any tips you can send my way?


Thanks a lot

@DDM: To make it autoscroll to the top, put a <a id="top"></a> right at the top of the documents. Then, find this line, where the links to the categories are generated:

<a>"+i+" ("+Delicious.tags[i]+")<\/a>

And replace it with this:

<a href="#top">"+i+" ("+Delicious.tags[i]+")<\/a>

That should do it for the scrolling bit!
Secondly, the effects are all courtesy of script.aculo.us, so you can give it a read. I use the highlight effect quite dominantly on the blog! :)

Also, you didn't tell me how the tag bundles thing went. Did you find anything on that?

I followed the directions but nothing happens when I click on a category. Obviously I did something wrong. Please advise.

http://itsallinvickishead.blogspot.com/

@Vicki: The line in your template which reads var read4thefunofit=""; should actually be var user=" read4thefunofit";. Fix that, and it'll work!

Hi Aditya, is it possible to limit the number of del.icio.us tags this hack displays? I started out with a set number of category tags (which I still use) but began to tag my posts more liberally...so now I have a couple hundred tags, which would be overwhelming if they were displayed in the sidebar.

Is there a way I can choose which tags will be displayed in this hack?

Cool, but in when I put in my blog appears rss links.
    Anonymous gerald, on Sat Jul 15, 07:17:00 PM  

@Gerald: I don't think you have added any postbody content in the notes box in del.icio.us while tagging them. My script, by default, doesn't write the posts which don't have a notes section. You can disable this by removing the lines (if statement) marked in green and yellow.

@Ariel: Yes there is! But you'll have to make the tags which you don't want displayed not shared (using Del.icio.us' newly added feature). Otherwise, you can only limit the number of tags, but not which, to be displayed.

hi aditya, your script is awesome. thanks so much, i followed your step to change my blog and the categories finally works perfectly in firefox. but if i use IE6 to browse it. the cursor pointer didn't show up when i put it to my categories. is that my css problem? or did i do something wrong? pls advise. thanks.

I'm guessing so, yes! Try putting in a cursor:hand statement in there. If that doesn't work, search around for the IE equivalent of a hand pointer in CSS. I'm sure that'll help you.

I'm sorry but I really don't bother with IE so much! :P Thanks for dropping by! :)
    Anonymous Aditya, on Thu Jul 27, 11:43:00 AM  

I came to know of your wonderful hacks from blogger forum. As for categories,
I'm directly linking to the del.icio.us page, which makes the visitors leave my blog.
I want to implement your hacks. As I'm not savvy with CSS/HTML, I would prefer
to create separate posts for each category with the category name as title and I would like to extract the urls corresponding to each tag from del.icio.us into those posts. Could you kindly suggest what changes I should make in the code specified by you? I'll be very much grateful for your help.Thanks in advance.

Hi Aparna! Thanks for wanting to use my hack! :) There are just a few steps that you'll have to take to get this working for you! Just follow the itsy bitsy steps below, and you'll be on your way! :)

1. Make a post for every category, with the title as the name of your category. Then in the post body, put

<script>
var categ=location.search.slice(1);
categ=categ.replace("?", "");
if(categ!="") tags_s(categ);
</script>

<div id="cont"></div>


(This bit will look for a ? and load the category which is written after that)
The post editor will give an error when you try to publish. Check off Do not show errors and publish again. It'll get posted.

2. Add the entire part above in the post which is supposed to go in the <head> area within <script></script> tags.

3. Make links in your template, and make them point to url-to-post?category. For example, if your category is called 'Personal', and your post url is 'http://blogname.blogspot.com/2006/08/personal.html', then your url for the category will be http://blogname.blogspot.com/2006/08/personal.html?Personal

I hope this helps! :) Best of luck!

Aditya,

First, amazing script. To get the basics working took almost no time. Unfortunately, I've now spent way too much time customizing and I've reached a wall in my ability to plagiarize your work.

First question: How do you limit the number of tags that are displayed? I know that I only want to show the top 10 most used tags, and I'm willing to accept that the topics may change over time.

Second question: What determines the order that the links are shown in the list (after clicking on a category)? It doesn't seem to be chronological - which would be preferable - or even alphabetical. Is there some way to force it to be chronological so that the most recent posts are at the top?

And one note. You suggested to DDM that he put href="#top" in his script. I believe it needs to be href=\"#top\". right?

Here's the link to my site. Only the index has been published with the script for now.
Banana Stew

Thanks again for the creativity,
Scott

Hehe! Thanks for the kind words! :) I'd like to know what all you've customised, so that maye I could add in the features natively as part of my next update? As far as your questions go, here are the answers! :)

1. You can limit the number of tags to be shown to be the top 10 most used tags, by changing the URL from which the JSON feed for the tags is received. The following line will do nicely!

<script src="http://del.icio.us/feeds/json/tags/username?sort=freq&count=10" type="text/javascript"></script>

2. The order of the posts showing up is the recency of them being added to Delicious. Means if pots 1, 2, 3, 4 are posted to Delicious as 2-3-4-1, then thats how they'll show up. I will look into making the posts chronological in the display, and will announce it when I put it in. Thanks for the suggestion!

And yes, the double quotes needs to be escaped, so you'll write them as \".
I hope all these help! Tc!

Aditya,

Thanks for the response. I implemented #1 and it works beautifully. My problem with #2 was my own. I'd screwed up some code and the tag list was just building instead of clearing and reprinting. It's ok now.

As for the customization, most of what I've done is cosmetic. I didn't see a need to add an RSS subscribe button, links, or description text, so I changed the output to just put the blog title and name of the category at the top. Then I personalized the style a bit so that it fit in better. You can see the latest version at my blog.

Then, unfortunately, I followed your link to script.aculo.us and have now wasted waaaay too much time playing with those.

Thanks again. Great hack.

Scott

testing



Add A Comment? Its Nice To Get A Feedback! :)




I still remember how I came into the blogger scene. I had tried my hand at blogging a few times in the past, but never managed to keep at it. I started feeling guilty when I was not updating it, so both the times I deleted my previous blogs. But this time, the one I started in January of this year, I planned to keep and decided to write about things I was passionate about. Google, Music, the internet, everything. I was already into CSS and HTML so didn't take long for me to start experimenting with my blog layouts and the look. I've always been something of a nit-picker when it comes to looks and stuff. So I had to do it my way, wasn't going to stick with what Blogger handed to me! :)

Anyway, in about two months, I started looking for things to add to my blog seeing all the really cool categories, ads and stuff people were adding to their own blog. My first third party application that I ever added to my blog was probably Freshtags!. I still remember posting 2 comments over at Freshblog telling them that it wasn't working for me! Hehe! Now, I have my own categories which I coded and built from scratch! Not only that, I also made my own Blog Search, and a couple of more hacks which have been used over quite a few blogs and appreciated by many! :) So, I'm going to take this opportunity here to thank a few people who've helped me reach where I am (wherever that is! :P). Note that the tribute list below is is no particular order! You'll figure out who've played major roles as you keep reading!

I'm going to start with John and Greg, who were the first people to ever answer my comment! :P Greg's Freshtags got my interested in coding and getting seriously involved with Blogs and Blogger. If it wasn't for Freshtags!, there probably wouldn't have been an Aditya on the blogger scene! (Not one with my face atleast!)

The next person, and who's always egged me to do the stuff that I have been doing, will be Avatar. I saw him first comment over at Freshblog!, and then cut me off over at Blogger Help Google Group. Later on we started talking, and became good friends, and now we have a joint venture in Bloggeratto. He's the man behind the ideas (most, not all! :P) behind the hacks, and truly a great guy! Thanks for being there man! Appreciate every single day of it!

Then comes the list of all my non-geeky-internet-friendly friends who are constantly in awe of all that I keep doing, and invariably give me way too much appreciation than I deserve, but which I cherish and really motivates me to work, if for nothing else to see their reaction. People like Akanksha, Shikha, Sonali (who thinks my blog is really professional), and a few others keep coming and going! Thanks guys for everything!

And ofcourse, those who have helped me with my hacks! Johan, Singpolyma and the latest and really nice guy, Kirk! Couldn't have done it without these guys either!

Thats about it for this sentimental post! Don't know what made me put it up, but I just thought I should let the one's who've made a difference know, before I don't get a chance to!

Now, as Avatar would say, back to pimping me and hacking!!

Filed Under:

Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

thanks :P
ur blog's great! keep it up :)

Awww thanks Aditya, response has being posted... and to everyone reading this comments thread must know:

Yeah, am as cool as aditya states..

=D

Hey thanks for the mention, that's cool.

You got a lot of nice hacks/ideas brewing up over here, and if I've helped any (don't think you really need much help) then I plan on getting it back by stealing stuff from you in the future.

I've got an eye on the inblog search results right now...hmmmm. :-D

Keep up the great work!
    Anonymous phydeaux3, on Sun May 21, 08:48:00 PM  

Thanks for the mention :D Your in-blog search is looking very cool now. One thing that bothers me about your template is the blue screen one must wait through at first... I hate waiting for the whole template to load before getting content.

I'm glad that it was my lame code that inspired you to say "Hey, wait a sec ... I can do better than this crap!"

-Greg.



Add A Comment? Its Nice To Get A Feedback! :)




Its been a long ride for Google, hasn't it? I remember my uncle telling me once to give this search engine called Google a try. "Its really fast!", he said to me. I was some 10 or 11 years old back then. The internet to me was not really about searching or surfing. It was more about e-mail and games. I still remember not caring two hoots about what Yahoo! or Google was. Yes, Microsoft was a known name, since my internet access was thanks to them. Nothing more, nothing less.

Fast forward 6 years. Things have changed so drastically. Someone from that time period, placed in today's date in front of a computer with internet access will feel so lost. Every homepage, default search, advertisement has the word Google in it. Surely they won't remember a small startup company that promised the world, well... to the world! And yet, in some short 5-6 years, they have made it big as one of the few companies which has given the big M the jitters, even if slightly.

Google has slowly and steadily cranked out services and applications for people, trying to make life simpler for them. There motto of 'Don't be evil' (or something like that) really did stick with the general crowd. All it took was one alternative to start the alternative wars. Every company which was not Microsoft, and offered the same functionality (sometimes better) that MS applications did, rose up like fiery dragons to fight the holy war! To dethrone the king, and spread an insurgency that would revolutionise the world!

Unfortunately, it didn't work.

Only Google remained on the tips of people tongues. Companies such as Lycos, which where big in their time, are nowhere these days. But now, it seems like Google is too feeling the pinch from Microsoft's lingering monopoly. It was evident at their latest Press Day that they are trying to so hard to return to their roots. Their post over at their blog We are still about search so clearly states that Google wants to remain in people's memory as a search engine. And their core competence is visible in every application that they've developed, where search plays a major part. Their two most successful services apart from search, have been GMail, that revolutionised the way we think of web mail, and Blogger, the runaway success that did everything different than other personal publishing services available... except the publishing part ofcourse! But their market share percentage lies in single digits still (I dont' quote statistical numbers, so don't ask me for 'em), and hence, I think Google is feeling the heat.

Microsoft is surely fighting back with integrating search with everything in their own way. Vista is practically a search engine based OS, where everything is indexed for search. Google is crying fowl, but let's see how that goes. Once again it seems Google is trying to fight the good fight, but I'm not hopeful this time. Which is also why, I think Google should really work towards innovating (once again) in their search. Probably something no-one has thought of yet. I had shown concerns over Google's foray into too many fields at one go (Google too big for Google?), and I think they see that too now.

After all, its not easy to put your hand in too many sugar jars and keep them there.

[Link]: Om Malik seems to be in doubt, and almost seems to agree with me here (Google wasting its genius cycles?)


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

best site



Add A Comment? Its Nice To Get A Feedback! :)




For quite a while now, I've been hooked to API's and how to get data out of existing machines from the internet giants. I was pointed towards Yahoo! (Developer Area) by Greg, and the moment I reached there, the sheer variety of services which can be called straight from their API was exciting. Although as happens when you're flooded with too many options at one go, I hit the biggest creative block I have in a while, which is why I've gone off coding for a while after my Native Blog Search.

Now that I want to get back at it, I tried going over to Google (Google Code) to have a look at what all they offer. I had seen their API's being flaunted over at Labs, but never really got around having a look. Now that I have, I am a little disappointed. None of their API documentations describe the use of Javascript to make calls to their API. My knowledge is a little low with API's at the moment, because I just started, but even if it is somewhere there, they should make it as clear as Yahoo! has. Yahoo!'s presentation, documentation and explanation was really amazing. It atleast compelled me to give it a try.

I'm afraid Google turned me away from their's. I encountered a lot of areas where Google should try and up themselves, if they want to become bigger with developers. Their lack of RSS or JSON's for their main web search also makes for a huge drawback. I can understand why they wouldn't do that, since it eats away at their adsense revenue, but still...

Final word from me, is that Google really needs to up their feeds, and API usability with javascript. If I'm wrong about the javascript part, someone point me in the right direction. They can make it big there, and I hate to see Yahoo! overtaking Google there because of a simple overlook (I think). Especially because frankly, Yahoo! is nothing compared to Google when it comes to search!

Filed Under:

Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

the map api is cool?

http://fototour.blogspot.com/



Add A Comment? Its Nice To Get A Feedback! :)




It was only about a month ago that I wrote about how automating tasks to reduce human intervention wasn't as good an idea at this point of time because of the lack of technological intelligence (Credibility Of Automation). That being said, it also makes no sense not to use the speed and tireless working habits of machines to automate easy and repititive tasks so that we don't have to manually execute them again and again!

There are some very basic and fundamental uses of these, which can be furthur extended to be used to complicated and more efficient, useful tasks. They take away the pain of hardcoding everything into your document. You can leave subtle, easy to enter hints for your script to look for, and once found, alter the line in some way or do something else. With Javascripts regexps as strong and useful as they are, there is no reason why people with enough coding knowledge shouldn't exploit them.

I employed something like this on my blog last night. A nagging but very visible problem that I have been having is differentiating between external and internal links in my posts. I always want my external links to open in a new window for the user, but I needed a way of telling them that the link would open a new window. Now, the fool's way would be to hard-code some kind of identifier inside the link tag to let the person know, but I decided a better way. Why not let a script run through my links, and alter them if they are marked as external links?

So I made up a simple but useful script! It checks the rel attribute of all links, and whenever it finds a match for external or ext, it'll append an image to it, and make its target="_blank". Simple, unobtrusive, and saves tons of hardcoding time. Although a problem arises if you want certain links not to be affected, yet keep them external. But for that, you can always use a third value for rel.

This is only one of the basic uses of scripts to do repititive tasks. Scripts are powerful things, and should be used whenever their need be sensed. Ofcourse, don't go overboard otherwise your page will have ten's of scripts running at page load and hence will slow down the loading times. That is not good! :) So find innovative ways of using this, you won't regret it!

[Info]: The auto external links script is something like Kirk's over at Phydeaux3. I'll admit the idea stemmed from there! :)


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)




The significant thing about Vista, however, is not the shipping date but the fact that it has been an unconscionable time in the making, subject to endless slippages (which have triggered major organisational changes within the company) and - when it eventually ships - will be just a shadow of the system envisaged when it was conceived.

Got blue?

read more | digg story

Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)




Ok! Google Blogsearch is back up, and hence is the search! Happy days! :)

The idea for this stemmed from a little experiment that I was trying to conduct about a month back. The experiment dissolved, but this was born out of all the knowledge that I gained from it. Trying to not to sound like a TV commercial, it is slightly painful when one searches and it opens up a seperate Google page full of your results. You need to make tons of click to return to where you were, and conduct the search in a new page. Plus, those Google search pages don't look that good either. So, I present to you, Blogger Native Blog Search. (Updates)

This hack aim's to solve the problem of displaying searches in one's own page rather than go to a Google search results page. You can see it in action on the right, right above my profile picture. Put in a word, and it will search this blog for it and display it right underneath. Wanna implement it? Good! Let's show you how! :)

[Note]: Through use, its been brought to my notice that this doesn't work for blogs hosted in folders (a.k.a www.domain.com/blog). This is not a fault of the script, but a bug with Google's search. Hence, to make this work, your blog should be either on Blogger itself, or on your own domain (main page, not in a folder). If it's in a folder, it'll behave as a normal site search (unintended extended use! :D)

Put this bit of code in your template's <head> area, within <script> ... </script> tags:

Notice, that I have used the container tag named text to show the results. You can change it to anything for your usability comfort. Now, put the following bit of code wherever you want to put the form to make the search. It goes in your body area:

This part is the container which will hold the results from the search performed, followed by close button to close the search results.

There you have it! Now you have native blog search. If you use this code as-is, make sure there aren't any other elements with the id as text. It'll interfere with this. If you change the id in one place of the code, you'll have to change it everywhere. If there is no search result, an alert popup will tell you that there aren't any.

There are many implications of this hack. The main one of them being that this'll keep the Google Ads at bay. Since you don't go to a Google results page, you don't see any ads. I don't know how good that is for Google, but well, there's a downside to everything! :P This hack is by no means complete, so people who want to add to this are more than welcome. Just leave a comment and tell me that you've updated it, so that I can link to you! :)

As usual, if you have any trouble implementing this, please comment and let me know. I'll try to help you out to the best of abilities. Enjoy!

[Update 02/07]: The link back to this page was a little off! Fixed!

[Update 30/05]: The format of the output from the Outline Converter is hitting crests and troughs, so I'm taking a page out of Greg's book and simplifying the code, in case I have to change it again in the future. I don't know if the function becomes faster because of this! :P

[Update 19/06]: Something wrong with XOXOtools. I'm trying to get it fixed as quick as I can. Sorry for the inconvenience people! False alarm. All's good!

[Update 27/05]: Users don't need to add the blog address now. It'll automatically pull it from the browser. Ease of use! :)

[Update 11/05]: Switched to Singpolyma's Outline converter to remove bandwidth restrictions and save John! Its a little bit faster now as well! :)


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

Nice work. Can I suggest checking out the Yahoo! Web Services for search as JSON - it's better than piping Google results through poor eJohn's proxy service! Plus, you can get back all sorts of data like maps etc.

Done! Although the problem is that Yahoo! doesn't index pages as fast as google does. This creates a problem that pages like this one which are relatively newer, won't show up in the search. That is where Google's blog search does wonders because its specially made for blog searches.

Sticking with Google for the moment, and I hope they come up with a JSON feed for their searches, quick! :)

Wow -- this is really nice. Much cleaner for blog-search than my Google AJAX. While your code given in the post is for Yahoo, the code you are using in your blog uses Google BlogSearch... this confused me somewhat at first. I have a few pointers for you concerning your use of my feed2json over at xoxotools :)

1) Use &xn_auth=no to disable the Ning auth service -- this speeds up results
2) You can allow multi-word queries. I did some checking, and it seems that characters passed to the &url argument must be double-escaped. You are already doing this for the whole URL except the search query (ie using the % value for + instead of + itself) -- what you need to do is escape spaces as %2520 instead of as %20 -- then it works :)

BTW, the search box in your sidebar -- while it works nicely, is invisible... I had to click around a bit to find it...

Thanks Stephen! I made the necessary changes, and yes now one can enter multiple words. Thanks for the tips!

I also fixed the box so I hope you can see it now (made a few CSS changes)!

Hi aditya, i love this concept. I tried the hack on my blog, though, and couldn't get it to work. The search box showed up in the sidebar, but i got no response when I clicked "search" - as if the script didn't activate. (Since there was no functionality I took the code out.) Any suggestions, based on that?

Glad you liked it. I'm sorry my instructions weren't enough! :P

Ok, a few things you have to remember. The first bit of code (the first big blue chunk) goes right under your <head> tag, and between<script> ... </script> tags. There is a variable blog which has to be completed with your blog name. For me, its the-lastword. See what it might be for you, and add that in. Don't remove the quote marks (").

Secondly, the remaining two chunks are fine as they are. Once you install it, try a search. If you get nothing, see your error console (javascript error console) and see if any errors popup for d_script() or json().

Thanks for the extra help, Aditya. It's up and running now!

Thank you. It's a very nice add-on for the sidebar

While trying this code out, I am receiving results from another blog in addition to mine. The two blogs have similar names mine is X and theirs is wild-X. Any idea on how to prevent this?
    Anonymous Anonymous, on Tue May 23, 03:38:00 PM  

This search uses the same search parameters as the normal Blogger Blog Search does. What you can do is use the search in the Blogger bar at the top to search your blog, e-mail to me the actualy search string that is generated, and I'll send to you the customised function which you can paste and use! :)

What if I'm not hosting my blog at blogspot, what would I put for the blog name

var blog="Blogname (the part after http:// and before .blogspot.com)";
    Anonymous Anonymous, on Wed May 24, 10:11:00 AM  

In that case then, you should replace this part --> "+blog+".blogspot.com in the variable url, with the url for your blog (except the http://). If it doesn't work, I'd be happy to customise the hack for you. Just email me your blog address!

Hi Adi,

Thanks for the ideas and code - I've put it to use to do Recursive Backlinks.

Cheers,

-Greg.

Also, hacked my hack of your hack to support "traditional" keyword searching ... check the comments in the Freshblog post.

So basically, you've got Recursive Backlinks to do a Native Blog Search? Trying to kill me off are ya!? :P

Seriously, I still didn't get the basic idea behind RB and adding the keyword search to it... Help me out here? (It might help those who wanna implement it too!)

Thought I'd be in your address book by now!

Anyway, the recursive backlinks thing is probably easier seen than explained. But, I'll have another go:

Suppose post A links to post B, which links to post C. (Eg The Last Word links to Freshblog, which links to Speccy).

A -> B -> C

If I visit post C, I can find out that post B links to it. These are called backlinks. Recursive backlinks mean that you can still find out about post B but also ask "okay, what links to post B?" and it will say "Well, post A links to post B." At which I point, I can ask "Right, and what links to A?" etc

The way you activate this is by clicking the "~>" symbol. The script runs off to check. Since there are often several posts linking to the same post, you get a tree of ancestors. This is represented with the nested lists. When you "run out" ie get to a post that has nothing linking to it, it shows a "]" symbol. Trees like this hold a special place in the heart of computer scientists, which you'll find out about in the coming years :-)

The magic happens in a function called backlinker(). This takes two parameters: the search query and the id to write the results into. Initially, the search query was assumed to be a URL. Now, it can take any query; if it starts with "http" it assumes it's a backlink request, so makes it "link: http...".

I wouldn't worry about killing you off ... the script doesn't work as nicely ie the results are in the title bit, not it's own div. I tried making a div that expands/collapses on mouseovers, but using the DOM to attach mouseover events is different in IE and FF so it's a pain. Also, recursive backlinking is provided, but isn't really necessary. Why would someone want to see posts that link to the results of their search? Eg Find all the posts that contain "bananas" - and then see which other posts link to posts that contain bananas? Maybe future releases will drop that "feature".

One thing you might want to consider for future versions of Native Blog Search, based on my experiences with hacking it: If you use "window.location.hostname" to limit the search (ie "blogurl:"+window.location.hostname) then people won't need to manually enter their myblog.blogspot.com details.

I also wondered why you didn't use a normal for loop, but a while loop. Then I noticed that the "link" array in the object returned by Singpolyma's ning script is NOT an array when there's just one element. Ie instead of an array of size one, it's just a value. Very annoying, but had to code around it, albeit differently than you did.

Anyway, check it out on my Speccy blog. Have a play with both, I'd be interested to hear what you think about it, maybe make suggestions for improvements or extensions.

Thanks for the humungous explanation! :P *Phew*, you've got a lot of time for a research student! XD
I'll keep looking at it and will try coming up with something, either a use or a mod! Good work!

I don't know where to put the third code


¿Could you help me?

I cant get this thing to work on my blog.... done the pasting and de script tag. it does not give me any error messages it just does not work. I have a search this blog which works but I cant get this to work.

any ideas?

I cannot see the code on your blog. I am going to need the error messages coming up in the console to figure out what you're doing wrong. Could you install the whole script and drop me a line at my e-mail address -- aditya(at)aditya-mukherjee(dot)com.

I'll drop by and have a look!

hello again.. installed your script to my template but whenever I try to search something I only get the "no entries!" popup. change the url back to Athe-lastword.blogspot.com just to see if it works and it works. could there be a problem with my addresss? 1ijack thanks

Hey 1ijack! I changed the address on my blog to point to you blog, and I got results from your blog, so my script is fine. Maybe its the way you're adding it? Something might be getting a little messed up.

Install the code again, and I'll have a look!

hey
the native search used to work for me: blackademic.blogspot.com

now it doesn' seem to work anymore. any ideas why?

Hi I put the code back in and it works as far as it gives the result no entries...so I must insert the right url... but where... anyway thanks for looking at out problem... update: IT WORKS
You are great....all hail thee

hi
ok, so i implemented the new code. however, when i do a search, it always says no entires found. but when i used the old code, it always found what i was looking for. did i do something wrong?
blackademic.blogspot.com

Well, it works for me! Maybe its a cache problem (though I doubt it).
It works perfectly me, so it might be something at your end!

I cannot get it to work. I don't know what I'm doing wrong. When you click search it does not bring up any links or errors.

westtexasrocks.blogspot.com

Hi! It seems as though you've got two versions of two functions. The old version of the d_script() function and the new version of the json(rss) function. Update your code with the new d_script() function, and you'll be on your way!

WOOHOO!!! Oh, that means it works,

I getting "undefined" for results when searching my blog anyone else experiencing this?

- Drew

Mine wasnt working at all recently so I updated with this code and now I get results but they are title "undefined" and link to a blogger error page. I'm not sure how relevant this is but no matter what words I search with, I get two results both saying "undefined"

@Mark: Remote debugging is a little hard! Could you gimme a link to your blog? Or tell me what does the link point to? I'll still need to see the code installed though!

Hey Aditya,

Just noticed something, the link back to your site in the 'powered by' section of the code is a little off. It's missing the http:// so if installed as is it doesn't work right. I noticed this on Bloggeratto and another site...want to see you get the proper props and all don't we?

:-D
    Anonymous phydeaux3, on Sat Jul 01, 01:56:00 PM  

Good eyes commander! Thanks! :D

freakkin awesome blog, dude. keep it up.

@Mark: I caught the problem. The thing is, you use the URL www.yourblogname.blogspot.com . Unfortunately, Blogsearch doesn't like this a lot when it does a blog specific search.

Trying to simplify it for people, I started catching the blog URL from what is present in the address bar. So it passes your blog name with the www, which messed up the search.

So there are two ways of working around this. You can use your IRL without the www, and it'll work perfectly. Or you can find the part which says "+encodeURIComponent(window.location.host)+" (including the quotes and plus signs) and replace it with your blog's address without the www.

That should work nicely! :)

the problem i have with it is that, when i type a search of just "a" it shows results .. when ever i try to search for something else .. it shows up undefined.. please help me as i really like this search thing. 10x

problem solved, thanks for the script!

Oopss... I didn't see the trick concerning comments, sorry.
This is a very good script, great work!
As I'm a newbie concerning html can you explain me how can we make a "close button"?
Tahnks in advance for any help on this.
    Anonymous Ana, on Wed Jul 19, 01:01:00 PM  

@Ana: I'd like to know what you need to close! If you just want to remove an element from your page by just clicking a button, you can put in a onclick="document.getElementById('id').style.display='none'" attribute somewhere within the tag, replacing id with the id of the element you're trying to hide.

If you're looking for something different, you'll have to be a little more specific! :)

I was referring to the close button that we need to close the search results (like the one you have here).
I'll try this way and many thanks for yr quick reply!
    Anonymous Ana, on Thu Jul 20, 05:10:00 AM  

Not a problem! And the close button is included in the code for the template that you have to add! :)

Oh, I tried it but it looks sooo messy... First: the script appears on the top of my testing blog; Second: it doens't search anything at all. What am I missing(doing wrong)?
Here's my blog test: http://3onoff.blogspot.com/
Thanks in advance for yr kind reply.
    Anonymous Ana, on Thu Jul 20, 05:53:00 AM  

Hehe! The code which I asked to put in your <head> area, has to be included within <script> ... </script> tags! I'll add that to the instructions so that the people from hereon will not have that problem! Sorry! :-P

I've already add the script code, and that's ok now. But still the search function doesn't work - it doesn't search... Must I make another new page so the search results go there? I don't think so but..
    Anonymous Ana, on Thu Jul 20, 06:42:00 AM  

Everything is working good now. I added script twice in the wrong place... So, Im very happy with this search script. Thanks a bunch!
    Anonymous Ana, on Thu Jul 20, 06:59:00 AM  

I'm sorry but the script doesn't seem to be working. All that I can get is: No results.
Must the search be made by all the elements of a particular title?
Btw, this search button is not working either on this page:
http://bloggeratto.blogspot.com/2006/05/native-blog-search.html
    Anonymous Ana, on Thu Jul 20, 09:40:00 AM  

I'm on it! Hold out for a while!

hi, i cant get the search to work under safari, osx 10.4.xx

I'm sorry, but I've never used Safari and hence don't know much about what works or doesn't work in it. However, you can try and ask Phydeaux3 to help you out there. He can apparently handle Safari glitches!

I'm sorry! :-( Hope he can help!

Hello! Your code is very cool. I installed it on my site, and it works. However, it only outputs 3 or 4 results per search. For example, when I search for the word "the," which should yield pretty much every post I have, I only get 3 or 4 results. How do I get the output to reflect all the results?

If you want to see the code, my url is http://invisibleoranges.com.

Many thanks!



Add A Comment? Its Nice To Get A Feedback! :)




This is one of the ways in which you can make an asynchronous call (drool) to a JSON feed. JSON is effectively much easier to use than normal XML or XHTML (for AJAX) because as the name says, its already defined in the form of a Javascript object. That's usually a function since most JSON is called via a callback function. I have been looking into JSON as a possible replacement for XML because it reduces lines of code to a bare minimum. And since I am new, something like that helps tons. I'll just briefly explain the working of the dynamic <script> tag as I understand it.

The code for the <script> tag is this:

function dyn_script(url){
     var script=document.createElement('script'); // pretty self explanatory
     script.src=url; // sets the scripts source to the specified url
     script.type="text/javascript";
   
    document.getElementsByTagName('head')[0].appendChild(script); // appends the tag to the head
}

The url will include the callback function as well. You can specify variables for parameterized calls to variable urls. Every JSON feed has a mechanism to specify a callback function, usually by appending a &callback= followed by the name of the function. Once this is done, all you need to do is define the function as callback_function_name(json). The json argument is very important, as all other objects are children of this main one. To make the call, just call the above dyn_script(url) with event handlers and it'll become asynchronous. This is the probably the easiest and most effective way to make a AJAJ call. This works because we already have the function definition in the code (not given above). The dynamic script tag makes a function with function({ ... data ...}); which contains all the data. This is technically calling the function (function calls are made by naming the function), which is parsed the data.

I have been using this method to make up a hack, which I plan to release the moment I can clear up the CSS. Until then, hope to see you exploit this well.


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)




I'll also take this opportunity and announce my partnership with Avatar (A.K.A: Craffter) in maintainance and scripting for his new endeavour, Bloggeratto - the new blog on the block related to everything that starts with or has the word Blogger in it! :)

Well, Avatar here.

At first I thought about adding into the post with that mention but it was quite crowded and I think it would have diverted and kind of diluted Aditya's post a little, so I dared to make a new post instead.

Yes, I do confirm the partnership with Aditya and I take that with lot of pride becuase without Aditya the blog would have taken even more time than it took to make, but now that Bloggeratto is online, that blog is going to be the place where you would be seeing a lot of Aditya work, my work and the work of anything related to the Bloggerosphere.

So, I just hope that Aditya continues to rock with me on this, becuase I must tell you all that together this makes a good band. I am the voice, but he is the lead guitar that makes my part resonate even better. There is no song without an idea, but there is also no music without the sound to take that idea into good song.

And those words are my fade out off the stage.


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)




Remember all the anti-trust lawsuits against Microsoft? Ofcourse you do! But, back then it was because Microsoft was including its own softwares trying to keep the rivals at bay using their monopoly on the desktop market. But this time, its wading into dangerous territory, and it will get whacked. It seems they have taken a leaf out of their old book (and Firefox's), and have included a search bar with IE7 which has MSN Search selected by default. Err... 0_0?

They say that anyone can change the default search engine very easily, but then again, when did that argument ever hold up in courts? Google has taken Microsoft to task for the same (although unofficially), which has clearly brought to light the boiling rivalry between the two companies. If you thought they were dropping subtle hints till now, check this story out! The problem is that Microsofts business model, used to be effective. They intimidated the younger companies because of their monopoly and ability to drive the market singlehandedly. They generated huge revenues not only because of their desktop software Windows, but all the other peripherals that came with it. Smaller companies never really got a chance, but now they do. It all started those lawsuits filed one after the other, and now Google is the latest (and the best rival) to join the fray (although still, unofficially). Though Firefox does the same thing for Google, and the entire search bar thing was started by Opera (default Google), they can still get away with it because they are not promoting their own product in a wrong way. They are promoting a third party which is perfectly legit since paid sponsorship is legit.

Google still has nothing to fear, at the moment. Their reputation alone drives people to their search technology, and since they have acquired other algorithms as well as companies, Google is no longer synonymous with just search. Well, atleast not in the geek crowd. We look at them for effective online applications. Free! That is something that Microsoft will find it hard to tackle. With news of a possible majority stock acquisition of Yahoo! by Microsoft, who knows what the big company from Redmond is upto!


Avatar Take

Yes, MS is at it again.

And in what form! They have declared an open war at Google in the online wars.

Yahoo! is not really in this war with Microsoft because they have clearly stated that they take MS on this, Yahoo! with its models see Google as the main threat to them.

Many really, really WANT to belive that Google is a serious competition for MS, but they are NOT. Once again MS is only reacting to what is thrown at them, but they can withstand the first rock to the face as if it were nothing, at they will always do.

The serious turning of gears we are going to experience once MS begins it's releases in a massive and global way, will have a inmediate effect on the world online and offline. Google knows this and is really launching as many apps they can produce.

But, to take into the main thread in this post, the lawsuits. I know from good sources that this will not present a problem to MS anymore, because even if Google is only a 15/1 of what MS is they are big enough to be cited into corporate laws loopholes, branding co-association citations, etc. The second term refers to an argument that will be surely be cited by MS when forced:

Google is no longer a small company, and given the fact that their partnership asociations represent the interest of our main competitors, we cite branding co-association and those multiple partnerships as the reason to demostrate that we have the right to do the very same to protect the interest of our corporation and our partnerships that compete directly with Google

*no, this not a MS quote.

About Google not having anything to fear, I really chuckle at it. Google is really working 24/7 to be prepared when the official live starts, when the new search algorithms, adverts and engine is realeased. But more than that they worry about IE7 and it's live integration that could be the very thing that can punch them in the face with enough power to make them shake.

About free apps, well MS is going to release 30 free web apps from the fall of 2006 and the fall of 2007. So there is also a response of that. And i do think that the killer app in MS is the new protocols and ways of using RSS at their advantage along with their new online distribution model philosophy.

About Yahoo! being bought by MS, highly doubtfull and almost impossible even with Yahoo!'s inmensse user base, it would be like buying themselves once again.

MS is going to go for whatever AOL can take off itself. The same with Google and Yahoo!. i predict that by the end of the decade, AOL would not exist as it is now, and will be owned in parts by the 3 giants of the online wars.

And finally commenting on the small companies being killed by MS. One must remember that more than 1000 companies in the whole world depend on MS to do biz. So the fall of the little start ups depends on what angle to take into it.


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(

"Google is no longer synonymous with just search. Well, atleast not in the geek crowd."
Hey c'mon ya! i'm not in the geek crowd and i still know this much ;)
Microsoft's policies require modifications (though still cant imagine how) if it has to compete in the present scenario. It'll be interesting to observe how far tech will advance as a result of this competition :p



Add A Comment? Its Nice To Get A Feedback! :)




I upgraded my two hacks to improve efficiency, and included a couple of usability tips. I'll list out what I did here, links at the bottom.

For the Author Comments Highlight hack, I edited the function so that it only checks the container elements for comments. It achieves that by checking for either the class or id attribute in the container tag for a specific value. Hence you can use a comment specific value, and the function will work only on those tags in which the criteria for the profile number match, and comment container check, both are satisfied! Easy? Good!

As for the Expandable Posts hack, it does something similar that it checks only posts to apply the changes. This means any [hide][/hide] in the comments or any other part of the page will not get altered. It achieves this, again, by looking for a post specific value for the class or id attribute in the container tag.

The remaining changes have been listed on the respective post pages. Hope these changes make these more effective and easier to do :)


I'll also take this opportunity and announce my partnership with Roberto (thecraffter/Avatar) in maintainance and scripting for his new endeavour, Bloggeratto - the new blog on the block related to everything that starts with or has the word Blogger in it! :)

Hack Links

Author Comments Highlight Make your comments stand out! After all, its your own blog! :)

Expandable Posts Create expandable posts, by including simple [hide][/hide] tags while creating the posts. No coding knowledge required, and completely unobtrusive.


Please note that comments made here will no longer be answered. If you would like answers, you can either mail me, or visit my new blog at The Last Word (beta)
Sorry for the inconvenience! :(



Add A Comment? Its Nice To Get A Feedback! :)





Categories

Latest Updated


Subscriptions


Advertisement


Song Of The Day:




Creative Commons License Widgetize!
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Aditya Mukherjee © 2005-06 | Powered by Blogger