Categories
Tips

Access Orkut via Facebook! Double Scoop!

If you are on Facebook and Orkut at the same time, this one Facebook application is for you! It is developed by Jeetu Mirchandani (former IIT Bombay Student, working for Amazon, India) so that you can read scraps via Orkut!

Through this application you can view Orkut users profiles, photos, scrapbook, videos & fans with this! So this can be used as limited proxy in places where Orkut is banned but Facebook is not. This is the situation with most Asian countries including India where Facebook is yet to catch up with popularity of Orkut!

#Installation on Facebook

  1. Login to your Facebook account.
  2. Click here to go to application page. You will be greeted with a page like below. Click on Add Application Link. Orkut Application for Facebook - Devils Workshop
  3. It will ask for confirmation like other Facebook application. Also it will ask for inviting your friends which is optional and can be skipped!
  4. Next Put your Orkut profile URL in field shown below…Orkut Profile Link - Devils Workshop
  5. Thats it. You will end up on a page which will look like your Orkut Profile pageMy Orkut Profile On Facebook - Devils Workshop

This application does not require your Orkut login ID & password, but I personally feel it should take it to give more feature!

As of now claimed to be working feature – Writing Scrap is not working. Surprisingly big blogger like Amit Agrawal did not bother to test it before writing about it!

I feel the feature is implemented using fake Orkut account to send scraps on your behalf. As this applications user base grew this feature is now getting blocked by Orkut CATCHPA.

Anyway its nice start by Jeetu and another option for you to access Orkut! 🙂

Related:

Categories
News

Orkut is trying to give you more donuts!

Orkut homepage faces - Devils Workshop

Few weeks back we had discussion – Why Orkut removed user pics from its homepage Logo?

We received nice response from our readers and today official word about this from Orkut! And reasoning is surpisingly simple…

User pics on orkut homepage used to take some time to load. While this is only something noticed by dial-up users only nevertheless each login request put more and more load on the orkut server. That means more “no donut for you” error.

I guess its clear to everyone now how much Orkut care for giving you donuts, so don’t shout on seeing “no donut for you” error message! 🙂

Related: View our discussion | official post by Orkut

Categories
Tips

Shortest Tutorial for Firefox Extension/Toolbar Development!

About This Tutorial: From long time I wanted to write this but was always running out of time as the topic is complicated and too long! I always like to come-up with simple ways of doing geekish things as this Devils Workshop have great variance in its audience. So writing a post for all is always cumbersome but still lets see how it goes.

Who Should Read This: This is for anyone who is new to firefox extension development. More accurately for the geeks who haven’t coded any extension for firefox yet! This is just to build foundation, to kick-start yourself!

About Example Covered: The example covered with this tutorial is a toolbar with just one feature: Google Search! And lets call it: GoogBar! (You can Download Source here)

Following Points are Covered: Firefox extension development can easily swamp many books (with scary volume numbers) we will try to cover following points…

ADVERTISEMENT
  • Section 0: Prerequisites, Tools & References
  • Section 1: Basic File Structure Layout
  • Section 2: Creating Metadata – Dealing with Important files
  • Section 3: Creating Graphical User Interface – GUI
  • Section 4: Implementing Backend functions
  • Section 5: Packaging Extension for distribution!
  • Section 6: Installing & Testing Your Extension!

Section 0: Prerequisites, Tools & References!

Prerequisites: Little knowledge of HTML/XHTML, XML, JavaScript, and CSS.

Tools: Any text-editor which supports HTML/Javascript/CSS syntax-highlighting will be great. I use vi/gedit (on Linux) and notepad (on Windows)

ADVERTISEMENT

References: I started with tutorial at BornGeeK and still find it useful. In fact its greatness will reflect throughout this post. Still you may find these useful

Section 1: Basic File Structure Layout

Lets go other way round – Outside-In!

Firefox extensions filename ends with xpi extension. For time being assume xpi = zip. In fact xpi is just zip archive! So what this archive contains?

ADVERTISEMENT

It will contain atleast: 2 files – install.rdf & chrome.manifest + 1 folder – usually named chrome!

