Within this web page you will discover many guidance on how you will ought to create a great IELTS article. You can find subsequently design advice on the subsequent web pages regarding different types of article and various queries, along with many simple help with every. You should review design responses pertaining to IELTS works simply because you can find unique composition forms, as well as these types of will require different methods to solution these people. Nonetheless, seeing that you will see from your guidance on this site, they might most adhere to the same fundamental design.

These include a lot of the kinds of IELTS essay or dissertation many of us look at:

  • Consent or take issue
  • Focus on a couple of viewpoints
  • Strengths & drawbacks
  • Will cause (reasons) & remedies
  • Brings about (reasons) & side effects
  • Issues & options
  • Assess & form a contrast

Its not all article can in shape one of these designs, however numerous complete. You might get most of these responsibilities confused. One example is, you will be enquired to provide your view by using an problem, and go over advantages or perhaps drawbacks from it.

The particular older tip is always to CONSTANTLY browse the issue thoroughly to determine just what you’re becoming inquired to try and do. Check out this specific tutorial with regard to a lot more process in inspecting article queries.

How do you Write a IELTS Essay?

In order to response this particular, allows first examine a sample question:

You must devote regarding forty min’s with this task. Found the written controversy to a prepared readers without the need of specialist knowledge on the next theme.

In the last 20 years we have seen significant trends in the field of information technology (IT), as an example the net and also conversation by simply mail. Even so, most of these developments within it will probably have an overabundance of uncomfortable side effects compared to optimistic sometime soon. As to the degree would you agree with this particular see? Offer reasons for the response including any pertinent suggestions out of your unique experience as well as know-how.

You should create a minimum of two hundred and fifty terms. A IELTS composition can be structured such as another dissertation; you should just ensure it is shorter. You will discover a few important elements:

Launch System Paragraphs Conclusion

We will be with each of these in return, when using the article dilemma earlier mentioned to give an example.

1) Intro

It is best to keep intro to the IELTS article brief. Bear in mind you should only have 40 minutes to post the actual article, and many of the period ought to be spent organizing. As a result, you need to be able to write ones intro pretty quickly so that you can start writing your system grammatical construction.

You need to accomplish only a pair of items:

Condition the main topics the particular essay, with a couple standard truth (that anyone may be able to consider on the question) State what exactly you’ll talk about Here is a sample launch for the preceding essay or dissertation problem regarding it:

A final 2 decades have witnessed substantial improvements in terms people’s life are influenced by THAT, using several improvements in this subject. Even so, though these kind of engineering innovations have got added benefits towards the earth, it might be contended these trends inside will result in much more adverse impacts when compared with beneficial. As possible observe, the primary word makes certain the item describes this issue (IT) as well as utilizes details of THAT extracted from your issue. Realize that these include paraphrased — you must not duplicate on the rubric!

The other portion after that plainly packages available the particular exactly what your dissertation is going to be in relation to along with confirms the writers opinion (some queries might not obtain your view, but this does).

Check out this particular lessons intended for more advice on writing IELTS dissertation opening paragraphs.

2) Physique Sentences

With an IELTS article, you ought to have two or tree body sentences — forget about, without less.

On your system piece, each and every custom essays paragraph must include one curbing idea, and still have phrases to guide this specific.

Why don’t we think about the initial sentence for that essay about this. This essay or dissertation is about the particular positives and negatives of the usb ports, thus these kind of will have to end up being talked about throughout individual grammatical construction. This is actually the primary body paragraph:

To begin with, email has created verbal exchanges, in particular offshore, incredibly easier along with more rapidly, producing a lot of positive aspects intended for business along with company. Moreover, the net shows that information on every possible issue is now there for you. As an example, individuals can certainly gain access to media, health-related advice, online training lessons plus much more through the world wide web. It’s evident the changes include produced existence in an easier way and much more easy for many more individuals and will go on to accomplish this for decades in the future. The actual preventing notion with this initial part is the ‘benefits of IT’, and you will discover two promoting suggestions, that happen to be underlined. Simply no negatives are generally mentioned for the reason that sentence could next drop coherence.

