Friday, August 29, 2014

Taking a selfie using iPhone and Ti SensorTag (using Bluetooth Low Energy)

I have just finished running an iOS course in beautiful Copenhagen. It was a week of great fun (and laughter!) and what's more impressive than using the app developed by the participants to take a group selfie! Andreas Kleist Svendsen (on the right of this photo), created this app.


The above photo was taken with an app connected to a Ti SensorTag through Bluetooth Low Energy. When a button on the SensorTag is pressed, the app automatically takes a picture with the front camera of the iPhone. How cool is that!


(This class is super smart. Throw them a challenge and the solution pops up in 10 minutes!)

Friday, August 22, 2014

Courses for Sep and Oct 2014

Sep 2014
Sun
Mon
Tue
Wed
Thu
Fri
Sat

1
2
3
4
5
6

7
8
S$699/pax
CONFIRMED
9-10
S$1,097/pax
CONFIRMED
11
12
S$699/pax

CONFIRMED
13

14
15-16
S$1,097/pax
      CONFIRMED
17
S$699/pax
CONFIRMED



18-19
S$1,495/pax
CONFIRMED
20

21
22-23
S$1,097/pax
CONFIRMED
24-25
S$1,097/pax

CONFIRMED
26
S$699/pax
CONFIRMED
27
28
29-30 Sep, 1 Oct
S$1,695/pax




Oct 2014
Sun
Mon
Tue
Wed
Thu
Fri
Sat

29-30 Sep, 1 Oct
S$1,695/pax

3
4

5
6
7-8
S$1,097/pax


11

12
13
14
15
16
17
18

19
20
21
22
23
24
25

26
27
28
29
30
31


Monday, August 18, 2014

Developing Android UI - 2 Oct 2014

Want to create professional looking Android UI? Come join our Advanced Android - Developing Android UIcourse on the 2 Oct 2014 and you will learn how to build nice-looking Android UI. Among the topics you will learn is how to build an image gallery viewer where you can download files from the Web onto your device and view it on your device. You will also learn how to access your DropBox account and download pictures onto your devices!

Venue
Bayview Hotel

Fee
S$699 (nett; no GST)
Includes a lunch and 2 tea-breaks

Time
9am to 5pm

Prerequisites
Basic knowledge of Android Programming
Course Outline and Application Form
Download here.

Tuesday, August 12, 2014

New Course - Advanced iOS - HealthKit Programming - 9 Oct 2014

I am pleased to announce a new course that I will be launching on 9 Oct 2014 (Thu)! HealthKit programming for iOS teaches developers how to use the HealthKit APIs in iOS 8 to access and store data from their health-related devices such as glucose monitor, fitness gadgets, blood pressure monitor, etc.

Check back for details soon!

Monday, August 11, 2014

Article on Pebble Programming on Code Magazine

My article on Pebble Programming is on the cover of the Oct/Nov issue of Code Magazine! Check it out here: http://www.codemag.com/Article/1409071

Swift Tip - Singleton Pattern

When you are developing iOS applications, you often need to share data between View Controllers. One way to do that would be to create singletons for sharing data. Here is the singleton pattern in Swift that you can use:

class MySingleton {
    //---typed property to return a shared instance of the current class---
    class var sharedInstance: MySingleton {
    struct Static {
        //---to contain the one and only instance of this class---
        static var instance: MySingleton!
        
        //---a token to ensure that the class is only instantiated once---
        static var token: dispatch_once_t = 0
        }
        
        //---executes a block object once and only once for the lifetime of an application---
        dispatch_once(&Static.token) {
            //---creates an instance of this class---
            Static.instance = MySingleton()
        }
        
        //---returns the instance of this class---
        return Static.instance
    }
    
    //---the properties in your class---
    var num:Int = 0
    var str:String = ""

}

In the above code snippet, MySingleton is a singleton, i.e. you can only create one and only one instance of this class. To make use of this singleton, use the following statements:

        var s1 = MySingleton.sharedInstance
        s1.num = 5
        s1.str = "Hello Singleton!"
        
        println(s1.num)   //---5---
        println(s1.str)   //---Hello Singleton!---
        
        var s2 = MySingleton.sharedInstance
        println(s2.num)   //---5---
        println(s2.str)   //---Hello Singleton!---

Have fun with Swift!

Tuesday, August 05, 2014

AND304 - Android Wear Programming


Come and learn how to write native apps for your Android Wear devices! In this course, you will not only learn how to write Android apps to send notifications to your Android Wear watch, but you will also learn how to write native apps that run on the watch itself. 

What's more, every participant will be issued an Android Wear device!

Venue
Bayview Hotel

Fee
S$1,495 (nett; no GST)
* Includes lunch and 2 tea-breaks
* Includes an Android Wear device

Date
18-19 Sep 2014 (Thu-Fri)

Time
9am to 5pm

Prerequisites
Basic knowledge of Android Programming

Course Outline and Application Form
Download here.

Tuesday, July 29, 2014

AND302 - Writing NFC (Near Field Communication) Android Apps

NFC is set of short-range wireless technologies that allow devices to communicate with each other, typically at a distance of 4cm or less.   Using NFC, you can enable two Android devices to exchange data. In this course, you will learn how to develop Android applications that support NFC. In addition, you will also learn how to write peer-to-peer applications using the Wi-Fi Direct feature in Android 4.0. 

Venue
Bayview Hotel

Fee
S$699 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date
12 Sep 2014 (Fri)

Time
9am to 5pm

Prerequisites
Basic knowledge of programming

Course Outline and Application Form
Download here.

Monday, July 28, 2014

WEB102 – Developing HTML5 Web Applications

