Monday, November 30, 2015

Not this again

iPAD nitro dev day 

Today's target is an iPad original which has been in a deep sleep for a very long time and took what seemed 6 hours of trickle charge yesterday just to get screen to display the zero power error.

  • Purchase new iPad Cable NZ$30 
  • Charge iPad back from a brick 4h 
  • Charge iPad to actually boot 6h 
  • Reinstall Xcode 6.1 
  • Renew Apple Developer Membership NZ$149 
  • Undo Xcode 7 damage (see image above)
  • Resolving signing issues - 5 seconds (TFCFT)
  • Minimum target set at 5.1, blank application up and running
  • Apple receipt arrives, APAC region FTW.
  • First build #include not found; oh, this code has has not been here before...

Building iOS 

It sure is nice to be back on an iPAD. The 5.1 interface feels rock solid and shows up this long suffering Android user what a sticky mess Lollypop really is.

Android inherits a lot of rubbish directly from Linus, useless audio latencies and the need to "borrow" the user interface platform from elsewhere. Cue the stolen handbag warning slipping on massive Trolltech turd....

Oh that was nasty, not sure where that came from

New __IOS__ fixes in the build time is about 6 minutes and we have no known issues.

Linking iOS

When the going gets intrepid...

Just to make sure things were good on the tool front, we ensure monkey-x mojo2 bouncing aliens bounced on the iPAD original, and they did.

And just when you thought things were focussed we get diverted to try and win free swag on the inter-webs.

My Music Tech Design Entry

What I will build if I am selected(the more detail, the better!):

The Nitro Practise Session helps students practise and progress in musical skill.

It is intended to be used as teacher aide and self study gadget to give feedback on student practise sessions and encourage self improvement.

The interface is intended to use tone recognition as it's primary control interface and a fun R2-UknowWho style method of syntax to convey it's simple vocabulary.

Tools such as auto muting metronome and musical mime game will add small amount of scope when authoritarian level is set to relaxed.

It is intended that users of the Practise Session will improve time management when balancing the rhythms of music and daily life.

  • Help track weekly practise goals with time management function
  • Musical interface - play the notes A B C to interact with Practise Session interface
  • Multi Instrument - scale and arpeggio rehearsal modes are instrument agnostic
  • Expansion - provide SDK to allow application ecosystem and drive music community

Hard to pass up an electronics competition with this awesome axe as a prize:

Element14 are like Farnell but as is demonstrated here - rocking with star power.

Nitro iOS Linking Part 2

I need to keep reminding myself of the design pattern - the plan, which I have decided on.

Fat client, thin server, virtual cartridge.

The build of the client engine is done in volatile storage using cmake automation.

In the interests of cmake sanity we are trying to keep the bulk of build of the static 

So with that in mind we extend the automation to copy the simulator and universal release builds into our client projects and climb back into the cockpit.


A summary of this afternoons efforts will be posted in due course.


After much deliberation it has been decided to remove SDL from Android and iOS clients. The reason is a simple not fit for purpose.

Skill sharpening can be a good metric when designing components of a stack. It is lucky for me that running nitro as close to the metal as possible and the value I accord familiarity with native Android and Xcode development skills means a win win. A third win can be considered with tidy up of platform abstraction getting a nice prod.