The majority of the essay may focus on the unfavorable issues with THAT, because the article writer affirms you’ll find additional unwanted effects from the introduction. So the following a couple paragraphs tend to be concerning these.

Individual time period next paragraph for that reason conveys to you we have been adjusting this concentration towards adverse factors: Nevertheless, the effects with this completely new technological innovation haven?t just about all been advantageous. One example is, lots of people believe the particular widespread usage of e mail will be destroying standard kinds of transmission including mail composing, telephone as well as face-to-face discussion. This kind of could cause some sort of diminish in individual’s fundamental capacity to play games and also have interaction jointly over a day-to-day basis. The last body piece increases the very last negative consequence:

Additionally, this big dimension in the Net provides meant that it must be almost impossible to regulate and also management. This has generated numerous worries regarding children getting at faulty websites and also viruses. Sadly, such a difficulty could even become worse sometime soon at the least until eventually a lot more controlled techniques are generally setup.

3) Summary

The conclusion solely ought to be a few content, and you’ll complete the subsequent:

Re-state exactly what this essay is about (re-write a final time period of your benefits in a variety of words) Allow a few ideas regarding the future Here is a sample:

To conclude, innovations in it have delivered lots of advantages, yet I really believe advancements associated with completely new technology are likely to create a lot of unwanted side effects sometime soon that must definitely be attended to when were avoiding damaging influences to help men and women and culture.

All of the IELTS Essay or dissertation:

The past 20 years have noticed huge adjustments in terms peoples’ existence are influenced by THIS, along with numerous innovations in this particular subject. Nevertheless, even though these types of scientific advances have delivered lots of advantages on the earth, it may be suggested the particular advancements from it will result in more unfavorable effects when compared with optimistic. To start, e mail has made connection, specially abroad, much simpler and also swifter, contributing to several rewards with regard to business in addition to organization. Additionally, the world wide web implies that home elevators each and every possible issue is currently open to you. As an example, persons can easily gain access to news, health-related advice, online training training and even more by means of the internet. It truly is noticeable these improvements possess produced lifetime in an easier way plus more easy with regard to large numbers of persons and will keep on to do so for many years into the future. On the other hand, the issues with this brand new technologies have not most already been effective. By way of example, some people think that this widespread by using e-mail is actually messing up regular varieties of conversation for example page publishing, cellular phone along with face-to-face conversation. This particular you could end up any drop throughout individual’s fundamental chance to play games along with have interaction collectively over a day-to-day time frame. In addition, the big dimensions from the World-wide-web possesses designed it is nearly impossible to manage and also handle. It has generated several considerations with regards to kids accessing improper websites and trojans. Regrettably, this sort of issue might become worse sometime soon at least right up until more regulated devices are usually create. To summarize, advancements in it get introduced lots of advantages, but I think improvements pertaining to completely new technological innovation will likely create numerous unwanted side effects in the foreseeable future that must definitely be tackled when i am avoiding harmful effects to folks and culture.

Forms of Literature

