Fork me on GitHub

What is it?

Conference for the geeks.

No startup talks. No how to get rich talks. This is purely a tech conference.

Hashtag: #geekcampsg | Date: 18th October 2014 | Time: 9:30am to 6pm (Afterparty afterwards) | Location: NUS School of Computing

Talk Submissions have closed. Voting will close on Sept 15th

Shirt sales can be found over at Slingprint

Topics up for voting!

Topic Speaker
The Last Great Hardware Show
For the last couple of years I have given hardware talks at and it has been a blast.

Each time, some things worked, others either fizzled out or failed spectacularly but this year I am happy to see a LOT of hardware talks on subjects like enabling the IOT with a wireless Arduino like board called the SPARK, algorithms for Quadcopters, Robots and using your Arduino and Raspberry Pi to brew Beer.* And you can bet that these guys will have demos that work. If you haven’t supported them please do now.

So this year, before I bow out to the young ones, I propose to do a talk that covers some of the basics - explains some stuff that you should have learned in an electronics course and really need to understand if you are going to play with hardware (with actual working demonstrations) using an Arduino as well as attempting a few really stupid things that will probably fail on the Raspberry Pi such as playing music and multimedia.

Then I will call it quits for a while to leave the floor for the new guys who are pretty damned awesome.

* Is it a coincidence that the talk listed straight after that is about Elixir?

Dave Appleton
Building a state of the art AI to play Magic: The Gathering
Magic: The Gathering is the first and most successful trading card game, with more than 14000 cards in existence. Every card has the potential to dramatically alter the game rules. This makes creating a strong AI player a challenging task.

Magarena is an open source implementation of M:TG rules for playing against a computer opponent. The goal of this project is to create a strong AI player. In this talk, I'll describe the technical challenges of creating a competent AI player and how we overcame them.

Melvin Zhang
Fun with SDR!
Radio telecommunications dominate a great part of our technological existence. From FM radio to GPS navigation to cellular and high-speed internet, radios within these devices connect us to one another.

Recent advancements in computing power and RF semiconductor technologies have brought about the existence of Software-Defined Radios (SDR). Instead of the traditional approach of using black magic (tm) to mod/demodulate and code/decode data, SDRs digitise the RF signal before the RF front end, saving on a lot of RF sorcery and allowing greater flexibility in re-purposing and upgrades.

In this talk I will, as a radio amateur, walk everyone through the use of cheap SDR peripherals in various situations, demonstrating its flexibility.

Depending on time constraints, the following will be demonstrated:
1. FM Reception
2. FM amateur radio reception/transmission
3. Homebrew POCSAG pager
4. POCSAG abuse
5. Bluetooth LE spoofing
6. Wi-Fi beaconing

The talk will conclude by considering the security implications of prevalent SDR use in both personal and infrastructural situations.

Chia Lih Wei
Dengue Visualization by SG Outbreak
Singapore is in the midst of a dengue epidemic, with weekly infections surging to a new record. The number of dengue cases has already crossed the 12,000 mark. In 2013, there were 22,000 dengue cases and 7 died. In fact, there is a high-risk dengue cluster at UTown (10 cases in early Aug)! So I took on the challenge of visualizing the severity of this year's dengue outbreak. I would like to give a talk on how the visualization was developed on Google App Engine and Google Maps API.

Xie Rufeng
ES6 - The future of JavaScript
Do you like JavaScript?

I think most of you agree with that JavaScript is not perfect and not sophisticated language. But it is changing so fast. ES6(ECMAScript 6) aka Harmony is the next specification of JavaScript and that means it is the future of this language.

In this talk, I will present you the features of the next JavaScript and how to use them today.

Ryo Chikazawa
Engineering Applications on Azure
Planning to adopt Azure as a cloud platform for your applications?

Explore some of the engineering & deployment aspects of Azure with a case study in this session. This session will delve into design practices you should follow to make the best use of the platform.

Punit Ganshani
DevOps using TFS and Azure
Have you used multiple tools for Application Lifecycle Management at your organization? Different tools for Project Managers to track project status, for developers to check-in code, for testers to manage test cases, for product release management?

