• Why I’m not getting your work done

    Date: 2015.12.17 | Category: About me

    Over the past few weeks I have been busy shipping 3000+ NFC Rings. I will continue to be busy until 1st of January.

    Apologies if this means I have ignored you or not been able to communicate effectively / complete a task.

    FWIW it’s rare things like this happen so don’t worry.

    I should be back to work again as normal in January.

  • 2016 NFC Ring is on Kickstarter

    Date: 2015.10.02 | Category: nfc, nfc ring

    Herp Derp new ring

    2+ years of my life is available for you to back (or not). Check it out on Kickstarter..

    During this time I got married, ate a lot of curry, um, no other benchmarks really..

    On a personal note.. If we raise anything < £200k I still wont see a penny, crazy huh? Don't launch new products, they drain your soul and capital. My entire drain into this product now is about ~£144k.. That's a lot of cash... I have plans to turn it around though! :)

    The main reason of doing Kickstarter is to validate market demand. If people want it, we will make it and that proves to myself and investors it's a worthwhile venture. The more we make, the more that gets invested, and the cycle of madness continues...

    Hype Cycle

    I’d like it if we could raise more than our initial launch but I doubt that because of the gartner hype cycle.. I’d say we’re nearer to the trough than the peak mostly because V2s are never as exciting as V1s.. We’re definitely nearing the Slope as we’re seeing innovations land elsewhere around our tech that really do improve peoples lives..

    Stay frosty people and thanks for backing :)

  • Switching Profiles in Kodi using an NFC Ring

    Date: 2015.09.14 | Category: nfc, nfc ring, nodejs

    Replace profiles, IP and ring ID with your own values.

    Run in a Screen

    node whatever.js
    var fs = require('fs');
    var request = require("request");
    var inp = fs.createReadStream("/dev/ttyACM0");
    inp.setEncoding('utf8');
    var inptext = "";
    var XBMCEventClient = require('xbmc-event-client').XBMCEventClient;
    var xbmc = new XBMCEventClient('node.js app');
    var blob = { "id": 1, "jsonrpc": "2.0", "method": "Profiles.LoadProfile", "params": {"profile":"lydia"}};
    
    var options = {
      method: 'POST',
      uri: 'http://user:pass@127.0.0.1:8080/jsonrpc',
      json: blob
    }
    
    xbmc.connect(function(errors, bytes) {
      inp.on('data', function (data) {
        if (errors.length){
          throw errors[0];
        }
    
        if(data === "."){
          return; // do nothing
        }
    
        if(data.indexOf("InsertRingUIDHere") !== -1){
          console.log(options.json.params);
          options.json.params.profile = "john";
        }else{
          options.json.params.profile = "lydia";
        }
    
        request(options, function (error, response, body) {
          console.log("changed to", options.json.params.profile);
          if (!error && response.statusCode == 200) {
            console.log(body.id) // Print the shortened url.
          }
        });
    
      });
    });
    

    Note that I just threw this together as a proof of concept, it needs a bunch of polish! :)

  • Kodi Play/Pause with an NFC Ring and USB NFC Device

    Date: 2015.09.14 | Category: nfc, nfc ring

    In this example I use a keyduino but you can use any Arduino device that has the PN532 or NFC module loaded on. The Arduino has to just push out the ID of the Ring (or tag) via Serial print. This arrives at ttyACM0 and we then parse it and do some xbmc events..

    var fs = require('fs');
    var inp = fs.createReadStream("/dev/ttyACM0");
    inp.setEncoding('utf8');
    var inptext = "";
    var XBMCEventClient = require('xbmc-event-client').XBMCEventClient;
    var xbmc = new XBMCEventClient('node.js app');
    
    xbmc.connect(function(errors, bytes) {
      inp.on('data', function (data) {
        console.log(data);
        // inptext += data;
    
        if (errors.length){
          throw errors[0];
        }
    
        if(data.indexOf("yourringUIDhere") !== -1){
          xbmc.notification('Resuming playback', 'Resuming playback');
          xbmc.keyPress('space');
        };
    
      });
    });
    
  • LaTeX in Etherpad

    Date: 2015.04.29 | Category: etherpad


    Inserting and collaborating on formulas in Etherpad is really easy by simply installing the ep_mathjax plugin.

    What are these things?

    Etherpad is an open-source collaborative editor.
    LaTeX is a high-quality typesetting system

    Getting started with LaTeX and Etherpad

    To install the plugin browse to http://youretherpadhere/admin/plugins and install the ep_mathjax plugin

    Once the plugin is installed click the ∏ button and you can begin writing LaTeX Markup. Submitting the form will insert the LaTeX representation of your text into the pad.