Everyone has distinct makeup in household relationships. You may have adult close-to your grandmother or possibly you lived far away. Your grandparents sent one to college or could have served increase you. Or even you’ve witnessed them really infrequently in your life. Whatever the case maybe, finding the time to publish a correspondence to Grandma is in being fully a messenger of love a constructive step. Recommendations Select stationary or the very best report you will find. Look for a quiet place using desk or a desk to create your letter. Shut your eyes and create a connection with your grandmother. About what she means to you think. Take into account the things that are good. Remember the changing times that she was there for you. Recall her grin she and you hugged. Be positive. Throw out any negative feelings about any imperfections she could have, because everyone has problems. Remember her passions, pursuits. Begin your correspondence: “Dear Grandma.” Then merely open and discuss and publish. Be supportive. Think about things she may specifically not be uninterested in. Maybe she’s religious–speak about the past period you went along to chapel. Possibly she wants positive-thinking publications, or novels –discuss that. Her center might contact. Share passion you are feeling for your parent who she gave birth to or for her. Just create. Avoid being too concerned about writing that is ideal. If you really need to you can generally rewrite a neater notice. Keep publishing and make an effort to fill all of the space that is open up, thus like you actually wished to speak to her she will feel. Locate a bag, your grandmotheris address and a press. Write the target legibly inside the centre of the front of the cover. Fit while in the upper-left-hand part. Seal the cover. Your notification has been today efficiently written by you to nanny.

Have you ever regarded as having an on the web essay or dissertation publishing assistance?

In case you are some sort of straight Students, and not crash your current assessments, you’ll almost certainly including to keep up ones standing now that you’ve observed a new well-paid in your free time task. You can buy an dissertation or even another paper via each of our assistance. The tailor made publishing service can be so simple to operate – you simply location your current purchase and find a new finished paper in return for.

Very good news!

At this point on http://essaywritingaid.com/ it is possible to obtain a tailor made dissertation or data processing statement. Purchase your own dissertation or document at the moment!

Make sure you check out this taste dissertation part.

Place your current order

Regarding All of us The leading objective in our dissertation publishing assistance would be to satisfy the wants of all shoppers that come to you for guidance. To begin, sort “buy essays” in to your web browser. Our own web page shows up as one of the top-rated dissertation creating firms that offer the most trustworthy educational papers publishing support.

Our team of copy writers contains experts in numerous things, as well as just about all have levels majoring inside Linguistics, Record, Legislations, Criminology, along with things desired simply by consumers in our assistance.

Your current report creating demand is actually dealt with because valuable, and most of us usually complete your far better to meet up with all of the educational requires your shoppers immediately. Whenever you enter in “buy essay”, you realize there’s no need to bother about the lessons anymore; the status is usually secure and your GPA will be stored with a advanced. Our tailor made writing program will things you need.

What are Important things about Employing a Report Writing Assistance?

If you spot a great order using http://essaywritingaid.com/, it implies that you receive the right method of your current get plus the patient help group generally allows anyone, counseling an individual about how to purchase documents or perhaps analysis documents. It is usually vital any time you get documents coming from all of us, you’re guaranteed that there are zero plagiarism, considering that almost all your forms tend to be afflicted by the plagiarism prognosis program.

Should you order customized documents from the document publishing service, you don’t have to stress about the person who is actually designated to function in your essay or dissertation, or any other paper you’ll need. Many authors used with our paper composing program usually are qualified professionals that generally feel the strictest assortment course of action.

Precisely what otherwise really does our own custom writing support offer you, aside from “buy essay” ideas? Nearly all pupils are encouraged to obtain documents, mainly because expert writers have more knowledge as compared to beginners accomplish. The do the job is obviously relevant everywhere over the globe. In case you are unclear regarding your task as well as can not get the exact form of composition writing services the particular cardstock needs, you could location a no cost request with us. All of us instantly look at no matter if you will discover skillful writers ready to help you out. Such an questions with your document publishing corporation may take 15-20 min’s. You have some sort of telephone call by the owner, whom notifies people the way to turn.

“Purchase essay” together with therefore you get the possiblity to look for changes cost-free. That educational publishing guidance enables you to pick your current deadline pertaining to revisions, commencing with the most urgent and also concluding using long lasting finish. It is usually good to someone to team up with a services that offers a person a wide range of deadlines, as well as which in turn guarantees you have ones order promptly. The caliber of the “buy essay” report always meets ones the majority of challenging objectives.