Firefox extensions require a specific internal file structure. To ensure this few files/folders will always have fixed place while optional files/components have little freedom to move around. Lets move ahead with an example extension: GoogBar so as keep track of extension development! Lets start by creating a directory – GoogBar and other files/folder structure under it as shown below…

+- GoogBar/
    +- content/
    +- install.rdf
    +- chrome.manifest

install.rdf & chrome.manifest are just plain-text file so create two empty text files and rename them to install.rdf & chrome.manifest.

Important Note: Be careful while renaming files on windows as extension part often remains unchanged. Make sure to rename something like new.txt to install.rdf and not install.rdf.txt!

ADVERTISEMENT

Section 2: Creating Metadata – Dealing with Important files

Metadata means data about data! All the metadata is stored in install.rdf & chrome.manifest.

A. install.rdf file

This is XML file. It contains metadata identifying the addon, providing information about who created it, where more information can be found about it, which versions of what applications it is compatible with, how it should be updated, and so on. We have already created empty install.rdf file. Its time to fill it up!

+- GoogBar/
    +- content/
    +- install.rdf
    +- chrome.manifest
ADVERTISEMENT

Given below is sample installer manifest. Copy it to your install.rdf file and edit highlighted fields!

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<!-- Required Items -->
<em:id>extensionname@yourdomain.com</em:id>
<em:name>Extension's Name</em:name>
<em:version>1.0</em:version>

<em:targetApplication>
     <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>1.5</em:minVersion>
         <em:maxVersion>3.0.*</em:maxVersion>
     </Description>
</em:targetApplication>

<!-- Optional Items -->
<em:creator>Your Name</em:creator>
<em:description>A description of the extension</em:description>
<em:homepageURL>http://www.yoursite.com/</em:homepageURL>
</Description>
</RDF>

Explanation of Highlighted Fields:

