Screen Shot 2016-06-06 at 8.15.15 PMTomorrow, Min (@knmnyn on Slack) will cover Machine Learning for Newbies for fun.  As the basic foundation in the 4A workshop, he will cover what machine learning is about, and have you enrol into Kaggle, a machine learning global competition system, in which you’ll try your hand at submitting an entry into the Facebook check-in competition, using some really simple settings (often called “the baseline”).  We’ll review some fundamentals in machine learning and give you some intuition on they work, with the hope of getting these things working in 4B.

Min won’t be going over the algorithms used in machine learning, but rather introducing you to the real-world context of applying those algorithms onto data sets.  In the 4B workshop, we’ll apply some of the machine learning techniques on the FB dataset and learn how to do training, and testing, and will submit a better entry to the Kaggle Facebook competition.

Ready?  MC4 documents (still not ready, Min is never quite ready for lessons until lessons start :-S ):


Skylab_illustration Dear all:

After a short hiatus, Skylab is back and ready to take your evaluations of your peer teams.  Due to the downtime, you now have until 8 Jun 23:55 to complete your peer evaluations.

Save often and keep a back up of your work!  Please report all bugs to the #skylab channel or in the Git issue tracker (on the right part of the footer at the bottom of every Skylab page), and we’ll attend to it as soon as we can.


Photo Credits: KatieJean97 @ Flickr

Next week, NUS Greyhats‘ Amon and Kai Yuan (@amon and @thngkaiyuan on Slack) will cover Web
Exploitation 101 as part of the Greyhats Mission Control session. As
the basic foundation, they will be covering the application specific
standard attacks that are common to many web applications (but not
limited solely to web applications):

  1.  SQL Injection
  2. Command Injection
  3. XSS
  4. CSRF
  5. Open Redirects

In addition, Greyhats may also delve into more exotic
platform-specific attacks, that are applicable to PHP, Rails, Python,

Ready?  Here are the documents for MC #3:

You might also be interested in this links:

Screen Shot 2014-06-01 at 7.48.56 am
Photo Credits: James M @ Flickr

Dear all:

Your first Orbital hurdle is here!  Please make sure to file your team’s README and Project Log and link to video in Skylab no later than 30 May 2016 11:55pm SGT, but preferably as soon as possible).   N.B. – The Skylab link is available from the main Orbital website.

Min went over the process in brief at the conclusion of Liftoff (video here), which gives the overview of the entire evaluation process for all three months and milestones.

  1. We’ve also prepared a video for you to watch with your teammate on what you need to do to file your Milestone 1.  The video covers several steps:
  2. How to set a password on your account, in case NUS OpenID goes down (this was an issue last year)
  3. Where to preview the evaluation forms used in the peer review process for Milestone 1
  4. Then, how to file your Milestone 1 deliverables (README, Project Log, 1 minute Video Link*).
  5. Finally, to remind you that you must ask for any form of extension in advance of the deadline.  Any deadline extension request should be filed with your advisor.

In the following week (30 May — 6 Jun), you’ll also need to do the peer evaluations of your three peer teams in your evaluation group to be listed in Skylab. These evaluations are due to be submitting in Skylab no later than 6 Jun 2016 11:55pm (exactly 1 week later).

Stay in touch with your advisor and ask if you need help on Slack!

* For the 1 minute video link, you can use an offset to the Ignition videos that we captured, by viewing and time stamping one of the three videos: i3 Auditorium , The Hangar , Extras

Screen Shot 2016-05-23 at 12.49.51 AMEver wanted to try your hand at creating a game?  Now’s your chance!

To those coming for the Mission Control, do try to get SFML set up and working before (directions in the document). If you can compile this, all is good.

The two videos of the session are here:

Other media from the event!










We’ve noticed that many of you have difficulties receiving timely notices through Slack. To ensure you do receive announcements, we’ll be sending emails for each announcement. These announcements are made on the main Orbital website, broadcasted to Slack in the #general channel already, but now additionally, emailed to you via your email address registered on Skylab. Hope you receive them! Hint: — we’ll be sending out some later today!

Need a guide?  Courtesy: akunamatata @ Flickr

Get some help from the industry experts and senior students who have volunteered their time to discuss your project with you!

Mentors come in many forms: from both industry, recent alumni, as well as even current students (many who took Orbital in the past years). See which matches your temperament and your idea. Do note that as in past years, some mentors are more popular than others, so be open-minded about whom you might want to work with if you are interested in getting a mentor.

Again, if you do want to try for mentorship, you need to let us know via a Slack DM or email telling us the names of the mentors you don’t mind having.

Do note that as in past years, some mentors are more popular than others, so be open-minded about whom you might want to work with if you are interested in getting a mentor.  We will acknowledge all requests so you know that your preferences are noted and currently in the processing pipeline.