The main assistance to be able to almost any student who would like to possess a sleep coming from regular do the job and also analyze is, “purchase works whilst your existence will get means easier”! In the event you request the problem: “Why could it be so typical nowadays of which students hunt for works with Sociology (or any other subject) on-line? ” Our instructional creating service provides the answer to this particular one particular — the idea tends to make these satisfied and rested, that happen to be basic wants of each human being. Feel unengaged to get your document as well as alleviate the daily stress.

The reason perform your customers buy documents often, along with feel self-confident in which their own document aren’t going to be identified everywhere online, on their buddy’s notebook, or perhaps within the school log? Graphs that each each of our “buy essay” reports are generally composed separately for a particular client. The essay or dissertation producing program will not carry any repository regarding prewritten documents; every single paper is usually looked at intended for plagiarism by means of specific software package, along with our freelance writers are generally a no-no to be able to distribute perform in order to any finally get-togethers, or they are set within evaluation. The particular internet writers have the effect of each of the “buy essay” asks for and also take care of these people properly.

What the results are when you “buy essays”? You only area the order with this school producing services, and the support staff keeps track of the idea. There exists in no way bedroom intended for uncertainty when persons buy works through you. If you believe one thing is just not apparent related to your obtain to be able to “buy a good essay”, speak to our own assist group immediately within the cellular phone, talk or maybe e-mail. These include by far the most convenient procedures; you will not are sorry for a bit of suggestions just like “order your papers writing”.

Our company is preparing to take on almost any paper-writing obtain containing particular requirements. It is usually any matter associated with high importance for you to people to satisfy each customer. The one who is just about to invest in essays from our own creating services is certainly caused by gonna return and also position a lot more orders coming from our own custom made creating program.http://etrubka.com.ua/

PAPERSMONSTER.COM Are the Top Grade Paper Writing Service for All Homework Obstacles

PapersMonster.com – the website offering essay helping services. Our website provide a all-round college writing help to school leavers all over the world. Our experts have received a broad expertness in ensuring of a variety of students helping. Our website deal not only with college writing, we offer marketing text on any possible material. Our target is to assure tuitition for school leavers and advance their college performance as well as instruct them in the act. That is why, ordering help at our firm, our returning customers take advantage from not only school help, but also a number of supplementary opportunities.


Our writers have degrees in science. Experts are able to write papers in lots of research areas which gives the right for our buyers to order writing on any problem needed. Also, collegers will be captivated with a muchness of written assignments our geniuses tackle. Phd thesis is no challenge for experts. Professionals in writing be on a friendly footing with the required essay guidelines, and the types of papers our purchasers are to carry out. Writer are to will manage to accomplish a college task to satisfy a high grade from a strict tutor. That’s why, try to delegate a task to pros.

The first-rate essay you can just wish to get

All essays, that our specialists offer is high-quality masterpiece for customers who don’t wish to blunder results. Our writers are the most honored in students aid field. Our writers do not profess that other companies are bad, we just underline that our enterprise is safe and well-known among other websites. More than ten years operation smothered the workflow as well as favored to learn about purchasers needments neatly.

Hense, we presuppose strong insurances for our collegers:

  • Urgent conveying
  • Refund Guaranteed!
  • Day-and-night team of supporters
  • Conversation with your expert
  • Real bonuses
  • Free revision
  • Detailed text structuring
  • Fraud tracking

In reference to Falsification question, the philosophy of the website does not adopt its occurrence. The writers are on a friendly footing with proper enumeration of bibliography taken for search. Thuswise, our returning customers have no reasons to trouble about this. All specialists who plagiarize are sconced. There is no good for writers to fake. Placing an order for your dissertation at our firm, you have the right to revel in completely what clients ordered as long as clients specifications are fully sticked to. So long as purchasers tasks doesn’t correspond to the listed instructions, collegers are enabled to get the money back.

Privacy and On-target delivery are assured by our writing service