Explore the facets of adopting single tool for all your stakeholders for different application stacks such as .NET, Java, etc. to achieve DevOps. Get rid of excel sheet tracking and multiple emails and have integrated environment to increase your team's efficiency.

Learn how you can use TFS to manage Product Backlogs, Version Control, Build Automation and Continuous Deployment to Azure

Punit Ganshani
Game of Drones: Algorithms and hardware designs for Quadcopters
Algorithms and hardware designs for DIY Quadcopters.

The github repo of this project can be found @

Shipeng Xu
Making hardware come Alive!
Have you always daydream about firing up your coffee-maker at a push of the button in the comfort of your bed?

Or wished that devices at home can become "smarter" and interact with them via the Internet?

Meet Spark Core! This nifty little development platform empowers you to build internet-connected hardware. The Spark team has done all the heavy-lifting for us and all we need to do is to turn our ideas into reality.

You will never have to meddle with servers, APIs, cloud infrastructure, SSL encrypted communication, blah blah blah...

Allow me to share with you how a Spark Core can transform the way you think about electronics!

Imagine creating hardware that can be updated wirelessly at the convenience of your laptop. Or changing the way you interact with a device that has now come online and readily accessible anywhere in the world?

Learn how Spark can bring you to the next level of tinkering!

Kenneth Lim
All about the Lollipop
Google I/O 2014's biggest announcement : Android L!
In my talk, you will get to know more about the Android L's amazing features and more!

Arun Raja
Interactive Git History Visualization in JS
Lessons learnt about git, nodejs, webgl while working on a personal project for visualizing git history.

Sneak preview of the tool can be found at and

Joshua Koo
Real-Time Education without Websockets
Learn about we built a real-time question-and-answer system for SquareCrumbs, a platform that facilitates teachers bringing their students on learning journeys outside of the classroom.

Built on Flask and AngularJS, relying on Server-Sent Events and deployed on Heroku, SquareCrumbs provides teachers and students the ability to communicate in real-time while in the field, while neatly sidestepping the issues with Websockets, all in a neat, HTML5 web app.

Ruiwen Chua
A Better Flask
(No buzzwords in this talk. No "big data", no "agile", no "lean", I'm afraid.)

This talk gets right down to the basics about setting up your Flask application in a way that promotes modular code, easy error handling and returns, a clean and clear routing setup and more

The basic Flask documentation describes very briefly how to get an app up and going, but as your app grows in scope, things begin to get unwieldy. We've developed multiple products over the course of the past 2 years (BillPin/, and have found a code organisation style that has helped us quickly add new features while not letting our codebase balloon out of hand.

Come listen to us share what we've learnt over the past 2 years, how we manage our backend architecture and which practices have worked for us at

Ruiwen Chua
Supporting the Geek in Kids
Most of us had a huge interest in technology as a kids. However we were always told that Technology R&D was some thing that only grown ups do.

At Inventrom we set out to change that through our RoboWorld robotics workshops. Till date we have trained more then 150 school students in India on Robotics and Embedded Design who have turned out to be exceptional and have shown extraordinary knack for technology R&D. Here are couple of links which tell our success stories:

1) Awesome Foursome:

2) Robotics Blog Post maintained by one of our student Mr. Raunak Hede:

In fact our students have won competitions against graduate engineers who have been twice their age and twice their size. These students work on various R&D projects and are developing technology to solve problems.

We would like to share our story of how we created this whole bunch of young engineers and how you too can help the young geeks in your community to achieve their best potential.

Pranav Pai Vernekar
What's new in iOS 8
Apple is opening up!
I'll be covering the new features introduced in iOS 8, including Extensions, Swift - the new programming language and CloudKit.

Mugunth Kumar
Tailored Swift
A first look at Apple's new programming language and how it is tailored for new and existing cocoa/cocoa touch programmers.

I will be covering its power features, swift vs objective-c, the new Xcode 6 and more.

Bryan Lim
Distributed Data Structures
In this talk, i want to share with you about distributed data structures with some implementations in Akka.

Raymond Tay
How I built an MVP in just 4 hours using Meteor
Meteor is a super awesome open-source "platform" for building top-quality web apps in a fraction of the time, whether you're an expert developer or just getting started.

