Posted on May 29, 2014 by orbital

Dear all Orbitees:

Here’s an opportunity to meet with the founding developer of WordPress.  It’s at Blk 71 on (wrong initial date advertised, sorry) Tuesday 3 Wednesday 4 Jun 4-6 pm, and organized by the government’s National Research Foundation (NRF)  Likely to be popular – so book early if you want to attend!  Sounds fun!

Matt Mullenweg is best known as the founding developer of WordPress, the blogging software he guided from a handful of users to the most widely used open source tool. He is also the founder of Automattic, the company behind, Akismet and more. Matt will be going on a speaking tour around cities in Asia and will be swinging by Singapore for an exclusive meet-up with the local start-up community here! Infocomm Investments Pte Ltd (IIPL) and National Research Foundation (NRF) would like to jointly invite you to a lively discussion with Matt regarding start-ups, entrepreneurs and innovation. During this informal gathering, you will also have the opportunity to connect with Matt and hear his insights on the past and future of WordPress and his experience in building WordPress and Automattic.

 Register Here!

4.00pm – 4.15pm Registration and Networking
4.15pm – 4.30pm Welcome 
4.30pm – 5.00pm Fireside chat with Matt Mullenweg, Founding Developer of WordPress
5.00pm – 5.15pm Q&A
5.15pm – 6.00pm Light Reception and Networking

Posted on May 23, 2014 by orbital

Winston Teo of Jolly Good Code, who presented the Agile Methodology session during Liftoff has graciously decided to let a lucky in-SG team from Orbital win a pair of RedDotRuby tickets (a S$200 value even at student pricing).

Teams that are interested in winning this pair of tickets will need to use the Ruby language in their project and need to write a short essay (one entry per team) on why they should be awarded the tickets and how they will benefit from it.

The winning team is obligated to attend the full two day conference (on 26-27 June) and give a 15 to 30 minute presentation about their attendance at the RedDotRuby conference and what interesting talks or techniques they learned about at the conference to all Orbitees during Orbital’s final presentation workshop, Splashdown.

The contest opens today and is open to all levels of achievement.  Attendance to RedDotRuby can count towards the 130-hour requirement for Orbital for the winning team.  Contest closes at the day’s end on 6 Jun 2014.

Posted on May 22, 2014 by orbital

UntitledJoin us for our first mission control session at Blk 71 (the startup haven next to NUS across the AYE) next Tuesday evening.  We hope to host many of your who are local to SG this summer at this nice venue outside of SoC.

Karan (Orbital adviser and alumn from the first batch of Orbitees) will be giving this beginning level tutorial / workshop, and like the other MC session will feature approximate one hour of tutorial and hands-on, followed by time on your own to work with your partners on your Orbital project.

jQuery is a concise and fast JavaScript library that can be used to simplify event handling, HTML document traversing, Ajax interactions and animation for speedy website development. jQuery simplifies the HTML’s client-side scripting, thus simplifying Web 2.0 applications development.

Update: here are the materials for Mission Control #2:
– Material:
– Hangouts broadcast:
– Final RSS Application:

This introduction is open to the public and will feature a hands-on exercise to build a RSS feed reader using jQuery.

Presenter: Karan Kamath, NUS
Date: Tuesday, 27 May 2014
Time: 18.00 – 21.00


P.S. – Do look out for the homework assignments for this MC session and for the previous one that Min gave on Bootstrap.  Happy coding!


Posted on May 20, 2014 by orbital

[This is an old video from last year (2013) that I think may be useful to those of you attempting Project Gemini or Apollo 11 and doing a web project]

Hi all, I’ve recorded a 26-minute video giving some basics about virtual machines and also showing you how you can use the eforms service from within MySoC to provision yourself a virtual Linux box within SoC for you to play with.

We actually use this service to run the WordPress site, so you can see it can actually be useful to you as a hosting solution as well.

While getting your own server is easy as filling out the virtual paperwork, once you obtain a server, it’s more of an intermediate topic to configure it to be useful to you in some way. You might try installing the common LAMP stack, or installing WordPress, Joomla, Drupal or other content management systems for some extra experience.

Slides here:

2014 edit – If you find going through SoC’s VM process tedious or not as fun as having real-world experience, I suggest that you try out Heroku or Amazon EC2  (latter needs a credit card).  Heroku can host PHP, Python, Node.js, and Ruby web frameworks (incidentally it uses EC2 as its backbone, I think).  If you want to have some exposure to the web backend, you can consider Heroku and if you want more nerdiness and control over your backend, use EC2.