Our company staff are persuaded that discretion is weighty for buyers. Picking dossier about you, we is not allowed reveal it to the third person. Our guys gather it for communication with buyer before starting paper accomplishment. Essay paper assured by our outfit procures total security inasmuch as, to the contrary, it makes no sense. So, be sure that your educator or peers cannot drag to light that you addressed for academic help. Submitting a written assignment, every our specialist refuses from his copt. Our regular buyers happen to be the only one possessioner of the academic paper. This writing is not allowed to be revealed to the interveners, as well as is prohibited to be available for use on the Net, even as a template.

In reference to prompt delivery, it is as well a charge for academic aid. Typically, learners don’t require work if it has been provided in a bad time. For this reason Master-of-papers.com securely endeavor to provide in-time delivering to our regular buyers to secure an accomplished submission. A perfect written assignment is almost success but all schoolers requirements are prescribed to be accomplished and the urgency is inter the dominant ones. Here is why, when you desire to be the most successful non-graduate and have spare hours for exercises, to mess around with friends, visit grandparents, visit foreign friends, go hitch-hiking, let us complete all that boring essays. Meantime, you have a chance take on your subject matter tasks.
Visit papersmonster.com for info

MASTER-OF-PAPERS.COM – the Handy Solution for Students Writing Headaches

Master-Of-Papers.com – the firm assuring assignments writing help. Our experts provide a superior writing assistance to students all over the world. Our writers have obtained a solid expertise in provision of diversified university writing services. Our writers secure not only academic help, we deal with term papers on a demanded matter. Our ambition is to assist applicants and boost their academic performance and give knowledge to them in the course of it. That is why, buying essay help on our enterprise, purchasers revel in not only university writing, but also numerous backup conveniences.

view publisher site

Writers dealing with your papers have MA diplomas. Writers made a speciality of lots of research areas which allows our dear customers to order any problem given. Futhermore, students will be impressed with the number of college papers our writers provide. Every kind of academic paper is no challenge for skilled writers. Professionals in writing be on familiar terms with the existing essay kinds, and all topics of tasks students are obliged to write. Writers are to are talented enough to handle a research paper to mesmerize a high grade from a strict teacher. To succeed, you are to intrust a academic writing to specialists.

The superior essay schoolers could only aspire to

All academic papers, that our website provide is superior masterpiece for collegers who don’t wish to spoil submission. Our professionals are the most highly qualified in academic assistance service. Writers working for us do not say that our rivals are cheap, we just stress that our company is responsible and favored as compared to competitors services. of writing assistance reformed the working system as well as assisted to reveal clients desires more precisely.

This a reason that, we secure strong sefaguards for the clients:

  • Well-timed order completion
  • Satisfaction Guarantee
  • Twenty four-sevenj team of supporters
  • Dialogue with your assistant
  • Real price reductions
  • Free content verification
  • Thorough content check
  • Plagiarism inacceptance

As regards Piracy headache, the business approach of our enterprise doesn’t accept the breach of law. All geniuses feel at home with adequate recital of scientific journals served for study. Thuswise, our customers mustn’t fuss about the problem. The specialists that resort to literary piracy are mulcted. There is no reason for our team to cheat. Purchasing your paper at our site, our customers have warranties to dispose exactly what our regular buyers ordered due to the fact that purchasers needs are thoroughly sticked to. Provided that our dear customers college essay doesn’t consist with the specified needs, buyers are entitled to get amount repaid.

Privacy and On-time handing over are ensured by our essay service

We are convinced that discretion is an important issue for returning customers. Gathering information about you, our employee is not allowed reveal it to the third person. Our employee obtain it for order approval prior to entering upon writing. Essay secured by the freelancers presupposes well-round privacy thanks to, otherwise, it is meaningless. Thus, be certain that the scholar or other students have no opportunity to learn that you applied for collegers assistance. Having uploaded a ready written assignment, your personal writer renounces her right of authorship. Our regular buyers prove the only proprietary of the content. The assignment cannot be uncovered to the third person, and will never affordable for use on the WWW, even being a reference.