We need this as soon as possible, as we wish to finalize mentorship links this week (by 13 May, Friday).  Mentorship is a two way street, and details on the program are on the website

(Some of the mentor profiles have been recently updated today!).

Currently, we have bids by the following 20 teams:

0xDEAD BEEF, 1064, 1080, 1173, 1182, 1192, Ant Inc., Copyleft, Foodies, Help, JFK, MusicMakers, No Break, No Brake, Ohm, OrderFirst, Panata, TAC, Team Rocket!, Travellin, bottMother and insertnamehere.

Not on this list, and wanting mentorship?  Please DM @knmnyn on Slack, with your mentor preference list ASAP.  Thanks!

Congrats everyone!  Liftoff 2016 concluded on Tuesday and you have escape velocity out of SoC and are well on your way to starting your summer project! 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 so you can decide where to go from here.

Remember, for most teams’ Liftoff is a whirlwind tour of acronyms, and development.  It is a “throw you into the deep end” type of workshop where we pepper you with lots of technical material.  However, for many it will take a few weeks to start to get entirely oriented with what to do next.  Look to your advisors (and mentors) for help on Slack, call them out!  As explained at the beginning Liftoff is more a teaser for what you can do than a full fledged coding bootcamp costing K of dollars and with a much more substantial time commitment.  Do read the original post because it contains all of the links that may not show up on a feed.

There’s a YouTube playlist for all of the videos that we broadcasted (see original post for the URL), but where possible we’ve put up individual links below.  Do consult these for materials to revise, especially if the sessions went too fast — rewatch those we were able to capture to pick up where you fell of the track in the session!

Day 1

Introduction [ Link to Video and Slides ]

After showing a video, Min went over the three resources for Orbital: Slack, the Orbital website, and Skylab.  We went over the Orbital timeline — the three milestones, the optional Mission Control sessions and the mentorship program for PG / A11 students.  We then closed by reviewing the schedules and polling for the technical sessions that we were executing for Orbital.

went over the schedule for Orbital Liftoff this year.  We went over the three

Design Thinking – Fight Haze [ Link to Video and Slides ]

For the first long 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 Wee Sun, which is modelled after the original material from Stanford.

Project Levels and Achievements [ Link to Video and Slides ]

We review the types of projects that you can do in Orbital (pretty much anything) and how to assess your level of achievement, and we review the two most FAQs: Is my project worth <X>? and Is it feasible to do Y for my project?  We also hosted the NOC group who made the stunning announcement that all Orbitees who complete their self-proclaimed mission are good to pass Round 1 interviews for their hallmark NUS program.  Min also went over 5 project ideas proposed by mentors which would be suitable for teams not clear about their project ideas.

