one-north Festival 2019

Happening now from 13-14 Sept 2019 at one-north.

My colleagues and I took the opportunity to visit the exhibitions during lunch time today. I learnt about 3M's solar films and retroreflection material, I^2R's speech-to-text recognition app with code switching capabilities (i.e. the app is able to transcribe English-Chinese mixed sentences) and cell-based prawn meat from, among other things.

There was also an informative booth on Project Wolbachia (where male aedes mosquitoes infected with Wolbachia bacteria are released into the wild to control the population). I learnt that they could separate the male from the females at the pupal stage because male pupals are larger and got to stick my hand in a box full of male Wolbachia-Aedes mosquitoes.

Very hands-on booth on Project Wolbachia.
Looking forward to a future where meat is grown in labs so as to reduce animal suffering

Do check out the apps developed by the Bioinformatics Institute that can be used for science experiments or related applications.

Iconic Voices from MIT: Opening a New Window into the Universe with Dr Nergis Mavalvala

This is a free public lecture by Dr Nergis Mavalvala (an astrophysicist from MIT) on how her team detected gravitational waves generated from colliding black holes and neutron stars at the Laser Interferometer Gravitational-wave Observatory (LIGO).  Held on this coming Friday 26 Jul 2019 from 5 to 6 pm, the venue is at the Singapore University of Technology and Design (SUTD)'s Auditorium, along 8 Somapah Road, Singapore 487372.

Click here to sign up.

Phase Difference GeoGebra Apps

I created a series of GeoGebra apps for the JC topics of Waves and Superposition, mainly on the concept of Phase Difference. The sizes of these GeoGebra apps are optimised for embedding into SLS. When I have time, I will create detailed instructions on how to create such apps. Meanwhile, feel free to use them.

Instructions on how to embed the apps into SLS can be found at this staging environment of the SLS user guide.

Phase difference between two particles on a progressive wave. Move the particles along the wave to see the value.

Phase difference between two particles on a stationary wave. Move the particles along the wave to observe how their velocities are different or similar.

Observe velocity vectors of multiple particles on a progressive wave.

Javascript Game to Learn How to Count Money

Trying to brush up my Javascript skills after being inspired by one of the senior specialists in ETD, I created this simple Javascript Game to teach kids how to count money using Singapore coins.

To play this game, click or press the "Play Button". Click on the coins to make up the targeted amount. Be careful as the coins will move over one another.

This is meant for children entering primary one soon so that they can learn how to pay for food at the canteen.

To insert this into SLS, download the zipped file here and upload as a media object.

GeoGebra in SLS

Useful Links for Learning about using GeoGebra in SLS.

  1. update on 2 Jul 2019: The SLS lesson shared during IPSG 2019 can now be found in the SLS Community Gallery.
  2. Join the local community of GeoGebra users at:
  3. GeoGebra tutorials at:  (Start with Geometry and Functions & Graphing)
  4. GeoGebra apps curated for A-level Physics:
  5. GeoGebra apps curated for O-level Physics:
  6. IPSG Poster on "An SLS Learning Experience with GeoGebra Apps on the First Law of Thermodynamics"
  7. Instructions on how to embed GeoGebra into SLS.
  8. Let us know if you have used or adapted the SLS lesson, or if you have ideas for new GeoGebra apps in the comment section below.

Idealized Stirling Cycle

I created a new GeoGebra app based on an ideal Stirling Cycle (A. Romanelli Alternative thermodynamic cycle for the Stirling machine, American Journal of Physics 85, 926 (2017)) which includes two isothermal and two isochoric processes. The Stirling engine is a very good example to apply the First Law of Thermodynamics to, as the amount of gas is fixed so the macro-variables are only pressure, temperature and volume. Simplifying the cycle makes it even easier for first time learners to understand how the engine works.

For those who prefer to be impressed by an actual working model, it can be bought for less than S$30 on Lazada. All you need for it to run is a little hot water or some ice. Here's a video of the one I bought:

The parts of the Stirling engine are labelled here:
How a Stirling Engine works

My simulation may not look identical to the engine shown but it does have the same power piston (to do work on the flywheel) and displacer piston (to shunt the air to and fro for more efficient heat exchange).

Geogebra link:

Embedding GeoGebra Apps into SLS

Teachers in Singapore have been provided with the Student Learning Space (SLS) - an online platform meant for students' self-directed learning using MOE's curriculum-aligned resources as well as for teachers to create engaging technology-assisted learning experiences for their charges.

One of the features that many science and math teachers find useful is the ability to create links out to simulations and other interactive apps. Those who know how can also embed html5 packages into their "Lesson" so as to provide a more seamless experience for their students. These packages must be stand-alone packages that do not require external sources such as sound files or images. In other words, every media file that is needed for the html5 package to run must be all zipped up into a folder before uploading.

Here, I will go through step-by-step how to embed a GeoGebra app into SLS.

Step 1: Find a suitable GeoGebra App (

You might like to check out the list of GeoGebra apps that I've curated for Singapore's O-level and A-level syllabi.

Step 2: Open the App and click to see Details.

Step 3: Download the App. Be sure to download the version that says "Offline Activity (.zip)"

Step 4: Unzip the package and rename the html file to index.html.

What the file name looks like before:

What the file name should look like after:

Step 4: Zip up the files again. Select all the files including the index.html file and zip it up. Do not zip the main folder. Select only the index.html and the folder with the title GeoGebra. The index.html file must be in the root directory of the new zip folder.

The new zip folder could be given any name.

Step 5: In SLS, select the Lesson and Activity in which you want your GeoGebra app to appear

Step 6: Select a new "Media" object

Step 7: Click Upload

Step 8: Browse to find the zip folder

Step 9: Uploading may take a short while

You should see this message. That is a sign that your package is correctly packaged.

Finally, you can try out the app in the student view.

If you need any assistance, feel free to leave a comment below. I will try my best to support you. In the worst case scenario, I can create the SLS lesson with the desired GeoGebra app and share it with you.

NOTE (ON 2 JUL) : With the new SLS embed function, you can also choose to embed the live GeoGebra App using an iframe following the method found here.

Geogebra App on Maximum Power Theorem

GeoGebra link:

This simulation demonstrates the power dissipated in a variable resistor given that the battery has an internal resistance (made variable in this app as well).

Since the power dissipated by the resistor is given by


and the current is given by


P= E^2\times\frac{R}{(R+r)^2}=\frac{E^2}{\frac{r^2}{R}+R+2r}

This power will be a maximum if the expression for the denominator


is a minimum.

Differentiating the expression with respect to R, we get


When the denominator is a minimum,

-\frac{r^2}{R^2}+1=0, so

r = R.