The backend is a big learning curve for neophyte coders and it is the primary reason why we use Google App Engine as our framework in Liftoff — it’s supremely easy to deploy and also easy to forget (until bugs start coming up) that there is a backend to worry about in GAE.  For me, it’s a continuum:

<Little control and responsibility>

  1. Google App Engine <application as a service>
  2. Heroku <platform as a service>
  3. SoC’s VM / Amazon EC2 <virtual machine as a service>
  4. Your own physical server <physical hardware also a characteristic you have to deal with>

<Full control and responsibility>

But don’t take it from me — check out the various debates about these topics on the net.  Your mileage and opinion may vary.

Posted on May 19, 2014 by orbital

Credits: Scott Beale @ Flickr

Min will be giving a short tutorial and hands-on for Twitter Bootstrap — the CSS framework that is useful for giving that ™ed, clean look for most websites.  A key part of Bootstrap is in its responsive design, making sites look decent on small resolutions (low res smartphones) as well as big ones (your 30″ Apple Thunderbolt Display).

This is a beginner level session — applicable to any web-based project.

The Mission Control Session will be held at SR3 (COM1 #02-12) tomorrow; please check back with us at Piazza or on G+ Hangouts for updates.  If we have no problems with the recording you can try to join us on G+ Hangouts on Air, look for [NUS Orbital 2014] as the tag.

Post-session edit: here’s the stream:

Post-session edit (Homework): Here are the exercises for you to do.  This is your homework for getting credit for this mission control as part of the achievements for Project Gemini and above.  You should try to do the “homework” assignments for three Mission Control sessions as one of the three extensions for Project Gemini, along with applying the topic in whichever way is relevant to your project.

You need to complete exercises 1 and 2 to have this sufficient for Project Gemini homework.  Show evidence of this in a screenshot of the resulting site as a followup discussion on this thread, much like what you did for the Python exercises.  I hope some Apollo 11 teams will endeavor to #4 or #5.

  1. (Easy)  – Complete the edits to the files in 1_before to make them look like 2_after
  2. (Medium) – The edits to the files we had were not fully functional.  In particular, the sidebar navigation link in the index.html file makes the page jump to the wrong vertical offset.  Fix it so it correctly jumps (hint you will have to search for a solution, the documentation in Bootstrap won’t yield a direct answer).  Document and disclose how you fix it so that your peers can benefit.
  3. (Medium) – Fix the carousel for the entrepreneurship.html so that it is at an appropriate scale and serves up multiple images in each item (It may not end up scrolling as nicely as the original.  You can use a different JQuery carousel to achieve exactly the same effect).
  4. (Hard) – Get a hold of a retina iPhone or iPad and make the carousel images serve correctly.  You will have to look in the Bootstrap documentation about retina displays and how to serve two versions of the same image and to name (i.e. suffix) them appropriately.
  5. (Hard) – Create a third directory called 3_finished and insert the best versions of the sample pages we built together using only pure Bootstrap CSS/JQuery.  Once you’re done, in git, issue a pull request so that I can update my repository with your solution.  This will help others when they do this assignment in the future.

[A reminder that Mission Control sessions are optional; they are not mandatory events for Orbitees, but highly encouraged to attend if you are local to SG and NUS.  The sessions will be roughly one hour long of tutorial and another free-form hour where partners are encourage to pair program on your projects and receive help from any faciltator or advisor who is around.

If you do attend an MC session (virtually or physically), you’re welcome to include your time in the project log.  Homework assignments from MCs when completed can also be used as evidence for advanced level of achievements (Project Gemini, Apollo 11). ]


Posted on May 18, 2014 by orbital

STS-133_Discovery_Lift_Off_Launch_Pad_39A_KSCLiftoff 2014 concluded on Wednesday, but it’s helpful to have a recap of everything that happened, especially for those of you who are overseas.  Here’s where we sum it up in a single post.  Feel free to watch this thread in Piazza, as it’s inevitable we missed out on some useful pointers (students, advisors and mentors, feel free to add to the post).

There’s a YouTube playlist for all of the videos that we broadcasted, but the individual links are below.

Day 1

Design Thinking – Giftbook

For the first session, we are going over the design thinking workshop.

Go through the slides that Wee Sun has posted at, and then after reviewing the materials, watch and do with your partner the entire Design Thinking Workshop Video from Stanford.

Project Levels and Achievements

As Wee Sun pointed out, you can have your Orbital experience overlap and align with programming contests locally and worldwide.

Consider this (non-exhaustive) list (now merged and enhanced from Shubham Goyal’s list too)

Presentation Skills by Google

Presented by Darshini Santhanam, Google Singapore (starts from the video stream at 21m50s)

Attached are the slides for the presentation, courtesy Darshini. Grow_Beyond__Presentation_Skills_by_Darshini_Santhanam.pdf

YouTube videos referenced:

Eric Schmidt Public Speaking Class
Macworld San Francisco 2008-The MacBook Air Intro (Pt. 1)

Elevator Pitch Winner – Katie Sunday
Eric Schmidt – Zeitgeist Americas 2013

Enjoy and thanks to Google again for stopping by!


We pretty much went over the materials from and dashed over to Codecademy to do some exercises.  We had some fun with the Open Source Report Card Json service towards the very end.

Whenever you get down on your programming mojo, watch the videos.  They pep you up.  There’s suposedly one with Obama (US president) in it too.

Alternative learning platforms:

Udemy – A list of courses (w/ star-rated reviews; fee and non-fee)
Lynda – for fee, monthly subscription-based
LearnPython – what we will be following for the first part, along with Codecademy Advanced Topics in Python
– Iteration Nation (Exercises 1-3)
– List Comprehensions (Exercises 4-6)
– List Slicing (Exercises 7-11) The Devil’s in the Details

20 minutes: AfterHoursProgramming Python Quiz

Here are the slides for the original version of the tutorial: python_tutorial.pdf  Note you can also find the videos of both parts of the Python tutorial online.  Google has a few versions of a Python tutorial that is much better than mine, I think but it may still be worth it to work through your understanding of Python.

There are lots of additional tricks in Python that you can try, so do try to figure them out.  Also important is to try to adopt the Python coding style, in the form of the PEP 8 “standard” or others: For PG and A11 students: if you whizzed through our Py tutorial you can try watching some pretty advanced tips to get yourself more aligned to the Pythonic style:!

Even seasoned (salted or pickled) Pythonistas benefit from watching this from time to time…

On Codecademy: So at this point, you should have some gist of what python programming is like.  It’s not so bad, is it?  If you haven’t finished the exercises, try to do them over the next week or so, and keep working at the Python course (and others) on Codecademy.  You can take a look at the other sites that I shared with you in the earlier @177 post.  Vostok folks, don’t be intimidated by the speed at which some students can do the exercises.  Practice makes things better and guess what — there’s no Bell Curve God for this module.  So take your time and get things done until you’re comfortable coding.  You can also ask your advisors for some tips — they will be really happy to share, trust me!

Software Installation (Post @168): Please do this by Wednesday early morning.  Ideally today if possible.  It’ll really help if you have the software installed.  We did Python together (and perhaps PyCharm).

Project Gemini / Apollo 11: Teams aiming for a bit more than the standard project can try to do a mobile app or other project — it’s up to you. If you’re interested in still doing a web application, don’t necessarily corner yourself into using Py/GAE.  There are many frameworks you can.  You could try Ruby on Rails (my personal favorite web framework, and experience that Winston was sharing is highly sought for in SG).  A few of our mentors are also Rails specialists, but Python / GAE is also a good combo, and many of the advisors will be able to help you with that.  Explore what’s right for you.

Agile Methodologies

Winston of Jolly Good Code has kindly made his presentation available to us.  You’ll probably want to have a re-look at the Agile software engineering methodology he presented to you once you get down to the nitty-gritty of actually starting on your project.  Agile_Methodologies.pdf

Post Day 1 – Software Installation

Probably you have these all done, but if not, please get it done soon.  Min’s note: the more you work with these tools, the more proficient you’ll be with it.  It does help to periodically go back and retrain on certain tools (especially your text editor — knowing shortcut keys is really beneficial — you can YouTube or Google hints for developers for any tool that you’re using.  Lots of people have made very helpful notes.  Find them and share with the class!

Day 2

Web structure, HTML, version control

Zhi An’s session on YouTube:
Slides and everything else:

Color Pickers:
– Adobe Kuler ( )

Update (Post Liftoff 18 May by Min): you may also find that Laurence’s session in last year’s Orbital specifically on git use and management would be helpful for those who have gotten git to install but don’t know what to do with it.  Please find the session here on YouTube:
A screenshot of Zhi An’s description of “how the web works” mentioned at 4:40 into his video:

Min’s addendum:
– You will probably use your fav search engine to find more information about HTML tags and CSS directives, but usually a search for “<tag name> html” will work.  The technical descriptions from is usually fairly good.  They have HTML and CSS tutorials there too.
– Geeky stuff: Tim Berners Lee started the web in 1991.

Google App Engine

Follow along here in YouTube
Please note that you need the materials to follow along

Update (Post @206) : Last year, I posted this video to YouTube to help some students come to grips with all the new shiny code that they learned in the Google App Engine session.  You may find this lo-fi video helpful to fill in some gaps in your understanding of what all the parts of the web work.

Students from last year also found self-studying from the Udacity web application course also very useful for general awareness of “how the web works”. You can also find some of the sessions on YouTube for free:

This source of information is probably very useful for those of us whom learn best by watching.  The Udacity course is pretty long but much more principled in its way of introducing materials to you in a “lecture” format, instead of dumping you all in the thick of GAE like we have done.


Posted on May 6, 2014 by orbital

Hi all:

Congratulations for finishing your exam for CS 1010, 1020 or 2020 soon.  Hope you are studying well for you last few exams or are happily relaxing in preparation for Orbital’s Liftoff Monday and Wednesday workshop.

We realize quite a number of you have registered for Orbital on the Google Form but have not enrolled for the Piazza forum.  We have re-sent out registration emails to all students who have filled in the form this morning.  Please check your spam or trash folders for these emails if you don’t find them in your inbox.

Liftoff 2014 will be held on 12 May (Day 1) and 14 May (Day 2) at I-Cube (I3) Auditorium.  We will be starting early at 9:00am. Please be there on time (it takes 10 minutes to walk from SoC).  For directions, which is past the Biz faculty (there is a shortcut from SoC through BIZ2 to cross Business Link without going out into the rain; nearest bus stop is the A1/D/BTC1 stop at Biz Link).  See here for more directions.

Screen Shot 2014-05-06 at 12.59.14 pm

This is our last message to the IVLE forums, so see you on Piazza!

Posted on April 17, 2014 by orbital

For those of you who have filled out the Orbital registration form, thank you in advance for making Orbital 2014 a success!  You should now be invited to join the Piazza forum (reminder emails were sent out earlier today, please check your accounts and spam folders). The forum has most of the answers to concerns that you have raised.  Additionally:

  1. Those of you who have already stated their project teammates clearly have been also enrolled to a specific advisor group (hopefully correctly assigned to the same group) where your advisors have written a short note of introduction.  If you’ve gotten this far, congratulations!  You’re ready for Orbital!
  2. If you have been invited to Piazza, but haven’t been allocated to a specific advisor, it’s probably because you didn’t specify a teammate, or that your choice was unclear.  If you have chosen a teammate, let us know (email Min at <>).  If you haven’t yet found a teammate don’t worry, you can use the Piazza forum to solicit for teammates and can find teammates at the Liftoff workshop on the 12th / 14th May mandatory workshop.
  3. If you have filled out the registration form but haven’t been invited to the forum, please let us know.  We sent out registration reminders this evening (17 Apr).
  4. If you’re interested in Orbital but haven’t jumped on the bandwagon yet, there’s still time.  Please join us by filling the form:

See you soon on the 12th and 14th (all day!).  See the Piazza forum for details on the Liftoff Workshop!

Posted on April 1, 2014 by orbital

Screen Shot 2014-04-01 at 3.18.38 pmThe Orbital briefing was held on Monday 31 Mar 2014, at 18:00-19:00 (sorry if there was some confusion in our announcement of the timing… my bad).

The slides of the presentation are available here: and the video (audio may / may not be audible, weak laptop mic) is here: (don’t worry the video is not actually an hour long; please scrub it to find the parts that you’re interested in, see the first slides for the narration of the briefing of the video).

If you weren’t convinced to sign up before, then you can do it now (yes, you; yes, right now!) :

If you have continued questions about Orbital, please raise them on the Orbital Piazza Forum.

See you again soon at Liftoff (12 and 14 May)!