In regard to in-time carrying, that is at times a charge for assignments writing aid. In common, school leavers don’t wish paper provided that it has been sent tardily. Thuswise Master-of-papers.com all the time assure urgent order completion to our dear customers to provide an accomplished submission. A perfect work is fewer than all all purchasers desires are required to be reckoned and the cutoff date is amongst the major ones. Hense, when you are aimed to to be the top pupil and have time for sports, to walk at the street, meet relatives, have hobbies, go to the theatre, let us complete that uninteresting academic papers. While, you can pay special attention to the field-specific tasks.
Visit master-of-papers.com for more details

split mysqldump files with ruby

This is a ruby script I’ve used successfully to split up a mysqldump file that contained multiple databases.


if (ARGV.count < 1)
  puts "give filename please."

if (ARGV.include? '--table')
    pattern = /^-- Table structure for table `(\w+)`$/
    pattern = /^-- Current Database: `(\w+)`$/

outfile = nil
File.new(ARGV[0], 'rb').each_line do |line|
  if line =~ pattern
    outfile.close if outfile
    outfile = File.new($1, 'w')
  if outfile

How to use OMW

So, this Android app that I wrote (see this post) is called On My Way.  It is easy for me to use (I wrote it) but as I was looking at it earlier today it occurred to me that it might not be as clear to everyone else.  Here are some things you should know if you want to use this app effectively.

  1. OMW will look back in time for two hours to find your next appointment.  For example, if you are supposed to be there at 9am then you can send the notification for this until 11am.  After 11am it will give up on that one and go look for the next event.  I chose two hours because that is a good time for ME, but if there are any requests I can change this time window or make it an option.
  2. If  you don’t want to send an email or text message, leave the corresponding field blank.  Otherwise you will be prompted to send by that method when you click the notification button.
  3. OMW does not detect failures of text messages or emails, so be sure your addresses and numbers are correct.
  4. You can change the message that is sent.  From the main screen (with the running guy) go into options and you will see the two templates, one for email and one for text.  Put whatever you want in there.  If you put %t in the message, it will be substituted for your arrival time.  That is the only substitution that is allowed currently.
  5. I have found the time estimates to be a few minutes off.  Of course, the phone cannot know about things like traffic and whether or not the driver will be speeding, so keep this in mind and adjust accordingly.
  6. Currently, OMW is most effective for drivers.  If you walk or bike to work, the time estimates will be little to no use to you.  Do not despair!  Edit your template in #4 and remove the %t.  The message will be more vague, but still informative to the recipient.  Maybe you could say something like “I’ve left and walking to work now, be there soon.”  Of course, if you’re walking to work you can probably afford the attention required to type out a message.

Well, that’s all I can think of now.  The way the app is programmed now it works perfectly for my usage scenario, so I don’t plan to make any changes.  If changes are requested and time permits, I will be happy to tweak the program.  You can leave comments on this blog, post issues at the redmine site, email me directly, post comments on the Market, etc. etc.


On My Way

So, I’ve published my first Android application today.  This is a program called ‘On My Way’.  The idea is that if you are running a few minutes late for work, the phone should know this and notify your boss for you.  It is a smart phone, right?  The idea is simple enough, and the Android phones on the market have all of the necessary powers.  In a perfect execution, the phone wouldn’t even need your input, beyond the initial configuration.

When I sat down to design the exact requirements though, I had to compromise the vision a little bit.  Android might be smart, but its not really smart enough to tell the difference between a person being a little late for work and a sick day.  Besides, there could be other causes of insanity.  Better to have intervention from a Real Person before any email or SMS is sent.

Main screen
Main screen of On My Way