As we pointed out too, 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)

  • Google’s Cloud Developer Challenge
  • Using to do merge two different data sets for interesting results!
  • code::Extreme::Apps (
  • Hackathons organised by Newton circus mainly as part of its UP Singapore series All hackathons are weekend-long and usually have some new datasets for the participants to play with.
  • angelhack (; there’s one coming up AngelHack Singapore 2016  on 14-15 May this weekend!)
  • Developer Weekend (organised by NUS Student Chapter of the ACM, all SoC students receive an e-mail blast about it)
  • Hack&Roll ( organized by NUS Hackers, the student organization that Jia Yee, David and Advay (all students in Orbital 2016 too) are a part of!
  • Startup Weekend ( – This is not strictly a hackathon though, but no one prevents you from treating it like one 😛
  • Facebook Singapore Hackathon .  This event has happened in 2014, and 2015, but not yet for 2016.  We don’t know if Facebook will organize it every year though.

Agile Practices [ Link to Video and Slides ]

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.

Basic HTML / CSS [ Link to Slides ]

Jia Yee went from NUS Hackers went over the basics of HTML and CSS: the heart of the structure and the style of all things web.  There’s quite a lot of things that can be done purely with good knowledge of HTML and CSS, including making an impressive web-based resume or website.  You can peer at the heart of any website you can find in any browser and study how their HTML looks like (but don’t worry if you can’t understand some of the syntax, most of the HTML out there in the wild is written by machine or frameworks, and their HTML is usually pretty messy.  Study these fundamentals well.

Min’s addendum:
– I taught this session using Codecademy’s exercises in previous years.  You can try that too, and/or follow the webcast from then.
– 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.
– We’ll be going over an extension of this tutorial in Mission Control #1 on Bootstrap (a specific CSS extension for clean responsive web design) as well as JQuery (used extensively in making website feel more dynamic), which will be next week at 17 May here at the Hangar by Min.
– Geeky stuff: Tim Berners Lee started the web in 1991. Web

Basic Droid Dev [ Link to Video and Slides ]

Min gave a quick overview of Droid describing different API levels of Droid, the difference between responsive Web applications and native apps (you may not need to build a Droid app to create a good project).  We then covered the building of a basic Hello World app using a basic activity, and then went to build the Create part of an application that can do the basic CRUD (Create, Read, Update and Delete) functionality.  We didn’t cover the Read part of the tutorial and the tips at the end, but we suggest that you complete the tutorial to get a working application.  The tutorial is adapted from another tutorial on CRUD for Student Databases for the Fight Haze application, available at  We’d suggest you work through that version for the full CRUD work.

There’s also Jun Wen’s previous talk on Droid Dev, from which the current session was modeled after:

Mentor Matching [ Link to Mentor profiles and Mentor projects ]

We finished the day with Mentor Matching back at I3 Auditorium.  Team interested in mentorship need to tell us by the end of today whom they would like for their mentor.  Read the pinned post on Midnight Mentor Madness -‘Morrow’s Mentor Matching Meetup pinned to the #general channel in Slack to get more details on the benefits of mentorship.  Do note that as in past years, some mentors are more popular than others, so be open-minded about whom you might want to work with if you are interested in getting a mentor. 

Day 2

How we hire by Charlotte Park of Google

Charlotte brought Jamie and Doug to help answer your questions about hiring at Google.  They took questions both in the session and outside the auditorium and referred us to some hints about how to prepare for the technical interview.  Charlotte mentioned the Work Rules book by Lazlo Bock  and mentioned the tech interview for more seasoned engineering (but still useful for all of you, that was just held last week):

Python [ Link to Video and Slides ]

David from NUS Hackers went over this material.  Big up for David on his presentation over at The Hangar!  So at this point, you should have some gist of what python programming is like.  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!

Alternative learning platforms for any language (Python of course, but others too!):

  • GrokLearning
  • – Min uses this when he teaches this section.
  • – Min uses this when he teaches this section, especially the lessons Advanced Topics in Python and The Devil’s in the Details
  • Udemy – A list of courses (w/ star-rated reviews; fee and non-fee)
  • Lynda – for fee, monthly subscription-based
  • 20 minutes: AfterHoursProgramming Python Quiz
  • Laurence also recommends Learn Python the Hard Way (, part of the general Learn <X> the Hard Way series.
  • 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.

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 try.  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.

Google App Engine [ Link to Slides ]

Please note that you need the materials to follow along . Unfortunately, the recording did not go through, so you can check the related tutorial on Google App Engine (GAE) from Wee Sun’s recording from last year.

Ruby on Rails [ Link to Slides ]

In addition to Jia Yee’s intro, for RoR, Min highly recommends following some of the online tutorials.  Min used Pragmatic’s Agile Web Development with Rails 4 as his method for learning Rails and once taught a full day workshop to his research group from this book. .

Presentation Skills [ Link to Video and Slides ]

Presented by Min, with assistance from slides originally from Darshini Santhanam, of Google SG.  We watched two videos on Steve Jobs presenting the MacBook Air and a video by Michael Hyatt from Platform University about making a useful elevator pitch complete with the key problem statement.  In the original presentation in 2014, Darshini also showed the before and after of Eric Schmidt, now chairman of Alphabet, Google’s parent company.

YouTube videos referenced:  1) Eric Schmidt [before] Public Speaking Class . 2) Macworld San Francisco 2008-The MacBook Air Intro (Pt. 1) 3) 3) Elevator Pitch Winner – Katie Sunday 4) Eric Schmidt [after] – Zeitgeist Americas 2013

Web Requests and Server Frameworks [ Link to Slides ]

Xinyu, one of our Orbital advisors this year, also gave a fun-filled talk on the acronym and alphabet soup of learning development, and unpeeling the many layers of doing development.  Dive in and get dirty, is what we’d do — you’re never going to get the perfect set up before trying things out. 😀 😀

Min also gave a related lecture on similar topics here: .

Zhi An from NUS Hackers also covered the basic structure of the web in his session last year, available on YouTube:  Slides and everything else for the presentation are at

Git Basics [ Link to Slides ]

