Thursday, November 7, 2013

The best site on the web for newbies to learn Regular Expressions with simple, interactive examples

Source: (see the white arrow?)

I'm in the process of learning regular Expressions (regex). What is regex? Simply put, regex is
"a special text string for describing a search pattern. So that we can think of regular expressions as wildcards on steroids. we are probably familiar with wildcard notations such as *.txt to find all text files in a file manager. The regex equivalent is.*\.txt$." (Source)
Why do I need to learn regex? Simple. To create complex Moodle quiz questions! Here is one such Moodle question type - the Perl-Compatible Regular Expression (Preg). To use this advanced question type, you have to read and wade through's detailed help page on the Preg question type.

To write good quiz questions, I need more power, Scotty! Regex code is goobledegook to me unless I can clearly see the nuances and intricacies of the regex syntax. You also need to have a understanding of Regex basics otherwise you can end up looking pretty foolish on Stackoverflow. Case in point.

The best site for newbies to learn regex, in my humble opinion, is...drum-roll....

for these four reasons:

  1. You get to learn regex in bite-sized pieces;
  2. There are mini-quizzes to test your understanding;
  3. Each quiz question has a solution with a clear explanation
  4. I love it!
I hope this website helps you too.

Go forth and program your search strings with regex!
Frankie Kam

Other related regex links.
Regex tester
Regular Expressions Tutorial

Friday, October 25, 2013

Getting enough sleep is key to improving Moodle

Copyrighted by Bark.
Here's the thing. Advances in Moodle depends on code customisation to fulfil your user requirements, right? Well then, if Moodle code customisation depends on the brain power and creativity of a Moodle developer, shouldn't we should take sleep - or the lack of sleep - more seriously?

What does one require to modifying Moodle intelligently? A logical mind for detailed problem solving with an eye for details. A reasonable good memory to keep track of which core PHP files were modified, how, why and when. A brain that was cold booted with a duration of deep sleep before starting work.
In my recent past, I was like thinking that I could get by with 6 or at the very least 5 hours of sleep.

The reason for my lack of sleep was a combination of job-related stress, waking up early to send the kids to school, spending too much time coding after office hours, excessive programming and late night Net surfing. It was taking a toll on me.The result was that I was yawning more during the daytime and my memory seemed to be less effective. Does this sound familiar to you?

Monday, October 21, 2013

How to hide the Description Question Type boxes in the Quiz Navigation 'block'/section of Moodle 2.x.

School quiz. Source:

The Description Question Type is useful when you want to include text or graphics before a quiz section. The one problem I find is that the Quiz Navigation block will show up a  [i] box for every Description question type. Not very user-friendly for the student who is taking the quiz.

For three days I searched for a solution to the problem. Talk about tough!

After many hits and misses, I finally got it! I just had to add the following code

   if (!$this->attemptobj->is_real_question($slot)) {

to the file named attemptlib.php. The magic code goes immediately inside the foreach loop of the public function get_question_buttons() function, like so:

The effect of this code hack is immediately apparent. Here's what the Quiz Navigation block looks like now.

I find this a very elegant solution to a real design and usability problem. Do you agree? I hope this will be useful for your quizzes.

Frankie Kam

Font Awesome icons as PNG and JPG image files

Font Awesome is simply awesome! Many thanks to Favid Gandy for this font.

Font Awesome gives you scalable vector icons that can instantly be customized — size, color, drop shadow, and anything that can be done with the power of CSS.

Recently I managed to enable Font Awesome on my Moodle production site. The result is that I am now able to display Font Awesome CSS fonts on any Moodle resource or Moodle activity just by installing Julian Ridden's Font Awesome filter and by following his instructions here and here.

I've created two photomosaics of your images using the Font Awesome icons. This took me almost 30% of a whole day's work. I had to figure out how to automatically convert the Font Awesome icons into PNG files using Python (the toughest part!). Then I had to batch convert 378 PNG files into JPG format (only after a tough web search). Finally, I used AndreaMosaic to create the final mosaics using a combination of 2,000 repeating JPG images of the icons (the easiest part!).


A photomosaic of the original image found here.

Here's a self-potrait done for fun!

Best viewed from a distance of 3 feet away from the monitor.

If it helps anyone, I've also created a zip file that has the PNG and JPG images of all 378 Font Awesome icons. I doubt if you can find the icons in image format anywhere on the Internet. Of course, Font Awesome, as a graphical font by itself has an advantage over the image format. Anyway for what it's worth, here's the link:

Frankie Kam

Wednesday, October 2, 2013

Make your Moodle 2.x Quiz Navigation Section come to life with this useful mouseover hack


How would you like to transform your humble Quiz Navigation section into a mini Information System?

Now you can, thanks to Michael Weston and Tim Hunt, who bounced this brilliant idea around from conception to fruition. Michael asked if the Quiz Navigation question links could display the quiz question text on mouseover:

Java security warnings make it impossible to use Nanogong? Here's the solution.

Nanogong is one of the best things to happen to Moodle. The Nanogong plugin allows you to make voice recordings on your Moodle site. You can easily post recordings in Moodle forums or as a simple label activity.

But Nanogong didn't come without its own set of problems. Although Nanogong seemed to work fine on my Moodle 2.5 site, In the past I did get constant java security warnings  (Java 1.7.0_25 on my PC) - rendering it almost impossible for me to work with it.

The Beauty (Nanogong recorder for Moodle)
and the (Java) Beast

The irritating problem with java security warnings popping up everytime is a real deal-breaker when it comes to promoting the use of Nanogong. However, Nanogong is too good a plugin to not use on any Moodle site just because of some irritating and pesky pop up security warnings! So Nanogong is worth saving!
Here's the procedure to save the (your) day. Warning! Use at your own risk.

Tuesday, September 24, 2013

How I managed to allow input of only 1 (one) character in a Cloze input box (Moodle 2.5)


Hi. Do you use the Cloze (also known as the multianswer) question type in Moodle 2.5? I use it a lot! 

For quite some time, I was struggling with how to limit a text box, in a Cloze question, to not more than one character of input. Well, after much searching for an answer on and almost the entire World Wide Web, I managed to do it.
INTRODUCTIONI had a quiz situation to solve. I had to create a Cloze question where the user has to type in the individual letters to complete a word. In this type of question, a box should contain at most only one letter.

I had to solve FOUR challenges/problems. 
PROBLEM ONE, each cloze input box should be small enough to look like it could only fit one letter.
PROBLEM TWO, the user should only be allowed to key in one letter inside each box. Not more than one letter. 
PROBLEM THREE, the user should be able to type continuously, the letters a, s, s, p, o, r, t and the letters should automatically be input into each successive input box.
PROBLEM FOUR, allow only letters - no spaces or punctuation symbols.
I have a nagging feeling that both problems ONE and TWO could be solved with some creative HTML/CSS and Javascript wizardary, but my desire to solve them come what may, led me to devise this core (unfortunately) code hack. Here's how I solved problems ONE and TWO:

Tuesday, August 27, 2013

Help for the Moodle newbie or beginner to get started on's MOOC

Is this you?
Image by Kerr Photography
Attribution-NonCommercial-NoDerivs 2.0 Generic (CC BY-NC-ND 2.0)
So's Massive Open Online Course on "Teaching With Moodle" is now open for registrations. Come 1st September 2013, the course will start. It's designed for the absolute Moodle rookie. As a beginner to Moodle, how do you start? Where do you begin?

I want to do more than just point my colleagues to the MOOC link. I want them to be guided with baby steps on what to do after clicking on This tutorial is the outcome. Are your new to Moodle? Do you view Moodle as a "Mammoth" with a slight trepidation? Are you nervous or apprehensive at the mention of Moodle? And what's that MOOC thing? Smooch? Mocha? In an online course you do not have a guide or a coach physically by your side. Outwardly, do you tell your colleague, "oh yeah, I should try the MOOC and learn Moodle", but inwardly 'dread' what lies beyond the MOOC's homepage links?
Do you fear what to do next after clicking on the


If this is YOU, then I say "FEAR NOT!".

Monday, August 26, 2013

Facebook-like Wall For Moodle 1.9x and 2.x is now freely available as Open Source to the Community

Image by Troy Tolley. Creative Commons
Attribution-NoDerivs 2.0 Generic. See Source.
Facebook-like Wall code for Moodle. I'm releasing the code for free to the Moodle community as GNU General Public License (GPL). That's right, you can use it and modify it feely, but in your code, please credit the main authors, Srinivas Tamada and Frankie Kam.

What's the method to my 'madness' of giving a portion of my hard work away for free? I'm giving the code to the community is to see a better Wall emerge from the Crowd of Moodle developers or students or users. Please take the Wall code to new heights for the benefit of the Moodle worldwide community. Be brave, be gentle, be innovative, be creative. Cheers!

The Wall in action on my Moodle 2.5 site.
There's also a Moodle 1.9 version.
Both are free - NOW.

It's been fun developing the Srinivas' Tamada's original non-Moodlerised Wall script 3.0 to where it is now, but now it's time for the rest to take over with the coding of the Moodle Wall. Please make it jump though hoops. Perhaps you can make the Wall posts update in realtime using AJAX. I couldn't. Perhaps you can improve the GUI of the Wall. I haven't got the time. Please share it back to the Moodle Community.

Have fun!

Wednesday, August 21, 2013

Learn Geography with Alex Little's Online Users Map block for Moodle 2.x

Source:  PikiWiki - Israel free image collection project
This is one great block to show off to your users! Alex Little's Online Users Map block for Moodle 2.x.

Figure 1. Online Users Map using
OpenStreetMap set to on.

After installing in click on Site Adminisration | Notifications. Then go to Administration | Site Administration | Plugins | Blocks | Online Users Map. Here is a subset of settings:

Monday, August 19, 2013

I joined's "Teaching with Moodle: An introduction" MOOC

The Moodle MOOC homepage

I joined's MOOC today!

A Moodle Massive Open Online Course. Why? Well, why not! Read the overview and course content here.
The course is meant for newcomers to Moodle, but experienced Moodlers are welcome to participate!

The site has a very nice and soothing theme. The font colours are soft and easy on the eyes. I also posted an introduction about myslelf on the "Introduce Yourself" forum.

Me and many others in
the Introduce Yourself forum.

Looking forward to learning in the Moodle MOOC. Can't wait for 1st September 2013.

Where learning never stops.
Frankie Kam

Easily add a learning tool from Edu App's LTI catalog with Nadav Kavalerchik's LTI patch for Moodle 2.5

This has got to be a leading contender for the Moodle patch of the Year! It makes it so simple and easy for me to add an external learning object from's LTI catalog. Thanks to Joseph Thibault for this Moodlenews newsflash which featured this tracker by Nadav Kavalerchik.

Just how useful is this patch? Well, I found the earlier process of adding a learning object from the LTI catalog to be quite unweidly and troublesome. When I read Joseph's post, I saw the value of the patch and I told myself that I had to install the patch on my Moodle 2.5 system. At the end of this post, you will know how easy it is to add learning objects by using Nadav's patch. My assumption is that you already have the /mod/lti module installed on your Moodle 2.5 site.

Friday, August 16, 2013

Spice up your Moodle 2 frontpage by displaying category names as buttons with Alicia Wallace's Renderer

The course categories are nicely laid out as
buttons with text and images.
very nice!
Alicia Wallace of the United Kingdom has created something that changes the look and feel of the frontpage. Her creation is a renderer file with a custom CSS file for Moodle 2. It is based on the Sky High standard theme for Moodle 2.x. The image above shows the renderer in action on the frontpage of Hartpury College's Moodle site.

Wood theme revisited with Julian Ridden's Wood theme for Moodle 2.x

Oak Tree in Ontario August 2011

"A Bootstrap based theme for Moodle 2 recreating the classic 1.9 Wood theme with a modern twist" Source:

I was recently intrigued by this Twitter post. 

I think it was because the image of Julian Ridden's Moodle 2 Wood theme reminded me of my old wooden chessboard, no hang on, .... or was it my bookshelf(?)...

Wednesday, August 14, 2013

Find out which activities are popular on your Moodle site with the Recommender Block for Moodle 2.3 and above

I love any Moodle plugin that makes the Moodle site more social, more fun, more human-friendly. So, when I stumbled across the Recommender Block, I knew I had to try it out.

The Recommender block was created by Lancaster University Network Services Limited. it allows you to look at the most recent activity by other users of this website. You can view the most popular resources and activities that have been viewed and, if appropriate, participated in within the website.

If you click on the ‘Popular activities and resources’ link below you will see the top three results (you can click on these titles to take you directly to the resource or activity listed) and a ‘more’ link where you can access a page where all the results for this website will be listed. You will be able to filter the results by date range, item type, and by the number of views and participation. Source: Help option on the Recommender Block

In other words, you can now find out at a glance, which Moodle activities or resources are popular on your site. Here's what it looks like on my site.
Here's what the block looks like

Tuesday, August 13, 2013

Moodurian Readership survey - stand to win a FREE Moodle 'gift' just by answering 10 simple questions

Take the Moodurian

and get a FREE GIFT!

Free Moodle Wall code
worth USD49.00
given FREE
3 randomly selected survey takers.
Survey ends on 2/9/2013.
Terms and conditions apply.

Hi, I'd like to get to know you better, dear Reader / Random surfer.
Please spend two minutes to take the Moodurian Readership Survey today!

Create your free online surveys with SurveyMonkey , the world's leading questionnaire tool.

Friday, August 9, 2013

A professional-looking and Open Source Live Chat with Mibew Messenger for visitors to your Moodle site

Chat the old-school way with Get Smart.

Photo of Don Adams as Maxwell Smart.
Source: eBay item photo
Author: General Artists Corporation-GAC-management.

Have you ever visited a site like Wiziq where you were able to click on a link and instantly was attended to by a sales representative on a chat console? At the end of this blog post, you will be able to setup a similar Instant Messaging (IM) system on your Moodle site. No kidding! In fact, if you own a Drupal or Joomla site, you can easily integrate the IM into your site as well.

Sunday, August 4, 2013

My review of the Ergo theme for Moodle 2.5. It's the best theme I have purchased so far!

I think, ERGO I am!
Ronin's Thinker meets the iPad.

Actually, it's the first theme I've bought so far. Ergo is a Latin word meaning "therefore", "hence" or "consequently". So you could say, "I think, ergo (therefore) I am". It's also the best-selling Moodle 2.5 theme by the husband-and-wife team of Tom Riley and Xiaoying Riley who make up 3rd Wave Media.

Xiaoying is bilingual (speaks English and Mandarin) and Tom's trying hard to get the correct Mandarin intonation. I know how hard it is. I once asked in Cantonese, a storekeeper for a shirt that had lots of holes in it. He smiled widely and pointed to a shirt that had dragon motives in it.

Back to 3rd Wave Media. They specialise in Web Design, with skills spanning all areas of multimedia including audio and video production. Both Tom and Xiaoying have their respective websites where they showcase their work portfolio. You can browse through their galleries. Ah, it makes me wish that I had taken up graphic arts or specialised in Web development when I was in college.

Purpose of this Blog Post
Firstly I will show you what I like about the Ergo theme. I purchased my my own license of the theme and I am not connected in any way to 3rd Wave media. Secondly, I will share with you how I modified the Ergo theme to produce two variants.

Saturday, August 3, 2013

My first experience of FrogOS compared to Moodle - why can't we have Froodle?

Don't sue me.
I'm just dreamin' on.
You may say I'm a dreamer,
but I'm not the only one.

In today's post, I want to talk about my first experience of FrogOS. Previously I had only known about it from the local newspapers. And the only frogs I knew about were Frogger the Atari video game, HipHop from Cheaper By The Dozen, Kermit the Muppet, LeFrog from Flushed Away and Nanette from Gnomeo and Juliet.  I guess that you could say that I was a katak dibawah tempurung (Malay for frog beneath the coconut shell)! In Cantonese, we say mong cha cha (clueless). Now I know more about FrogOS and I want to take the opportunity to share what I know with you. But first, some background.

Sunday, July 28, 2013

Finally bitten by the Mahara e-portfolio Bug

That's the Mahara 1.7.1 website that I set up this week. I really dig (like) the Primary School theme. I've had an epipheny. I've finally understood the significance, importance and usefulness of Mahara in an educational setting. Prior to this week, my knowledge of Mahara was that it was a repository of student work that sounded like a North African desert. I did know that Moodle is where a teacher stores her lecture and tutorial resources, and that Mahara was where a student would store his or her work. However, I didn't really appreciate Mahara then.

Making the Moodle User Interface Look Good

Cartoon by: Hugh McCloud

This post is dedicated to great resources on the Net on how to make your Moodle site look good.
I start off with an excellent post by Smarter Made Designs. Below is a PDF iframe embed of their article entitled  "Make Moodle Look Good using HTML- Quick Guide PDF".

Saturday, July 27, 2013

Moodle? Frog? Others? A comparison of VLEs.

A very instructive read on choosing a VLE. Check out the table listing the pros and cons of each VLE researched by Andy Kemp. This is actually a 2009 post. You can read the html version here.

Here's nother good discussion on whether to use Moodle or another VLE. See window below.

PhpChess and Moodle

Mikhail Tal (November 9, 1936 – June 28, 1992)
Can Moodle be used to teach chess principles online? I believe it can. If you have or are thinking about setting up a Moodle page on chess, I recommend you take a look at PhpChess. This software allows you to create a Chess Management System, complete with an A.I. chess player for games. 
I recently took the challenge to install 
phpchess version 4.1 on my web server. 

How I enabled Single Sign On (SSO) to Mahara from Moodle with the LTI plugin

I've managed to enable Single Sign On (SSO) between my Moodle site and my Mahara site. That's pretty cool as now I have TWO major learning sites. A Moodle site for teachers to put their learning material, and a Mahara site for students to showcase their work through their portfolios.

Wednesday, July 17, 2013

Nelson Mandela - Happy 95th Birthday Madiba!

Photomosaic image created by Frankie Kam, July 2013
Software used: AndreaMosaic

Contact me at boonsengkam dot gmail dot com if you want me
to create a photomosaic for you.

Monday, July 15, 2013

Integrating Moodle and Wordpress. A Learning Tool Interoperability (LTI) Battle Royale to setup - but well worth it!

Many THANKS to Chris Kenniburg for his hard and generous work
in showing the Moodle community how to integrate Moodle with Wordpress!

Update: This post will only work with Wordpress 3.x. It won't work with Wordpress 4.2.2. For an updated (year 2015) blog post, please go here. Cheers, Frankie Kam.

LTI. Learning Tool Interoperability. 

Remember the term. It's massive. It's here. It's now. LTI is all about integratiing Moodle with external tools and web services. In this post, I'd like to announce that I FINALLY got the Moodle-Wordpress integration to work on my Moodle 2.5 site. Yippee!!!

Now you can blog in Wordpress style, 

without ever leaving your Moodle coursepage!

What this means is that Moodle users can blog in Wordpress inside a walled garden environment (Moodle 2.5). At the same time, the Wordpress url is accessible on the Internet. If you're an English teacher who wants your students to write more, you might be interested in this integration. Imagine having all the world-class benefits of Wordpress blogging, all inside a Moodle coursepage with a shared single-sign-on!

That's awesome and way, way cool. Like totally.

Sunday, July 14, 2013

3 Categories of Moodle Wow Factors for the English Teacher who is new to Moodle

°·._.• ʍ๏๏ďℓ€ ώ๏ώ ƒąȼţ๏я$ •._.·°

I've had a flash of inspiration vis-a-vis Moodle Wow factors. Assume you were to give a demonstation of Moodle to an English Language teacher with no or limited current experience of using Moodle. Think about it. Which features, blocks, activities, or technology of Moodle would you show?. To my mind, there are 3 categories of Moodle Wow Factors when it comes to English language learning.
Each category contains a set of Moodle tools and/or activities. I, personally, would spend more time demo'ing the first Wow Factor category as it is the easiest to grasp and, quite possibly but subjectively, the easiest to get excited about.

'Student' Wow Factor Category.
These activities are familiar to the English teacher. They are online exercises where students who take them are graded. These activities mirror or are an online version of exercises given in class. 

Figure 1. MILAs on Matt Bury's website

Saturday, July 6, 2013

Use Geoffrey Glass' Marginalia to annotate forum posts in Moodle 2.5+

Remember Geoffrey Glass' Marginalia? The cool forum annotation tool for Moodle 1.9 and Moodle 2.0? I initially thought that it only worked with Moodle 2.0. I managed to get it to work in Moodle 2.5+ with some sleuthing and tinkering around. I think that it's a great tool for English tutors and teachers as you can annotate text and words within a standard Moodle 2.5 forum! It's great for (manually) correcting spelling or grammar errors in students' forum posts. 

Most of the code is Copyright (c) 2005-2011 Geoffrey Glass and the United Nations. Marginalia is one of those unique plugins that once you realise what you can do with it, you'll wonder why you never used it previously for your Moodle site.

Tuesday, July 2, 2013

Save your fingers (and your job!) with this mouse emulator Autohotkey script

I found a great mouse emulator script for the popular Open Source program, Autohotkey. I use this script with Autohotkey to relieve the stress of mouse clicks on my right index finger. Now I can press F1 for a mouse click and F2 for a right click. If I hold the F1 key down, it simulates a left-mouse-click-and-hold. Right now, I find it indispensable.

It's not easy to find an Autohotkey script that does this. If you do, please let me know. I spent at least 2 hours looking for a simple script that could do this. All thanks to the forum member "deletemeafteraweek" for posting this, whoever he or she is.

Ratings and Recommendations by outbrain