I programmed this app in three big bursts.  The first iteration was an ugly and barely working framework.  It had most of the business logic sorted out, resolving geo points from the GPS receiver into addresses, translating two addresses into a travel time, etc. but the interface was a disaster and the amount of scheduling options you had were, well, restricted.  Pretty much if you didn’t start at the same time every day Monday – Friday then it would only work on some of the days.

The second big push was to design a robust event description system.  I didn’t get as far with this as I would like, for example you can’t define an event that happens on the 15th of every month.  But for people with regular schedules there shouldn’t be any problems.  Each event can have only one start time, but if you need two different start times you can make two different events.  As many as you want, even, but I have a feeling that more than two or three would be hard to manage.  More complex scheduling options is a feature that this app could really use, but since I don’t need that feature it is not scheduled to be implemented.  If there is demand for it I can add it in an update…. An update to a premium version… HAHA!

new event screenshot
Configuring an event

The final project segment involved bug fixes and program polish.  I added the Beautiful artwork you see above, put those buttons on the event edit activity that let you pull phone numbers and email addresses from your contact list, added layouts to support landscape mode, squashed a few bugs and uploaded the apk to the market.


not really.

I was sitting in a restaurant with my wife later that night (this night actually) and telling her all about my huge success, describing in detail the challenges I had mastering activity life cycles in Android.  Then, in my crowning crow, I let her watch as I downloaded the app from the market, opened it up, went to define the first event and crashed the app hard.  My FAVORITE words… Force Close.  How Embarrassing.  bleh.

So this is why On My Way is at version 1.1 on the first day of its release.  Weeee.

Anyway, if you are a user of this app and found this blog post looking for help with it, please shoot me an email at david@rubbersoft.com or you can file an issue at the project site for this program: http://rubbersoft.com/projects/show/omw.

Scan or click this link to install the app.

qr code
The link to the app

A fun screensaver

If your work place is anything like mine then you don’t dare to step away from your computer without locking it. The first time you do you are ruthlessly pranked by your cube neighbors. One popular prank is to flip the display upside down, or replace the desktop with a picture of the desktop, so the icons don’t work. Sometimes your “friendly” co-worker will hop on your email and send an email as you promising to take everyone to lunch.

This project is a trap for those who try these kind of pranks. A reverse prank the pranker type deal. What we do is we make a screensaver, password protected of course, that looks like you’ve left your desktop unlocked. Then when someone tries to mess with it, flash the screen a bunch of different colors and play an embarrassing alarm sound. haha!

Check out the code and submit issues at bitbucket: http://hg.rubbersoft.com/booby-trap-screensaver


Config page for boobytrap.scr
Choose the boobytrap screensaver

RubberStumble: or How to Bounce around the Web

RubberStumble is an extension I wrote for Google Chrome that was inspired by my burning need to Stumble.  I quickly fell in love with Chrome when I discovered it, but not having that stumble button was a deal breaker in the early versions of the browser (version 1 and 2).  I learned something about my habits in those days… Whenever I finished with the webpage I was on, I moved my mouse without thinking to click Stumble.  Then there was a brief moment of confusion when the Stumble button wasn’t there, and I would sigh.  Well, as you can imagine, a man can only put up with that for so long.  I didn’t plan on changing my habits, so I had to change my browser.  Back to FF.

This may seem quite strange if you’re not familiar with StumbleUpon.  Let me describe it briefly.  It started as an extension for FireFox, a toolbar that has a green button on it, the Stumble button.  When you click the button, it takes you to a random page on the internet.  The pages in the stumble database are submitted by users, and divided into categories.  You register your account at StumbleUpon.com, and choose your categories (like computer, math, and cats).

The genius of StumbleUpon is that it will take you to places you never would have thought to go before.  Sure, if you know what you’re looking for on the internet, then you can google for it and probably find it.  But there is a ton of funny and interesting content out there that you would never think to google for.  For example, here is a blog post I just stumbled, a list of 10 places you can never go.  An interesting read that taught me things I would never have googled for.  Here’s another: Bear and Fox comics.  I’ve never heard of ’em before.  This comic features a product called “Crybaby lemonade”.  Ok, maybe I’m not quite getting that joke, but whatever.  It took me 20 seconds to click stumble, read that comic, and then click stumble again.  YAY!.  So you can see why I could not participate in any non-stumbling browser.