It is a mobile optimised website where users can register with their twitter or facebook or email, sign in and start voting for different brands up or down.

I go through how I gathered the brand data, transformed it to populate to MongoDB, project setup, meteor packages used, how to deploy and end with a small intro to Meteor so that you can build your first app and deploy right away on the spot!

I will also be sharing a few tips on how to build a production grade Meteor app. Yes, Meteor is also fit for production apps.

Ahmed Muzammil Jamal
Solving large scale optimization problems using LNS, Python & visualization tools
Imagine you are going on a holiday with a single Knapsack and wants to derive the optimal packing list from 50 items…that gives you 2^50 = 1 Quadrillion possible combinations (obviously assuming you can’t fit all 50 items into the Knapsack =). If you attempt to find the optimum combination via brute force at the speed of 1 calculation / nanosecond, it will take about a full 13 days before you have the list to start packing your bag. Not exactly a good way to start your holiday. Now imagine packing 1 million Knapsacks for delivery…

Optimization is among the toughest computer/data science problems around and is relevant across almost all industries (logistic companies, airlines, food, healthcare etc). Starting from the simple Knapsack problem, we will move on to large, complex problems and attempt to solve them with Large Neighborhood Search (aka LNS, a hybrid model of local search + constraint programming / mixed integer programming) implemented in Python & visualized with open source tools like D3.js (or d3py).

The focus is on the code, stats and open source tools that help us find repeatable and exploitable patterns within large data sets and how we can display the findings to guide decision making. Optimizing the execution of these codes via well designed distributed systems with parallelization
etc might be touched on lightly but they can well be the focus of a separate talk on its own.

Why Python: I am a R guy. R does not scale very well. Python is just better with bigger datasets.

Thia Kai Xin
What's Analog About Big Data...Big Analog Data??
For every second that the Large Hadron Collider at CERN runs an experiment, the instrument can generate 40 terabytes of data. For every 30 minutes that a Boeing jet engine runs, the system creates 10 terabytes of operations information. For a single journey across the Atlantic Ocean, a four-engine jumbo jet can create 640 terabytes of data. Multiply that by the more than 25,000 flights flown each day, and you get an understanding of the enormous amount of data that exists. Every day, massive amount of data are being generated rapidly over a short period of time and the accumulative build up of raw data over time is tremendous. Organizations worldwide face similar problems as they attempt to extract value and intelligence out from its raw form, analyze information and share results. This has been identified as a Big Analog Data problem. Research has shown that companies who use data intelligence to drive decisions have a 5 to 6% increase in effectiveness and productivity over those who do not. Hence, it has become extremely crucial for organizations to learn how to process and manage the data for analytics and results. This talk will give further insight into Big Analog Data opportunities, challenges and solutions.

Aashish Mehta
AB testing framework (in Go) for more than just color/copy changes
We built an AB testing framework at Viki, which we call Turing. The aim of this framework is to AB test the hell out of all our products. But what started as an AB testing tool became much more. Currently it is used as a roll out framework and a tool to be able to serve different variations of our products to different types of users based on location, user properties etc.

We would like to share how we built this platform, and how you can build it too for your own company/application. We chose Go to build this for the response speed and to learn the language, so there will be some Go goodness in the talk too. The project also uses Ruby on Rails for the admin UI component and all deployment is done through Docker.

So come familiarise yourself with Turing, AB testing, Go and Docker!

Ishan Agrawal
Quiver.js - A New Server-Side Component Architecture
Quiver.js is a new kind of programming paradigm for writing modular server-side applications. Instead of writing monolithic applications using OOP, Quiver allow code to be organized as functions together with JSON-like component definitions.

One of the basic building blocks in Quiver is stream handler - a function that accepts a stream-like object and asynchronously returns a result stream-like object. Together there are six layers of such abstractions that makes Quiver stand out as a modular and robust architecture.

In this talk I will present a short demo to give a quick overview of the concepts behind Quiver.

Soares Chen
The internet of things (that make beer)
Why should you be satisfied with a fully working nano brewery run by an USB controlled Arduino if there is the internet of things to explore?