extensionname@yourdomain.com: This must be unique as this is id of your extension. So make sure you chose an extension/domain name pair which is not in use by others! Ex. GoogBar@devilsworkshop.rsites.dev6.rt.gw (Note: You do not need to purchase a domain to make this unique! Use any domain like yourfullname.com or microsoft.com (I don’t think they have sportsman spirit to develop anything for firefox)

Extension’s Name: This is name of your extension seen by humans! So use something nice & descriptive!

version: The only point I can tell you about version numbers here is they always goes on increasing with updates. So do not bother about this too much at this point.

targetApplication – minVersion & maxVersion: These are minimum and maximum versions of firefox you are targeting!

Optional Items: I guess all have descriptive name. Also there are more than shown in this example. So keep this tutorial short I am skipping details about this optional items!

Important Note: Do not change value {ec8030f7-c20a-464f-9b0e-13a3a9e97384} in above sample! It is GUID of Firefox!

So GoogBar’s install.rdf will look like…

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<!-- Required Items -->
<em:id>googbar@devilsworkshop.rsites.dev6.rt.gw</em:id>
<em:name>GoogBar</em:name>
<em:version>1.0</em:version>

<em:targetApplication>
     <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>1.5</em:minVersion>
         <em:maxVersion>3.0.*</em:maxVersion>
     </Description>
</em:targetApplication>

<!-- Optional Items -->
<em:creator>Rahul Bansal</em:creator>
<em:description>A Firefox toolbar with Google Search facility!</em:description>
<em:homepageURL>http://www.devilsworkshop.rsites.dev6.rt.gw/</em:homepageURL>
</Description>
</RDF>

Additional Resources: http://developer.mozilla.org/en/docs/Install_Manifests

B. chrome.manifest file

A chrome manifest is how we tell Firefox what packages and overlays our extension provides. In simple words it tells firefox what our extension does! Now its time to fill up chrome.manifest

+- GoogBar/
    +- content/
    +- install.rdf
    +- chrome.manifest

Let us again take a look at a sample file. This sample is particularly taken for this tutorial as chrome.manifest may contains lots of other information too! Replace highlighted extensionname with your extension name!

content extensionname content/
overlay chrome://browser/content/browser.xul chrome://extensionname/content/overlay.xul

So final Googbar’s chrome.manifest file will look like

content googbar content/
overlay chrome://browser/content/browser.xul chrome://googbar/content/googbar.xul

Let me give you a little more explanation about above two lines…

Line 1 tells: content (Read Functions) by this extension are in content/ directory! All functions which we will be implementing soon as javascript files will be kept in content/ directory!

Line 2 tells: overlay (Read User Interface) information for this extension is in googbar.xul file in content subdirectory! We will be creating goobar.xul soon! In fact we can create XUL file with any other name!

Additional Resources: http://developer.mozilla.org/en/docs/Chrome_Manifest

Section 3: Creating Graphical User Interface – GUI

Most Firefox extensions have one goal in common: wanting to add or change some graphical element(s) in Firefox. Fortunately adding and modifying GUIs is quite easy. But this ease comes with a dedicated language developed for firefox GUI called XUL (pronounced “zool”). XUL stands for XML User-Interface Language, so if you know XML then I bet you can learn XUL in few minutes!

Enough chit-chat, now its time for creating googbar.xul under content subdirectory! So our tree will look like…

+- GoogBar/
    +- content/
       +- googbar.xul
    +- install.rdf
    +- chrome.manifest

First write (copy) following non-optional XML declaration as it is…

<?xml version="1.0"?>
<overlay id="Scrapper-Overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
</overlay>

Then comes script tag! Let me brief first scripts coming into picture. Note the sequence of event!

  1. In this XUL file we will be adding a toolbar with one text field and a button.
  2. We want some code to be executed when someone press the button.
  3. So pressing button should call the code. Now we can write code in
    • this XUL file itself: OK for small code but bad practice!
    • in separate JS file

At this point we made decision to create a separate JS file but this XUL file should be aware of it so that it can associate buttons with JS file code. For this we will be using script tag! Just paste following code before </overlay> tag.

<script type="application/x-javascript" src="chrome://googbar/content/googbar.js" />

Note googbar.js filename above. We will be creating it soon.

Now time come to create toolbar using following XUL code!

All toolbars in Firefox should live within a toolbox element which gets placed inside the overlay element we created moments ago:

<toolbox id="navigator-toolbox"></toolbox>

We will place toolbar and its component inside the toolbox we just specified. Toolbar is basically row of buttons, text-field & labels. Here comes our toolbar with one label (to show toolbars name), one textbox (to specify search query) & one button (to fire search request):

<toolbar id="GoogBarToolbar" toolbarname="GoogBar Toolbar" >
       <label value="GoogBar Toolbar: "/>
       <textbox id="GoogBarQuery" cols="1" size="50" />
       <toolbarbutton id="GoogBarButton"
         label="Search" oncommand="GoogBarSearch(event)" />
</toolbar>

Some attribute values are important as they might be used from elsewhere. In that regard attribute values to note are:

  • GoogBarSearch(event) value in toolbarbutton elements oncommand attribute
  • GoogBarQuery value in textbox elements id attribute

We will be shortly using these in our next file googbar.js as we are done with googbar.xul which finally looks like…

<?xml version="1.0"?>
<overlay id="Scrapper-Overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><script type="application/x-javascript" src="chrome://googbar/content/googbar.js" />
<toolbox id="navigator-toolbox">
   <toolbar id="GoogBarToolbar" toolbarname="GoogBar Toolbar" >
       <label value="GoogBar Toolbar: "/>
       <textbox id="GoogBarQuery" cols="1" size="50" />
       <toolbarbutton id="GoogBarButton"
         label="Search" oncommand="GoogBarSearch(event)" />
   </toolbar>
</toolbox>
</overlay>

Important Note: All id/name attribute must be unique as they will be going to global by default! That’s why everytime we need to name something we prefixed it with GoogBar!

Additional Resources:

Section 4: Implementing Backend Functions

Let’s now create our JavaScript file – googbar.js in the content directory! That will make our structure look like…

+- GoogBar/
    +- content/
       +- googbar.xul
       +- googbar.js
    +- install.rdf
    +- chrome.manifest

As we highlighted in previous section we will now implement GoogBarSearch(event) function which will make use of GoogBarQuery id. This function will perform following steps:

  1. Access user query written in textbox using textbox id GoogBarQuery.
  2. Use that value to shoot Google Search Query!

This can be accomplished with following codes. Also thats all googbar.js will have!

function GoogBarSearch(event){
    var query = document.getElementById("GoogBarQuery").value;
    window._content.document.location  = "http://www.google.com/search?q=" + encodeURI(query);
}

Section 5: Packaging Extension for distribution!

Yes we are done! So lets pack the things the way firefox like! Your aim is to create a archive which contains everything inside GoogBar excluding GoogBar itself! Then to make sure that archive has xpi extension!

Packaging on Linux:

  • From shell execute zip command with format:
zip <extensionname>.xpi chrome.manifest install.rdf content/* <optional files>
  • In our case command needs to be fired is:
zip googbar.xpi chrome.manifest install.rdf content/*

Packaging on Windows:

  • Use any zip utility to create a zip file which consists everything inside top-level extension directory! DO NOT include top-level directory itself! OR just select files and folder(s) using control+click and then right-click on selection, select Send To >> compressed (zipped) folder! You will get a zip file with name like googbar.zip or content.zip or something like that!
  • Just rename it to googbar.xpi (i.e. extensionname.xpi). Also ensure renaming operation as from Windows explorer you may end up renaming file to something like googbar.xpi.zip!

Thats it! Its time to test our work! 🙂

Section 6: Installing & Testing Your Extension!

Just drag-n-drop googbar.xpi on Firefox. OR Go to Firefox, execute File >> Open (or press ctrl+O) and navigate to location of googbar.xpi and open it up! This will open a pop-up, click Install Now to proceed and restart firefox to complete installation!

After restarting you will see GoogBar below Navigation Toolbar. Also check View >> Toolbars in firefox to confirm it further!

Successful Installtion - Firefox Extension Development Tutorial by Devils Workshop

Type something in text-box and press search! DO NOT just type & hit enter as we havent configured text-box to process any keyboard event so you won’t get any result until you press search button! Well that we can easily do by modifying googbar.xul and goobar.js!

Example Search - - Firefox Extension Development Tutorial by Devils Workshop

If you are feeling cheated by my words Shortest Tutorial then go anywhere on the web and try finding a shorter version of this! 😉

As ususal comments, suggestion, question, etc are all welcome! 🙂

Next part in series – Setting Up Firefox as IDE for Firefox Extension Development

Links: Download Source for Googbar

Categories
Reviews

3 Free Sites for Downloading Old Versions of your favorite Software!

Sometimes upgrading to a newer version can be a good thing. Other times, your computer may not be compatible with the new version, the new version is bloated, or all the options you liked are no longer available.

There could be many reasons where you like old version of a software and want to use it only! If you maintain your favorite softwares in their favorite versions thats fine but often you will find yourself browsing website of a software company for old versions of a particular software. Unfortunately not all software provider are interested in keeping old version available for downloads.

Here comes to rescue following 3 sites whose only purpose is to maintain old versions for free download. These three are almost identical in operation (in fact I had hard time to figure out differences to write about)

1. OldApps.com (Exclusively for Mac OS)

ADVERTISEMENT

2. OldVersion.com

  • Softwares are not sorted but seems to maintain largest collection. Also noticed few Linux softwares.

3. Old-Versions.net

ADVERTISEMENT
  • It maintains a drop-down menu in right sidebar through which you can really reach your favorite softwares version page with just one-click (and without typing too!)!

All 3 have a contribute section so that you can upload old versions of softwares you posses to their repository. Also OldApps and OldVersion have forums where you can discuss various issues related to software versions, etc!

Finally on personal note, few software I havent upgraded over a year includes…

  • Winamp v2.73 – I love mplayer for movies. So why to go for winamp with video capability! 😉
  • ACDSee v3.0 – Image browsing application. Reason: New Versions are bulky and memory consuming.

Please notify us if you find any other site which you think can be added to this list! 🙂

Categories
Tips

New Orkut Scripts – Scrap All Friends with Single Click! Send Images, Flash, Audio, Video & More!

Important Update: This script is having some problems. You may subscribe to our RSS feed or email alert to receive automatic updates regarding this and other hacks in future!


This is latest scrapall script for new Orkut! And like feature packed new Orkut this script has some great features…

  • First and most important you can send HTML in scraps! This means you can scrap any image, flash, audio, video, etc to all your friends with one-click!
  • It has NO time interval field. Means this script will adjust with your Internet connection speed automatically!
  • It loads surprisingly very fast!

Here is a screenshot (if you have never seen a magic like this)😉

New Orkut Scripts - Scrap All Friends with Single Click

Installation:

  1. Download Firefox! (Required)
  2. Install GreaseMonkey Addon! (Click here within firefox only)
  3. Click here to install script!
  4. Go to: orkut.com/sa and you will see a page like shown in screenshot above!

If you stuck somewhere feel free to ask for support! 🙂

Categories
Tips

Getting ready for WordPress 2.3! List of Compatible Plugins!

Update: Finally WordPress 2.3 is released !


Few hours down the line coming to blogsphere is WordPress 2.3! Yes its Monday, September 24 now (in India atleast) and bloggers here are waiting for this feature packed release! To kill some time in waiting let me tell you about features which excites me…

  • The one simply best and could be standalone reason to upgrade is automatic plugin update feature! In WordPress Teams own word, “Enjoy the last time you have to check for plugin updates manually, as 2.3 will do it magically behind the scenes.”
  • Also coming built-in tag support, which means you don’t have to go through the pain of using complex Ultimate Tag Warrior plugins! By the way I never dared to use that personally, as I felt it wasn’t worth the pain! (Read more about How To Add WordPress 2.3 Tags To Your Current Theme)
ADVERTISEMENT

Finally if you are worried about compatibility of your favorite wordpress plugins with 2.3 version you can check this list of plugins that have been tested for compatibility with Version 2.3. The page maintains three separate lists…

Also if you never upgraded wordpress before following is list of resources you may find useful…

Thats it for the day I guess as rest I will be spending playing with new WordPress! 🙂

Related Link: 10 Things You Need to Know About WordPress 2.3

Categories
Tips

Firefox Text Formatting Toolbar with HTML, BBCode, Wiki Code support!

This Firefox Text Formatting Toolbar works with any textbox (textarea tag) on any website! Support for HTML, BBCode & WikiCode means you can use this with almost every website.

So lets install this first!

Requirement: Works with Firefox Only! So Download Firefox if you don’t have it!

Installation: Click here to install! A pop-up will appear. Select Install Now! (Need Help?)

Using this Extension:

  1. Right Click on firefox’s top-menu or navigation bar. A menu will pop-up! (see screenshot) Text Formating Toolbar - Enabling - Devils Workshop
  2. Select Text Formatting Toolbar to enable this extension. A new toolbar can be seen as in following screenshot.Text Formating Toolbar - Devils Workshop
  3. Go to any website and click on textbox. The toolbar will automatically works with currently selected textbox.
  4. [IMP] Select which type of code you want from a small menu on toolbar as shown below. Default is BBCode, change it too HTML if you are on site like Orkut which supports HTML in scraps! (see screenshot) Text Formating Toolbar - Select HTML - Devils Workshop
  5. Just go on selecting the text in textbox and use toolbar buttons for various effects.
  6. Point and hold your mouse cursor on any button to see its descriptive name!

Thats It! 🙂

You may need help about which code to use! Here is small list, just for guidance…

BBcode

  • All forums phpBB, IPB, vBulletin supports BBCode. Some even allows HTML too! (e.g. Orkut Forum)

HTML

  • Commenting on wordpress, blogger and many other blogs/websites
  • “Contact Us” form, specially to highlight your main question

Wiki Code

  • Wikipedia. Yes share your knowledge!
  • Other open source documentation where some wiki is in use for

Links: Install Now | Extension Mozilla Page | Extension Homepage | Download Firefox

Categories
Video

Video – Six Sixes in a over by Yurvaj Singh against England (Twenty-20 World Cup Match)

Watch unedited video of Yuvraj Singh’s massacre against Stuart Broad (English Bowler) in Twenty-20 World-Cup India vs England Match!

Flintoff will regret for spurring Yurvaj! (Read cricinfo article)

You can download the above YouTube video too!

ADVERTISEMENT

For those with low bandwidth! Here is text version of this massacre via cricinfo

Yuvraj Singh’s savage assault on Stuart Broad made him the first batsman to hit six sixes in an over in Twenty20 internationals and the fourth in senior cricket. Garry Sobers and Ravi Shastri did it in first-class matches, Herschelle Gibbs in the World Cup and now Yuvraj. This is the excerpt from Cricinfo’s ball-by-ball commentary …

18.1 Broad to Yuvraj Singh, SIX, that’s out the ground, super shot over cow corner and it just kept going up.

18.2 Broad to Yuvraj Singh, SIX, now that really is sweet, no more than a dismissive flick off his legs, swatting a fly, and the ball arcs deep into the crowd beyond backward square leg. The dodgy TV measurement says that’s 111 yards but as it landed outside the ground how do they know? They guess that’s how.

ADVERTISEMENT

18.3 Broad to Yuvraj Singh, SIX, he’s hitting them everywhere, he steps to leg and smashes the ball over extra cover and it keeps on traveling. The fireworks start on top of the scoreboard and they’ve been going off in the middle for some time.

18.4 Broad to Yuvraj Singh, SIX, Shiver me timbers! Broad goes round the wicket, bowls a filthy wide full toss and Yuvraj steers it over backward point and it clears the rope again.

18.5 Broad to Yuvraj Singh, SIX, down on one knee and larruped over midwicket, that one was more nine iron, it went into the night sky and dropped with a thud in the jubilant crowd. England have a team meeting.

Broad looks quizzical and miserable. Can he, can Yuvraj do it. Broad looks like a man who knows he is about to be mauled again.

18.6 Broad to Yuvraj Singh, SIX, and he has, Yuvraj leans back and smacks that over wide mid-on. It was the maximum from the moment it left that bat and the crowd was roaring as it flew.

Categories
Tips

Standalone Working Orkut Scrapbook Flooder for New Orkut!

This is standalone scrapbook flooder for new Orkut by Aditya Sanghvi.

I have tested this and it works just great!

Click here to download this small (Size: 36KB) application (for windows only)

Requirement:

ADVERTISEMENT
  1. It requires Microsoft .NET framework, so download it if you do not have it! Its free… 😉 (size: ~22.4MB)

How to use:

  1. This flooder automatically opens Orkut Login screen. Use your Orkut login information to login.
  2. Navigate to the scrapbook you want to flood.
  3. Write whatever you want to flood in small text box in top-right corner. (see screenshot)
  4. Click on Flood button beside that box to start flooding.(see screenshot)
  5. When you had enough click on Stop button to stop the flooder. (see screenshot)

Adityas Orkut Scrapbook Flooder Tut - Devils WOrkshop

Word of Caution:

If you flood something like 300 scraps in one shot, your account may get blocked for 8-10 hours and you may see a “page not found” Orkut error page. Use carefully as if you get daily ban say for a week your account may get deleted too!

Have questions? Feel free to ask! 🙂

Links: Download | Aditya’s Original Post | Contact Aditya


Updates:
I forgot to mention requirement for this flooder. Thanks Asad Ali for bringing it to my notice! 🙂

Related Posts:

Categories
News

Orkut doubled Album Space! Allows uploading 25 photos!

Yes! From 12 to 25, Orkut silently doubled album storage! So all orkuteers can upload more photos now! Can’t believe it??? Check out the proof below…

orkut album - 25 photos - Devils Workshop

I am still wondering when Picasa will integrate with Orkut! So that we can have more storage!

Meantime keep uploading you memories! But don’t forget the limit of 25!

orkut album - 25 photos upload limit - Devils Workshop

By the way how much photos you like to upload on orkut given unlimited storage?

Other New Features on Orkut!

Link Update: Orkut Blogs official post!