A few months later I was inspired to revisit Chrome when I saw that they had implemented the beginnings of an Extension framework.  I was excited to see what was out there, and I was confident I could find an extension for stumbling.  So, I read the documentation for the Extension framework, and started poking at the Firefox StumbleUpon extension to see what secrets it held.  First I looked at the files of the extension that were installed on my computer.  On windows Xp the files can be found here:

C:\Documents and Settings\<USERNAME>\Application Data\Mozilla\Firefox\Profiles\<somestring>.default\extensions\{AE93811A-5C9A-4d34-8462-F7B864FC4696}

This folder has a compiled jar file and a couple of plain text .js files.  Reading through the file named StumbleupongService.js I discovered the URIs of some other scripts, most importantly: chrome://stumbleupon/content/datastore.js.  Put this URI into firefox (if you have the extension installed, of course) and you get to download a javascript file just under 3k lines.  Now, this file doesn’t reveal all of the secrets of StumbleUpon, but pretty much everything that has to be done browser side is done here (as far as i can tell).  From this file I learned how the password is encrypted to be sent over the wire to the stumbleupon servers.

Next, I used a tool called Fiddler Proxy to get a transcript of a StumbleUpon session, to recreate it with my own extension.  It basically goes like this:

  1. Browser POSTS a login request to StumbleUpon.
  2. SU replies with the results.
  3. Browser POSTS a request for recommended pages for the user.
  4. Browser sends back a list of 3 websites with various metadata on each.
  5. Browser navigates to the first page.
  6. Browser notifies SU that it went to that page.

After step 6, when the button is clicked again then the extension goes either to step 5 or step 3, depending on whether the last batch of recommended pages is exhausted or not.

I had the most difficult time recreating step 1.  See, the password that the user types in is not sent to SU, rather they send the SHA1 hash of that password.  But whenever I tried to build a http request that matched the one I was seeing, I couldn’t get my input to create the same hash.  Turned out that the hash was correct, but the results were encoded differently by mozilla and the library I was using.  My library (courtesy of webtoolkit.info) returned the results encoded as hex, and the mozilla library. returned them encoded in base64.  Once I changed sha1.js to return base64 strings, things started clicking.

I was quickly able to get SU to send me a list of recommendations.  For a while I tried to avoid step #6, but eventually I had to implement it because SU kept sending duplicate pages.  Working with the google chrome browser was pretty easy, the documentation was clear and because the extension framework was small it was easy to take in all of the features.

I originally built the UI to the extension as a browser tool strip, this was the way it was done in the very early stages of the chrome extension API  (before the gallery opened).  The tool strip solution was not very good, the way it worked was that there would be an additional toolbar just for extension controls at the bottom of the browser window.  It’s pretty inconvenient to click on something at the very bottom of the screen though, if you have to go there frequently.  But it worked and I was happy.  Eventually I had to update the interface to use Browser Actions instead of Toolstrip buttons, but this was easy and a much nicer solution.

The official SU extension for chrome was released a few months later, when the gallery opened.  I haven’t tried it yet, but I’m sure its nice.  It is guaranteed to have more features than RubberStumble, like the ability to vote pages up or down, or to write reviews on pages, or to change what category or keyword you are stumbling on.  RubberStumble will only do one thing… stumble.  If I can come up with a way to add more features without taking up more screen space, or without requiring more clicks to get to stumble, I may add some.

RubberStumble can be installed from the extension gallery.  The redmine project page for RubberStumble is public, anyone can post bugs or request features or post on the forum over there.  If you want the source code, you can check it out here by SVN.