Using our sometimes hilariously incompetent attempts at trying to control beer making hardware via Wifi and ultimately the web, I will walk you through some of the options out there for the internet of things.

You will meet an unfortunate RasPi who talked to the Arduino and hosted a web app before he got cooked, a struggling Arduino Yun trying hard to send and receive signals to control the brewery while stuck under severe ground shields and finally the sleek Spark core, the new kid on the block that takes you to the cloud in now time, but insists that the cloud it is.

Markus Baden
Ohai, Elixir!
This talk is about Elixir – a functional, meta-programming aware language built on top of the Erlang VM.

When I first heard about Elixir, I dismissed it as yet-another-programming language. Then I notice something interesting. Articles, talks, and books starting springing up all over the place – all before the language has hit 1.0.

Something was going on, and I decided to investigate. Many concepts were foreign, and I was learning so much along the way. More importantly, I was experiencing joy, and felt what it is like to be a beginner again.

In this talk, I introduce some of Elixir's more interesting language features. Then I will demonstrate some of the features that Erlang gives Elixir for free, such as the OTP framework, that let's you build fault tolerant and distributed systems.

So come along and join me to experience programming joy.

Benjamin Tan Wei Hao
Bluetooth Low Energy on iOS
I'll be talking about how to talk to nearby bluetooth 4.0 or bluetooth low energy devices from a iOS Device.

The talk also covers creating your own peripheral using a iDevice.

Additionally, if iOS 8 (gasp) goes public before the talk, I'll talk about changes made to the bluetooth stack in iOS 8.

Mugunth Kumar
Money, Sex and Evolution
We are all born with a sense of wonder and amazement at the world around us. Many of us just learn to turn it off as we grow older and jaded. I believe this is partly because we don’t understand what goes on in the world around us well enough, and thus we don’t care either. This talk is an attempt to bring back that wonder and sense of discovery of the world around us through the tools of our trade -- programming and analyzing data.

It’s hard to explore the whole wide world with just bits and bytes. So if we can’t explore the world we live in, we’ll create our own worlds and explore those — in other words, we’ll use simulations. Simulations are an excellent way of exploring things that we cannot control by simply focusing on those things we can. This enables us to simplify and eventually understand the real world better.

In this talk, I'll discuss how Ruby can be used to build a simulated world, bring that to life and explore various facets of that simulated world. I will show how Ruby is not just for developing web applications, it's also an exciting tool for exploration.

Chang Sau Sheong
Why HTML5 doesn't work for Mobile Apps
Why native developers like me don't like HTML5 for mobile app development? Why apps like LinkedIn or Facebook migrated from HTML5 to native. I am a native iOS developer who came from a web-development background. Have tried 10 different cross-platform tools. Understood and faced the pain of each of those.

So rather than just talks I will try to compare each of those tools with the parameters that makes native apps more awesome. I will focus more on issues related to responsiveness, user experience, networking, caching, storage, development time, execution time, debugging, learning curve. Finally I will give few tips that might help you improve the performance of your HTML5 apps if you still want to choose it over native apps.

Highlights: Drilling down the performance metrics in details

Subhransu Behera (Subh)
Trust me, I'm an engineer: The buzzwords & how to ace an interview (seriously)
I'll share with you my journey from an NUS Arts student (double major in Political Science & History) to web designer, to programmer and eventually to a kick-ass Software Engineer. The trials, the tribulations, the scandals and mostly hard work (and the smarts - or lack thereof) that got me here.

Spoiler: Okay, it took me 10 years... but i got it eventually.

Michael Cheng
So what about Ruby on Rails?... from a PHP Guy
Having been a long time PHP guy, i have now joined a company that mainly runs Ruby on Rails. I'd like to share with you my experience, culture shock and why i'm a convert.

Spoiler: PHP's still my first love. :D

Michael Cheng

The Team

Subscribe to our mailing list


Interested to work with us?

Drop us an email here.

Lunch Sponsor


Venue Sponsor


Supporting Companies


Media Partners


Community Partners

HackerspaceSG SG PHP Meetup Group NUSHackers Singapore Ruby Brigade SG Geek Girls DevOps Singapore IOS Dev Scout PUGS Front End Developer We Build SG Agile SG