Advay of NUS Hackers came to give the final technical session on using Git.  He went over many of the core commands on git that you will need to be familiar with throughout your life as a developer.
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: (Slides are here:


Find yourself onstage for teams present in either the i3 Auditorium or in the Hangar for teams, as associated with particular advisors’ evaluation groups.  All teams need to have completed their mandatory, 1 minute pitch or recording if they are taking Orbital.
  • i3 Auditorium [ Video and Slides ]
  • The Hangar [ Video and Slides ]
  • Extras [ Video and Slides ]

Orbital workflow and Skylab [ Link to Skylab and Video ]

Min gave the final sessions late after Ignition to cover how to go through Skylab to file your Milestones and to evaluate other teams.  Please watch this or revise this video again when it comes close to the first Milestone timing.

Related videos from previous Orbitals

Min also 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 previous years also found self-studying from the Udacity web application course also very useful for general awareness of “How the web works”. Some of the sessions may be 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.

Other useful links (aka Lobang) by you, advisors, mentors and tutors:

  • Trello (, recommended by Juliana.  This service is pretty good for developing user stories and tracking feature requests, a la Agile.
  • General Assembly’s *free* workshop on “So you want to be a developer”, feat. mentor Laurence and Google folks, David Zhu.  Need to register, please do so soon!
  • Github Student Developer Pack (, recommended by Xinyu and Nicolas
  • Microsoft DreamSpark for NUS students.  Sign in to download Windows Products, inclusive of Server level products.  (
  • Amazon Web Services (AWS) Educate for Student (

Got others?  Do a mention of them on #general in Slack.

Good luck and see you on Slack and around in Mission Control!



Screen Shot 2016-05-06 at 12.59.25 AM
Lobby of Google’s SG office downtown at Asia Square.

The headliner (if there could be said to have one) at Orbital this year will be Google’s two sessions.  We wanted to give you a lowdown for what is going to happen in both.

9 May 15:30-16:30
Speaker: David Zhu, Charlotte Park and others
15:30-16:00 General Intro about Google NBU Office by David
16:00-16:30 Mini Panel by all
David Zhu transferred to Google Singapore from MTV and joined NBU (Next Billion Users) team as senior engineering manager this year. He joined Google’s Android Enterprise team as part of the Google acquisition of Divide, a company he co-founded and served as chief technology officer.  Divide provided a secure virtual workspace on employee’s personal phones and tablets along with a cloud based management platform to enable enterprises to fully embrace mobile first and join the BYOD revolution. Prior to Divide, David was the Director of Engineering at Smule, where he created the initial Sonic Network, which powered many of the company’s #1 hits on the Apple App Store including Ocarina, I Am T-Pain, and Magic Piano. Over the years, David has also held technical roles at companies such as Morgan Stanley, Jarna, and HP.  David enjoys mobile hacking and has worked on many major platforms including Android, iPhone, BlackBerry, Windows Mobile, PalmOS, and Symbian.

10 May 09:00-10:00

Speaker: Charlotte Park, Google Recruiters
9:00-9:30: How we hire – the myths behind of resume screening and interviews
9:30-10:00: Q & A by all of you

Charlotte Park is Google’s University Programs Specialist in the APAC area and has been with Google since 2013.  She’ll be spearheading the presentation and the Q and A (featuring all of you) on what G and the other tech giants are looking for in their incoming talent pools.

So with that, you all know what you need to do if you want to have a shot at getting hired — ask lots of great questions during the two sessions.

<plug> But of course, if MNCs are not your thing, we have plenty of mentors from current SoC, and recent alumni who can tell you all about the land of start-ups and other great places to employ your computing know-how (at the mentor match-up, late on 9 May). </plug>

481126091_b751463fd6_zAs you know, we’ll be having 300+ students in Orbital Liftoff, and dealing with all your peers may be a bit difficult logistically.

1) Just in case you weren’t sure, lunch is on your own.  And we’re all breaking for lunch at the same time.  As such you may find that that the trek back and forth from I3 to Biz / Arts canteen or other places nearby for the short, 1 hour lunch break is really too short.  For those who can pack a lunch to bring, this might be a better alternative (I know I will).

2) If all of us whip out your laptop and plug them in, the building will go dark (just kidding).  Bring freshly charged laptops to the venue and alternate with your partner so you both can just use one (You heard of pair programming, right?  Now try paired down programming…)  Fully charged power banks are good if you are using a mobile device too.

3) Wi-fi: same here.  Wi-fi is know to be spotty in COM1 and last year in I3 we didn’t have any problems with Wi-fi, but … if we can all be considerate and turn off the ‘net on devices that you don’t need it for, we’ll all have a better chance of trying some of the hands-on online.

4) There will likely be some materials circulated by presenters earlier to help you deal with installation of the necessary software; and in some intrepid cases, even lecture notes.  This is the first year we may get to doing these materials (Orbital is still very much a dynamic module with constant design changes), so please bear with us on this.  Do look out for these being circulated on Slack.

5) Many of the workshop presenters will be your fellow peer SoCians, who have volunteered to make Orbital great (some of them are also Orbitee students!)  Please acknowledge their help and give them a big up for tackling this mad task of teaching at Orbital.