Tech Notes

Setup QUT Cloud Email

Everything is moving to cloud these days (ie 2012) and taking on the bandwagon QUT recently (ie 2014) migrated their research student emails (and soon staff emails) to the Microsoft Office 365 platform.

And as usual the guides on QUT websites seems to be confusing many users out there, so this is a very basic summary of settings you could use to set up access to QUT emails from your smart phone clients (Android, iOS, etc.)and other applications (Thunderbird, Linux, etc.).

First, there is a lot of confusion about the username. For anyone migrating to the new system, your new username will be different from your actual email (previously or now The username will be in the format of

Second, there will be a temporary password while the migration is taking place which you need to activate here: And this will be different from your standard QUT Access password. However, once the migration is completed (expected to be from Monday 15 September, 2014), you will be using the standard QUT Access password with the @connect username as well.

Third, as for the server settings you can try using one of the following depending on what is required by your email application.

  1. Exchange ActiveSync setting
    • Server name:
    • Port: 995
    • Encryption method: SSL
    • Domain\Username:
    • If your client asks for Domain and Username in separate text boxes, leave the Domain box empty and type your full email address in the Username box.
  2. IMAP settingQUT IMAP Setting
    • Server name:
    • Port: 993
    • Encryption method: SSL
  3. SMTP settingQUT SMTP Setting
    • Server name:
    • Port: 587
    • Encryption method: TLS

The changes are still very current and a lot of information in this post might be changing in the near future. I’ll try my best to keep you updated. As always if you have any feedback let me know in the comments below.

P.S.: I am no longer affiliated with QUT, so I can’t test most of the settings personally. But I’ve tested them with a friend’s account and everything seems to be working. So if you have any issues, please let me know.

Tech Notes

Setup QUT Student, Staff Email on Android Devices (and IMAP/SMTP)

[The information on this post was last updated on July 1, 2014. Most of these will become obsolete with the migration of HDR and Staff emails to the cloud (Microsoft Office 365). For details on setting up with the new system head on to this update: Setup QUT Cloud Email. Thank you.]

Having access to my work/school email on my smart phone is important for me when I am ‘working from home, away from home’. I recently switched to my Nexus S and upgraded the OS to the latest Ice Cream Sandwich. But when I tried to add my emails, there aren’t many guides on the QUT website on setting up exchange email accounts on Android devices. As always, after a bit of Googling and guess-work I was able to set up my two accounts on my Nexus S. And this is how I did it…

  1. Undergraduate Student E-mails
  2. Staff E-mails
  3. Research Student E-mails
  4. IMAP/SMPT Settings for QUT Hosted Email
  5. How to connect to a QUT Wireless?
  6. Additional Notes

Undergraduate Student E-mails

For all QUT undergraduate and non-research degree students who have email addresses,
Android Outlook Exchange Email Settings for QUT Connect Student

  • Username:
  • Server:

Note: These settings can sometimes vary based on account settings. The best place to find the latest settings is the options tab on the web mail page at:

Staff E-mails

For QUT staff email accounts that end with,
Android Outlook Exchange Email Settings for QUT Staff

  • DomainUsername: qutadUSERNAME
  • Server:

Research Student E-mails

I’m doing my PhD at QUT, and all HRD (ie PhD and Masters Research) students have a different type of email account (similar to staff emails) which end with,
Android Outlook Exchange Email Settings for QUT HRD Student

  • Domain\Username: qutad\USERNAME
  • Server:

IMAP/SMPT Settings for QUT Hosted Email

For staff and research students whose email are hosted internally within QUT, the following IMAP/SMTP server settings can be used for setting up using email software other than Outlook, such as Thunderbird in Windows or Linux environments, or alternative email apps on your phones.

  • IMAP setting:
    • Server name:
    • Port: 993
    • Encryption method: SSL
  • External SMTP setting:
    • Server name:
    • Port: 587
    • Encryption method: TLS
  • Authentication
    • Mode: Normal Password
    • Username: qutad\USERNAME
    • Passowrd: QUT Login Password

Note: POP access is limited to QUT internal networks only, so IMAP would be the best option if you are setting it up on your personal devices.

How to connect to a QUT Wireless network from Android?

QUT wireless networks offers two different Wi-Fi access points to connect across all campuses. The ‘QUT’ access point is usable for all students and staff, while the ‘eduroam’ access point can additionally be used by visitors from participating institutions. Setting up the ‘eduroam’ network can enable us use our devices when travelling to other participating institutions.

QUT & Eduroam Wi-Fi Settings for Android

  • Menu -> Settings -> Wireless -> Wi-Fi
  • Choose a network: QUT (or eduroam)
  • EAP Method: PEAP
  • Phase 2 authentication: MSCHAPv2
  • CA Certificate: [Leave Unspecified]
  • User Certificate: [Leave Unspecified]
  • Identity: USERNAME (or for eduroam)
  • Anonymous Identity: [Leave Blank]
  • Password: PASSWORD
  • Connect!


The settings pages and options may sightly vary depending on the device, OS version, and applications. The USERNAME is what you would normally use to login to a QUT computer. We should use only to connect to the ‘eduroam’ network. The following pages on the IT Services web page can give latest and more details.

Tech Notes

Back to Gmail: Migrating emails from Google Apps mail to Gmail

It is a common scenario for people to migrate their Gmail accounts to Apps mail accounts. There are more than many how-to guides and tutorials covering this direction of the migration. But how about the opposite.

There are many obvious reasons for someone to migrate (back) to Gmail from a Google Apps mail account. Google Apps mail is used by many organisations, schools, etc. Thus, when we leave from that organisation, it becomes a necessity to migrate all our emails elsewhere.
Google Apps mail to Gmail
So lets jump into this quick tutorial on how to migrate all emails from Google Apps mail to Gmail. There are few other mechanisms suggested across the internet, but the one that works smoothly is using “imapsync”.

“imapsync” software is a command line tool allowing incremental and recursive IMAP transfers from one mailbox to another. It is useful for Gmail account migration or account backups.


  • imapsync” was a free tool, but now the author is charging almost $45 for a copy. It is affordable for commercial use, but for personal use the price is an overkill.
  • The earlier versions of this software can be found on the internet and still be used without copyright violations. (DOWNLOAD the earlier version for FREE).
  • This guide is based on a Windows installation. The use can be easily adapted to Linux and other platforms as we will be compiling from the Perl source code and running the software. (Those who are on Linux, you could simply follow the install instructions with the download file).

Step 1: Install Perl

  1. Download and install “Strawberry Perl”. (Install to the default install location).
  2. Double-click and Run the “” batch file to add the environment variables.

Step 2: Setup the Prerequisites

  1. Open “CPAN Client” under Start Menu -> Programs -> Strawberry Perl -> Tools.
  2. Run the following commands individually:
    • install Mail::IMAPClient
    • install Digest::MD5
    • install Term::ReadKey
    • install IO::Socket::SSL
    • If this presents a warning with “Net::SSLeay could not find a random number generator” and “Do you REALLY want to continue? [Default: no]“, give “yes” and continue.
  3. install Date::Manip
  4. install File::Spec
  5. install Digest::HMAC_MD5
  6. install PAR::Packer
  7. At this point you should be all set with the Perl setup and the following command should not give any errors.
    • perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL -mDate::Manip -mFile::Spec -mDigest::HMAC_MD5 -e ”

Step 3: Install ‘imapsync’

  1. Download the earlier version of ‘imapsync’ for free from here (or buy the latest version from here).
  2. Extract the downloaded file, if you can’t extract a tar.gz, use 7-Zip.
  3. Open the “build_exe” batch file in a Notepad and change the folder path to the extracted folder.
  4. Run the “build_exe” batch file.
  5. This should have created a “imapsync.exe”.

Step 4: Using ‘imapsync’

  1. Open “Command Prompt”.
  2. Change directory to the ‘imapsync’ folder.
  3. The basic ‘imapsync’ command is,
    • imapsync --host1 --user1 theoden ^
      --host2 --user2 ''
  4. For Gmail, change the following command with your Apps mail login and Gmail login details.
    • imapsync ^
      --host1 --port1 993 --ssl1 --authmech1 LOGIN ^
      --user1 --password1 password4user1 ^
      --host2 --port1 993 --ssl2 --authmech2 LOGIN ^
      --user2 --password2 password4gmail ^
      --split1 100 --split2 100 ^
      --reconnectretry1 30 --reconnectretry2 30 ^
      --noauthmd5 --noreleasecheck ^
      --timeout 1200  --allowsizemismatch
  5. Paste the modified command into the Command Prompt, ‘imapsync‘ should sync you mail accounts accordingly.
  6. It could take, hours (or days) to complete the sync, based on your internet connection speed and the amount of email in your mailboxes.
  7. For more ‘imapsync’ command reference run,
    • imapsync --help
  8. Once the sync is complete, you could also setup a forward all mails to the new Gmail account from the old Google Apps mail account.

This guide can look a bit more technical and for the ‘geek-handed’. If you follow the steps it should be straight forward.

However, if you are afraid you might burn your computer by doing this, just ask your friendly geek-next-door, and s/he should be happy to help you.

Happy migrating back to Gmail…!

Tech Notes

LaTeX on Windows with MiKTeX and Notepad++

Notepad++ is a versatile text editor and source code editor for Windows. I use it as my default text editor on Windows. For convenience of compiling .tex files while editing we can simply add a run command to Notepad++.

This is a simple “how to” for conveniently using Notepad++ as the editor for LaTex (using MiKTex) on Windows.

  • Install MiKTeX
  • Install Notepad++. (This comes with syntax highlighting for LaTeX, but for BibTex add the user style.)
  • (Optional) Install Sumatra PDF
  • Create a .bat file with the following code:
:: Called from Notepad++ Run
:: [path_to_bat_file] "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

:: Change Drive and  to File Directory
cd %1

:: Run Cleanup

:: Run pdflatex -> bibtex -> pdflatex -> pdflatex
pdflatex %2
bibtex  %2
:: If you are using multibib the following will run bibtex on all aux files
:: FOR /R . %%G IN (*.aux) DO bibtex %%G
pdflatex %2
pdflatex %2

:: Run Cleanup

:: Open PDF (Script updated based on comments by 'menfeser'
:: START "" "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" %2.pdf
START "" %2.pdf

:: (Alternative) Open PDF with Sumatra PDF
:: START "" "C:\Progra~2\SumatraPDF\SumatraPDF.exe" %2.pdf -reuse-instance 

:: Cleanup Function
:: del *.log
del *.dvi
del *.aux
del *.bbl
del *.blg
del *.brf
del *.out
  • Add the batch file as a run command:
    • Notepad++ -> Run -> <PATH_TO_BAT_FILE> “$(CURRENT_DIRECTORY)” “$(NAME_PART)”
    • (Note the surrounded ” before and after CURRENT_DIRECTOR and NAME_PART)
    • Create a keyboard shortcut for this.
  • Now create a LaTeX file in Notepad++, Save and Run (using the short key defined).


  1. MiKTex should be added automatically to Windows “path” when it is installed, if not add “WHERE_MIKTEX_INSTALLED\miktex\bin” to path manually.
  2. This is just a work flow that works for me, you can modify it to suit yours.
  3. Plagiarised from various sources on the Internet. 🙂
Tech Notes

Parse RSS feeds with PHP

RSS feeds are very common today, and at times we want to write a simple script to grab some information from a feed.

PHP has got and extensive set of functions that can be used to manipulate XML (RSS feeds or even HTML) files. PHP DOM library is one of the handy libraries that can be used to parse RSS feeds in PHP. DOM (Document Object Model) is a standard way for accessing and manipulating XML documents. XML documents can be represented in tree-structure (a node tree), with the elements, attributes, and text defined as nodes.

Below you can find the script for parsing a standard RSS feeds:

// Create a new DOMDocument object
$doc = new DOMDocument();

// Load the RSS file into the object

// Initialize empty array
$arrFeeds = array();

// Get a list of all the elements with the name 'item'
foreach ($doc->getElementsByTagName('item') as $node) {
	$itemRSS = array (
		'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
		'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
		'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
		'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue
	array_push($arrFeeds, $itemRSS);

// Output

The getElementsByTagName method is used, within the loop of the item nodes, to get the nodeValue for the title, description, link and date tags. The nodeValue is the text within the node. An array is used to store each set of values and each array represents an entry in the big array that holds our structured RSS data. At the end of the script all the data will be hold by the $arrFeeds array, which is well structured and can be used to display or further manipulation.

One drawback of using the DOM library is that it reads the entire XML document into memory, and then we use the functions for manipulating the data. Thus this method is that is not recommended for large XML documents, which would take too much memory to build the model of the document.

Anyway, usually the feeds we are dealing with are of normal size, and this won’t be an issue at most occasions.