Thursday, November 8, 2012

2012 Nov 8 | iMoot Participation Report | MAJ Newsletter

I wrote a report for the Moodle Association of Japan based on my attendance to the iMoot this past May. Here is a copy of the newsletter which contains my report.

2012-11Nov-08 Moodle Association of Japan Newsletter

Wednesday, November 7, 2012

2012 Nov 7 | Virtual Language Program | Grant Proposal Submitted

Today marks the day when I completed and submitted my first ever grant proposal for curriculum development here at the university.  The proposal contains the plans for developing and implementing a Virtual Language Program.  The idea is to create content in English developed by native speakers that is based on materials related to each student's major field of study and to prepare a 15-week digital course for students to enroll in and complete for course credit.  The materials will help connect English to what each student is using in their other courses related to their major.

I'll post the details of the grant proposal at a later time if I'm permitted to do so.  The experience of working through the process of grant writing was worth the effort even if the project I suggested doesn't receive funding.  I hope this leads to more opportunity for drawing on the government funding pool here in Japan in order to better the language education system and to give students more diverse methods of acquiring a second language.

As an update, this proposal was declined for various reasons. I'd hoped to have the reasons translated to English but was unable to accomplish that for other reasons.

Saturday, October 20, 2012

2012 Oct 20 | 30th NICHS 英語スピーチコンテスト | Speech Contest Judge

As in the previous year,  I once again attended the Nagasaki Inter-Commercial High School English Speech Contest at Sasebo Commercial High School and participated as one of the Guest Judges.  This was the 30th contest.  I was able to enjoy listening to a series of English recitations and speeches and gave evaluations eventually helping to determine the winners.

Tuesday, October 16, 2012

2012 Oct 12~15 | JALT National Conference | Presenting English Firsthand and Moodle

This past weekend I was invited by Pearson/Longman and Marc Helgesen/John Wiltshire of the English Firsthand textbook series to attend the JALT National Conference and present on Moodling the English Firsthand Textbook.  I was part of a 4-person presentation team where Marc and John covered the use of EFH Active Teach and I showed what things I had done with English Firsthand Success and Moodle.  A fourth presenter, Simon Wilkins, also presented his work with EFH.

Thursday, October 4, 2012

Bad sector HDD data rescue effort

Goal: Recover a friends' data from an HDD (Bad sector HDD data rescue effort) which won't boot or mount due to a high number of reported "bad sectors."