HTML 5 is the new standard for the venerable HTML specification, a standard for displaying Web content. HTML has come a long way, going through a number of revisions - with the last version - 4.01, recommended by the W3C in 1999. The design goal of HTML 5 is to ensure that a
n application that you write can work on all browsers without the need to install additional plug-ins. It should be able to do everything from animation, to music and videos, local storage, offline applications, and more. HTML 5 is also cross platforms, meaning that your apps should be able to work whether it is run on a notebook, smartphone, tablet, or desktop computer.

In this 1-day course, you will be able to understand and use the new features of HTML5 through working with practical examples.

Venue
Bayview Hotel

Fee
S$699 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date
17 Sep 2014 (Wed)

Time
9am to 5pm

Prerequisites
Basic knowledge of programming

Course Outline and Application Form
Download here.

IOS301 – Programming iBeacon using Bluetooth Low Energy

In recent years, we have seen a proliferation of Bluetooth Low Energy (Bluetooth LE) devices. Bluetooth LE, as it name implies, uses low energy for transmitting data.  This is very useful for devices that require long-battery life, such as heart rate monitor, temperature sensors, etc.  In iOS, Bluetooth LE functionalities are encapsulated in the Core Bluetooth Framework. Using the Core Bluetooth Framework, you can now write Bluetooth-enabled iOS applications that are able to communicate with Bluetooth LE devices. 

n iOS 7, Apple has taken Bluetooth LE one step further with the introduction of iBeacon. iBeacons are physical devices that use Bluetooth LE to continuously transmit its location.  When an iBeacon-enabled iOS application detects the presence of an iBeacon, the application will be sent a notification. Using the data transmitted by the iBeacons, the application can calculate the distance the user is away from the iBeacon. This is very useful for building location-based services that targets the insides of a building (such as malls and hospitals), where traditional location-based techniques are not quite adequate in knowing which floor a user is at. 

Venue
Bayview Hotel

Fee
S$699 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date
1 Aug 2014 (Fri
26 Sep 2014 (Fri)

Time
9am to 5pm

Prerequisites
Basic knowledge of programming

Course Outline and Application Form
Download here.

WEB103 – 2-Day Web Development using PHP and MySQL

PHP is a server-side script language that is designed for dynamic web applications development. It is often used in conjunction with HTML and SQL to produce dynamic web pages. In this course, participants will learn about the PHP language, as well as how it integrates with HTML to create dynamic web applications. In addition, participants will also learn how to use PHP together with MySQL databases to create data-driven web sites. 

Learn how to create RESTful Services using PHP!

Venue
Bayview Hotel

Fee
S$1097 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date
15-16 Sep 2014 (Mon-Tue)

Time
9am to 5pm

Prerequisites
Basic knowledge of programming

Course Outline and Application Form
Download here.

Thursday, July 24, 2014

AND303 - Android Bluetooth Low Energy Programming

Come and join us in this course on Bluetooth Low Energy (BLE) programming on Android. You will learn how to connect to BLE devices so that you can retrieve information like temperature, gyroscope readings, bearings, etc. You will also learn how to scan for iBeacons, an Apple technology that provides location services.

Best of all, you will get a Ti SensorTag for this course, which you can bring home after the course.

Venue
Bayview Hotel

Fee
S$699 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date
11 Sep 2014 (Thu)

Time
9am to 5pm

Prerequisites
Basic knowledge of programming

Course Outline and Application Form
Download here.

Wednesday, July 23, 2014

IOS102 - Learn Swift Programming - For educators teaching the Swift Programming language


One of the most important changes in the upcoming iOS 8 is its support for the new Swift Programming language. With Swift, Apple aims to replace its venerable Objective-C language with a modern and type-safe language. If you are an iOS or Mac OS developer, learning Swift is no longer an option - it is the de-facto language for future iOS and Mac development.

Start learning Swift now! In this upcoming course, you will not only learn the Swift programming language - it will also come with a set of questions that are useful if you are an educator teaching the Swift language in one of the Institute of Higher Learnings (IHLs). 

Venue
Bayview Hotel

Fee
S$1,097 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date
18-19 Aug 2014 (Mon-Tue)
22-23 Sep 2014 (Mon-Tue)

Time
9am to 5pm

Prerequisites
Basic knowledge of programming

Course Outline and Application Form
Download here.

Monday, July 14, 2014

Raspberry Pi Model B+

Raspberry Pi has just announced their new improved model of Raspberry Pi - Raspberry Pi Model B+.

The Model B+ uses the same BCM2835 application processor as the Model B. It runs the same software, and still has 512MB RAM; 

Here are some of the key improvements:
More GPIO. The GPIO header has grown to 40 pins, while retaining the same pinout for the first 26 pins as the Model B.
More USB. It now has 4 USB 2.0 ports, compared to 2 on the Model B, and better hotplug and overcurrent behaviour.
Micro SD. The old friction-fit SD card socket has been replaced with a much nicer push-push micro SD version.
Lower power consumption. By replacing linear regulators with switching ones the  power consumption has been reduced by between 0.5W and 1W.
Better audio. The audio circuit incorporates a dedicated low-noise power supply.

Neater form factor. They have aligned the USB connectors with the board edge, moved composite video onto the 3.5mm jack, and added four squarely-placed mounting holes.

For the Raspberry Pi course on the 8 Sep 2014, I will be using the new Raspberry Pi Model B+. Details as follows:

Venue
Bayview Hotel

Fee
S$699 (nett; no GST)
* Includes lunch and 2 tea-breaks

Date

8 Sep 2014 (Mon)

Time
9am to 5pm

Course Outline and Application Form
Download here.