Miscellaneous

ReCAPTCHA Stops Spam and Preserves World’s Literature

You’ve seen all the CAPTCHA images around – you know, those images that have numbers or letters in them that you have to type in correctly before you’re allowed to make a post or submit a form. Well, reCAPTCHA is a free project (reCAPTCHA website) by the Carnegie Mellon School of Computer Science at Carnegie Mellon University, and it aims to stop spam and preserve literature at the same time.

What it does is to get regular web users like you and I to help in the process of digitizing the text of books. ReCAPTCHA takes scanned words that optical character recognition software have been unable to read, and presents them for humans to decipher as CAPTCHA words.

Sample recaptcha example screenshot

ReCAPTCHA operates based on a critical assumption though. Since the word is a one which a OCR software has been unable to read, you’ll be presented with another word which has already been identified. If you correctly recognise the identified word, ReCAPTCHA assumes that you are also correct about the new word.

What I’m unsure about is — how about users who correctly recognise the identified word, but reads the other word wrongly?

​Read More
Miscellaneous

Small Plastic Travel Bottles Used For Gym, Travel, Shampoo, Etc

I’m leaving for a trip to taiwan this Monday! To Taipei in particular, and I’ll be away for 7 days 😀

I’m in the midst of packing now, and I realised how useful these bottles are. I got these plastic bottles a few weeks back, but only got to using them now. I’ve transferred my shampoo and body foam into them, and it’s really very handy because they’re so small and light. Compared to the original shampoo bottles which are big and bulky, these small plastic bottles are a godsend!

Small plastic bottle

I like it that they’re using a screw-top lid too, because the shops that I visited only had flip-top lids, and I didn’t really feel safe with having flip-top lids in my bag, just in case they might leak. It’s also squeezable — another plus point!

Oh, I didn’t get these bottles from a shop, I bought them online at this website selling small plastic bottles. They have a few sizes available and containers too, but I only got a couple of the 3 oz bottles to test out, and they’re great! I’ll probably buy more to keep around after I get back from my trip.

​Read More
Miscellaneous

Use Javascript to Display Random Image and Link

I was editing a PHP script today when I realised that one of the files did not allow PHP code. Weird. But the annoying thing was that I NEEDED it to run PHP code — or rather, I needed it to randomly display an image with a link.

So I had to find other means, which turned out to be good ol’ Javascript. The code below will allow you to use Javascript to randomly output or show an image with a link.

Download the Javascript here (Right click and save target as)

​Read More
Miscellaneous

Recursively Download Folders using FTP with wget in UNIX (even SSH)

Okay, so you don’t have SSH access to your server, but you do have FTP access to it, and you need *all* the files in a folder.

Worse, your directory structure is many levels deep, and extremely messy. Normal FTP won’t cut it, because command-line FTP doesn’t do recursive downloading of folders. Turning off interactive mode and using mget doesn’t work too.

The easiest solution? Use wget to recursively download folders using FTP. Here’s the wget command:

wget -r ftp://username:[email protected]/directory1/directory2/

You can replace yourftphostname.com with an IP too. So with wget, and the -r flag (for Recursive) that’s all that you need to recursively download folders using FTP. Took me a while to figure that out, but what a relief when I finally discovered how to 😀

wget -r -c ftp://username:[email protected]/directory1/directory2/

And if you happen to get disconnected, don’t fret, because wget has the -c flag too, which probably stands for Continue. This useful wget flag actually provides a resume function, which is very handy when you are transferring large files!

(Of course you really shouldn’t be running plain old insecure ftp when sftp is available…)

​Read More
Miscellaneous

Checking your website speed

It’s interesting to know that even though the Internet is all one big connected web of sites, not everyone sees the same thing. For example, based on your location, Google directs you to a Google datacenter nearest to where you are, and the results that you get may be different from someone else living elsewhere in the world.

In addition, one other factor that location has is speed. So if a website is hosted in a datacenter in Singapore and a visitor from the US visits it, that visitor’s going to experience a slightly slower speed than someone in Singapore.

So I dug up a few free online tools that allow you to check your website speed. Some show you what speeds your website have from North America and South America, while some have a more international network.

http://www.hostpulse.com/hosting/networktools/internet-speed-test.asp

http://www.websiteoptimization.com/services/analyze/

​Read More
Miscellaneous

HTML Button That’s A Link

Making your own link button with your own custom text is easy. You might want this because it looks different from a normal HTML link (you know, the blue underlined text).

Here’s how the linkable HTML button looks like:

Sometimes you might want a linkable HTML button because it fits into your overall design look and feel as well. So here’s the code – it requires Javascript, but it’s really simple. Just copy and paste the following line of code and you’re done!

Just replace “yourpage.html” with the URL of the page you want to click and go to, and replace “Link Button” with whatever words you want your button to show.

​Read More
Miscellaneous

Free Flashcard Learning

Ack! I found this great learning application 😀 It’s called jMemorise. And best of all, it’s open-source software!

jMemorise is a Java application that manages your flashcards by the famous Leitner system and makes memorizing facts not only more efficient but also more fun. It manages your whole learning progress and features categories, statistics and a visually appealing and intuitive interface.

A flashcard or flash card is a piece of paper that is used in schools as a learning aid (mainly in English-speaking countries). Flashcards can bear vocabulary, historical dates, formulas, etc. The purpose of using flashcards is memorization. You write a question on each card (and an answer overleaf), test yourself on them, and sort them into groups as you learn, according to your performance.

This strategy makes selective learning possible, that is: the more difficult the flashcards in a group, the more often you review that group. The result is, you save a lot of study time.

This method was proposed by the German psychologist Sebastian Leitner in the 1970s. Pimsleur language courses are based on a similar idea.

The basic idea is to divide the cards into different decks depending on the difficulty they present to you. This is done by repetitive quizzes in which you try to answer the question out of your mind. Every time you know the correct answer to a card, it is put on the next higher card deck. If you fail at a card, it is put back to the starting deck.
[The visual representation of decks in jMemorize]

This system is combined with time schedules. Cards that have been known, are considered to be learned until a specific expiration date has passed. The higher the deck, the more further away the expiration date is set. For example might a card that has been successfully checked for the first time be scheduled to be relearned one day later again, while a card that has been correctly answered three times in a row be considered as learned for about week. As long as a card is considered learned, it won’t appear in learn sessions.

As a whole, this system manages your personal learn sessions and allows you to focus on learning, while it automatically decides which facts should be learned right now to make the most out of your time.

Interested? Check out jMemorise now – it’s free!

​Read More