Symptoms: Received a computer from a friend which had an error when trying to boot up into Windows XP Home edition.  The specific error was that Windows could not access a particular cabinet file  (I've since forgotten the error, but once I find it I will report it here).

Reason: The disk contained a library of family photos which (unfortunately) had not been backed up previously and the friend was desperate to recover the information.

Result: Successful data recovery AND in addition, the OS was successfully repaired and moved to a new HDD.  Our friends' PC is back up, running, and healthy!


  • Broken HDD:  Seagate Barracuda 7200 RPM 160 GB drive - reporting over 288 bad sectors

  • Transitional HDD: 2004 WD160GB Caviar - old but still alive and kicking for repair work.

  • New HDD with an equal or greater size as the original. (Hitachi 250GB CinemaStar)

  • 2 x External IDE to USB adapters for attaching the disk with the errors to a separate machine.

  • ASUS EEE Netbook computer running Ubuntu 10.04 Netbook Edition.

  • NEC Desktop PC dual-boot Windows XP/Ubuntu 10.04.1 Desktop (WUBI)


  • Puppy Linux Bootable CD

  • Ubuntu 10.04 (Netbook and Desktop editions)

  • dd_rescue program (freely available in Linux)

  • Windows XP chkdsk program (part of XP install)

  • Western Digital Acronis True Image Software (Disk Utility)


Note: All attempts to mount the volume and copy the data were unsuccessful, so I'm not going to list all the details here. I tried booting Puppy Linux and mounting - no go. Tried connecting the disk externally to a Windows machine - would hang when mounting. There were a few other efforts, but the end result was the data was not accessible using those methods.

STEP 1: Disable Automount in Ubuntu

  • Open a terminal and from the command line, type:

$ gksudo gconf-editor

  • Then navigate to "apps->nautilus->preferences" and in that window un-check the "media_automount" option.

Note: Be sure to restore that option when you finish the data recovery since it is a bit of a nuisance to have to manually mount all your removable media!

STEP 2: Install the dd_rescue program

  • Using the Netbook, I installed dd_rescue command in Ubuntu by doing the following:

$ sudo apt-get install ddrescue

STEP 3: Plug in the two drives.

  • Using the Netbook, I plugged in the two hard disks. I used two IDE to USB adapters that I bought at the local computer parts store. They were around $10 each.

Note: It doesn't matter which order you plug them in (defective first, transitional second) as long as you know which device is the damaged one and which device is the good one. We'll be copying from damaged to good.

STEP 4: Determine the device names.

  • I used GPARTED to check the devices. Since they aren't mounted, GPARTED only looks to see what the device names are and their basic information. In my case, it didn't cause any problems with the broken drive the way actually mounting it did.

  • For the sake of the documentation:

bad disk: /dev/sdb
good disk: /dev/sdc

STEP 5: Run dd_rescue

  • Now for the moment of truth. Can the drive be parsed completely and how much data have we lost?

  • Type the command (carefully) in a terminal:

$ dd_rescue /dev/sdb /dev/sdc

Note: Make sure the bad disk (in our case, /dev/sdb) is the first entry and the good disk (/dev/sdc) is the second entry.

More notes: Wait a long time. The program will show the progress in the terminal window. When it hits errors, it will try a bit to read and then skip ahead a bit. Be patient! In my case, it took almost 16 hours to complete.

One other note: You might want to set up the disks in a cooler location before you begin. I blew a fan at them near the air conditioner because they heated up quite a bit (especially the broken one).

  • Disconnect the drives when you finish.

  • Check the number of bytes that were unable to be read by the dd_rescue program.

  • In this example, I was only unable to read 1.5mb worth of 160GB drive - not very much missing there and luckily nothing too important.

STEP 6: Run chkdsk

  • Take the interim "good drive" and connect it to a machine running Windows XP.
    Run the following command on the drive:

chkdsk /f /r [drive letter:]

  • This should report and repair the file system.

  • From this point I could see and copy all of my friends' important data.

  • I moved it to a secondary backup drive with which they provided me.



I could have stopped my efforts at STEP 6 because the mission was essentially accomplished and the data had been recovered. But then my friends would have had no working computer.  Since it was a hand-me-down computer, they also had no accompanying reinstall disks. So the next part tells how I got them back up and running.

FINAL STEPS: Move the data to a nice new (and slightly bigger) disk

  • I tried the interim drive in the computer, and I was able to boot up nicely.

  • However, a scan of the drive using Puppy Linux boot CD and GPARTED showed that the bad sectors were still being reported.

  • In this case the bad sectors were still mapped out by the drive even though the data was now intact.

  • As far as I understand it (which isn't very far) this can only be fixed by either using manufacturer software or by reformatting completely.

  • Downloaded Acronis True Image which is the (free) software for Western Digital drives.

  • Using the tool, I copied the drive image from the interim drive to the new 250GB drive.

  • Acronis lets you resize the partitions you are copying.

  • The new drive (when installed) reported back no bad sectors.

A happy ending!  The look on my friends' face was worth seeing when they received their broken computer back fully functional with all the data recovered!

Sunday, September 30, 2012

Dual-Booting XAMPP in Windows XP and Ubuntu 10.04.1

Goal: Make a web server that is available from my desktop at work no matter which OS is currently being used (dual-booting xampp in windows xp and ubuntu). The end result should be that the MYSQL database is shared and the web pages are visible as long as the computer is up and running at work.

Reason: Wanted to make an internal website here at the University for showing current research items and publications online.


- 4GB Memory Stick. (I used a Buffalo TurboUSB 4GB, but bigger might be better)

- Logitec (not Logitech, but Logitec) USB 2.0 PCI Board with 1 internal USB port and 3 external ports.  (for the record only - this is the type I currently have and I mention it because it has 1 internal port where the USB stick will live once we are ready)

- Apache Friends' XAMPP server packages for Windows and Linux. -

- EXT2 file system support for Windows XP - I chose this because NTFS/FAT32 file systems don't support ownership and permissions in the same way as Linux does.

- Windows XP Professional and Ubuntu 10.04.1 Desktop installed via the WUBI installer.

PROCEDURE: Note: OS/Dual Boot installations are not discussed here! Just web server stuff!


  • Boot your PC into Windows XP.

  • Download EXT2 file system support for Windows XP and install.

  • Enable support for writing to EXT2, but don't enable the "force write to EXT3" option.  I didn't find I needed it.

Note: Be sure to allow EXT2 support to run at boot time (i.e. install the service when it asks you to do so)


  • Boot your PC into Ubuntu 10.04.1 and plug your USB memory stick into a port.

  • Format the memory stick with the EXT2 file system.  Use your favorite partition editor.  I used GPARTED.

Note: By default, Ubuntu auto-mounts the USB stick.  You'll have to unmount it before you can format it.


  • Reboot your PC into Windows XP.

  • Test your EXT2 memory stick by trying to click on it from "My Computer".

  • If the EXT2 extensions are installed properly and the drive was formatted properly, you should be able to see a "lost+found" directory.

  • If you can't access the USB stick, go back to the EXT2 driver settings and check to make sure the support is loaded and running.

  • If the EXT2 driver seems ok, try repartitioning the USB stick with EXT2 again (from Linux, step 2).

Note: For convenience, I renamed the USB stick to "XAMPP" from the My Computer window.  Slow-two-click on the drive, and you can rename it.  It makes for a cleaner auto-mount point in Linux.

STEP 4: FROM XP (still)

  • Download the Windows EXE from Apache Friends and install the program.

  • Make sure you select the USB stick as the install destination.

  • Notice that the "xampp" directory is created on the stick.

  • When the install finishes, XAMPP will ask some configuration questions.

  • If you want to have the stick auto start when you boot, make sure you USE DRIVE LETTERS in your install and allow the program to make icons and start menu items.

Note: Don't worry if you choose incorrectly or your drive letters change by mistake.  The program includes a reconfiguration utility which came in handy when it happened to me.

  • Test your installation by launching Apache and MySql from the XAMPP console.

  • Access your XAMPP in a browser using "localhost" or your URL if you have one.

  • If you see the XAMPP front page, you are done with the Windows XP setup.


  • Reboot your PC into Ubuntu 10.04.1.

  • Download the XAMPP for Linux from Apache Friends to the memory stick.

  • Un-archive the file on the stick.  Notice the "lampp" directory gets created.

Note: Ubuntu has a graphical un-archive tool which launches when you two-click the archive file.  Or you can use the command line from the directory containing the archive file as follows:

tar -xvf xampp-linux-1.7.3a.tar.gz

STEP 6: FROM LINUX (still)

  • Open a terminal and create a symbolic link to the USB stick lampp directory from the /opt directory.

sudo ln -s /media/XAMPP/lampp /opt/lampp

  • Test your Linux XAMPP installation by running the following command:

sudo /opt/lampp/lampp start

  • Now view the XAMPP home page using your browser and navigating to "localhost".

  • If you see the XAMPP pages, you've got it working.

  • Now stop the server before the next section:

sudo /opt/lampp/lampp stop


STEP 7: FROM LINUX (still)
Note: The rest is done from the Ubuntu side of things.  The Windows XP version of the MYSQL Database will be used and the Linux version will be left alone untouched.

  • Open a terminal and change directory to /opt/lampp/var

cd /opt/lampp/var

  • Rename the "mysql" directory to "mysqlDONTUSE"

sudo mv mysql mysqlDONTUSE

  • Create a symbolic link relative path to the Windows XP MYSQL directory.

sudo ln -s ../../xampp/mysql/data   ./mysql

  • Now restart the XAMPP server for Linux.

sudo /opt/lampp/lampp start

  • Check your pages again to make sure you can see them.

  • Troubleshoot as needed.


If you ran the security setup functions in the Windows XAMPP program before installing the Linux XAMPP stuff, you may have to make some additional tweaks.


Edit the file in BOTH Windows AND Linux installations of XAMPP.
Windows file: /media/XAMPP/xampp/phpMyAdmin/
Linux file: /media/XAMPP/lampp/phpmyadmin/

Make sure the password for PMA (controluser/controlpass) the same by copying FROM the Windows TO the Linux versions of the file.

Note: The "xampp" directories under "htdocs" for both the Windows XAMPP and the Linux XAMPP must remain unique since they have different options on them and the programs are different.

However, you can redirect the index.php from it's default of "xampp" to another location such as "wordpress" if you have wordpress installed. In this case, only 1 "wordpress" directory should exist and I recommend putting it under the Windows XAMPP "htdocs" directory and linking to it from the Linux XAMPP htdocs.


Note: Auto-starting XAMPP in Linux is tricky because the USB stick won't mount until after the user logs in to the system. By then, all the scripts in "/etc/init.d" have run their course.

  • However, I worked around this by writing a simple shell script which I added to "/etc/init.d". Here is the code for that:

# XAMPP for Linux shell script. (lamppstart)
# For launching XAMPP on a USB stick that isn't immediately mounted.
while [ ! -f /opt/lampp/lampp ]
echo "Waiting for XAMPP mountpoint to run /opt/lampp/lampp $@"
sleep 5
/opt/lampp/lampp $@

  • Don't forget to make the script executable:

$ sudo chmod 755 /etc/init.d/lamppstart

  • And don't forget to add it to the proper run levels during boot

$ sudo update-rc.d /etc/init.d/lamppstart defaults

Thursday, September 13, 2012

Multi-Blogging in Wordpress

Goal:  Install Wordpress software one time, but allow multiple blogs (multi-blogging in wordpress) to be deployed within a domain.  One set of software, one set of plugins/themes, but separate posts/pages and upload data for each blog is required.

Reason: I have a domain and wanted to have more than one blog.

(Specifically written for my pal, Justin Hunt.)

1. We assume the blogs will be created using the following steps:

  • Make a sub-domain in your Apache settings.

  • Make a database using phpmyadmin or other means.

  • Follow the naming conventions below (or something similar).

2. Add this code to your wp-config.php file in above where the normal stuff is stored.
$host = $_SERVER['HTTP_HOST'];
$parts = explode('.',$host);
$domain = $parts[0];
$db = "wp_" . $domain;
$dbuser = "wp_" . $domain;
define('DB_NAME', $db);
define('DB_USER', $dbuser);
define('DB_PASSWORD', 'blahblahblah111');
/** MySQL hostname */
define('DB_HOST', 'localhost');

The “domain” variable is the subdomain prefix (for example “” breaks into an array called “parts” with the “explode” command.  Therefore, parts[0] is set to “blog”, parts[1] is “example” and so on.

I used a naming convention with my Wordpress databases in mysql so the database name is “wp_blog” or “wp_<subdomain>” and the user is also the same as the database name.  For simplicity the password is always the same no matter which blog I’m using.

3. Once the blog launches, make sure you have made a sub-directory under the wp-content/uploads  directory for each sub-domain.   This helps to keep the uploaded stuff separate.  For example:

Note: Don’t forget to change the Wordpress Settings->Media to reflect where the uploads data gets stored for each blog!

This makes it easy to maintain the blog system software on your site.  Once you install a plug-in, the plug-in is there for any blog you have.  Same for themes.  But uploads are kept separate.

Saturday, July 28, 2012

2012 Jul 28 | University of Nagasaki Sasebo | High School Summer English Camp

I participated in the Nagasaki Prefectural High School Summer English Camp here at the University of Nagasaki in Sasebo.  Students came from Nagasaki area high schools for the purpose of experiencing a university-level communication class.  I worked with Yuichi Yamasaki on the project.  Basically, students came to our school on a Saturday and we gave them two lessons.

Monday, July 16, 2012

2012 Jul 16 | 長崎西高等学校SSH研究発表会 | Presentation Judge

Joined a few colleagues in Nagasaki City to participate in the Nagasaki West High School "Super Science High" research conference.  My role in the conference was that of presentation judge.

Saturday, June 16, 2012

2012 Jun 16 | Nagasaki JALT | Moodle Workshop

Thom Rawson hosts a 2-hour
Moodle Workshop in Sasebo
On Saturday, a bunch of the Moodle faithful braved the rains and drove to Nagasaki for a Moodle Workshop.  The levels were beginner to intermediate, but I tried my best to show a few things people could do with Moodle.

Tuesday, May 29, 2012

2012 May 30 | iMoot 2012 | Migration Tips Presentation

I participated in the 2012 iMoot (100% online Moodle Moot Conference) in May of 2012 for the purpose of presenting on the research I did for the migration of Moodle 1.9 to Moodle 2.2.  It was the first chance I’ve had to give an ONLINE PRESENTATION to participants around the world.

Friday, February 24, 2012

2012 May 22~24 | Moodle Moot | Mie University

I attended the Mie University Moodle Moot for 2012.  During this conference, I participated by giving two presentations and also contributed to one showcase.  I also watched several presentations given by other members of the Moodle Japan organization.  Here is an overview of what I did during the conference: