Dipping My Toe Into Federated Social Media
Craige McW:irter

I've started dipping my toe into federated social media. During LCA2016 I stood up an instance of GNUSocial. You can find it here social.mcwhirter.io and if you're already in the federated social media universe, you can reach me as craige@social.mcwhirter.io.


Machine Ethics and Emerging Technologies - Paul Fenwick - LCA2016
Posted by Craige McWhirter on

Paul Fenwick posed a journey of questioning what the future might look in 10,000 years time and is what we're doing today good for humanity.

  • More and more white collar jobs are being automated.
  • What are all these masses going to do with their leisure time?
  • More leisure time means more innovation.
  • Covered the benefits of drones.
  • Covered the dark side of drone use.
  • LARs (Lethal Autonomous Robots) are a significant issue.
    • Enables anonymous warfare
    • Long term target monitoring and execution
  • Can be used for long term environmental monitoring.

Another excellent, informative and entertaining talk by Paul.

Paul Fenwick

The Machine - Keith Packard - LCA2016
Posted by Craige McWhirter on

Keith Packard

  • Switching from Processor centric computing to memory driven computing
  • Described how the memory fabric works.
  • Will be able to connect any computing node to the shared memory.
  • Illustrated node assembly.
  • Next prototype will interconnect 320 terrabytes of memory accessible storage.
  • Planning to build larger machines.
  • Putting in facilities to protect the hardware from a compromised operating system.
  • Showed how fabric attached memory connects.
  • Linux is being ported to the machine.
    • Linux with HPE changes.
    • All work is being open sourced.
  • Creating a new file system allocate mempry in 8G units.
    • Library File System (LFS)
  • Currently focussing on Librarian, machine-wide shared memory allocator.
  • Trying to provide a two level allocation scheme
  • No sparse files.
  • Locking is not global.
  • Farbic attached memory is not cache coherent
  • Read errors are signalled synchronously.
  • Write errors are asynchronous and require a barrier.
  • Went through all the areas they're working on Free Software.

LCA by the Bay

LCA2016 Thursday Keynote - Jono Bacon
Posted by Craige McWhirter on

Jono Bacon spoke about how open communities are changing the world and how they may be improved in the future.

Community 1.0

  • Early Free Software communities were built from observing other groups around them and figuring things out as they went along.
  • Very high technical barrier of entry

Community 2.0

The Renaissance

  • Allowed broader participation, with Wikipedia as an example.
  • Knowledge had been built to allow people to start in the community from a common point
  • Self organising groups
  • Enabled greater diversity
  • Companies began engaging with communities.

What Does 3.0 Look Like?

  • How do we build effective reproducible communities?
    • Thoughtful and productive communities advance the human race,
  • Sharing the knowledge on how to build effective communities is going to be
  • Covered ubiquitous computing growth, 3D printing, Arduino etc
  • Crowd funding as one method of empowering consumers.
  • Not just consumption but empowering people to have better lives, key.
  • We need to empower diversity in all it's forms.
  • Openness is the greatest enabler.
  • The principles of openness are flowing through all forms of technology, life and work.
  • In a world worried about AI, we the people should be ensuring that it's open and taking control.

"Open Source is where society innovates" - Jono Bacon

  • We need to crack predictable collaboration. Making great great community leadership available everyone.
  • We can do better, we've only scratch the surface with our success thus far.

How do we do this?

  • For self respect we need to contribute. To contribute we need access.
  • Jono realised that his role as community manager was to help other contributors be as effective as possible with their time when they're contributing.
  • Discussed the difference between system 1 and system 2 thinking.
  • However behavioural economics is hard to apply in practice.
  • The principles can be pulled out and used though.
  • Discussed SCARF model of social threats and rewards.
  • From this model we can figure out how to put this into practice.
    • We accomplish goals indirectly. Gave Boeing as an example.
    • We influence behaviour with small actions. Recommended the book Lunch.
  • Build comprehensive rewarding experiences.
  • Need to make building a successfully structured community easy.
  • Described experiences from different stakeholder perspectives.
community_3.0 = {
    system 1 and 2 thinking +
    behavioural patterns +
    workflow +
    experiences +
    pacakaged guidance

The most important feeling we can create is a sense of belonging.

Jono Bacon

Introduction to monitoring with Prometheus - Jamie Wilkinson - LCA2016
Posted by Craige McWhirter on

Jamie Wilkinson gave on overview of the Prometheus monitoring tool, based on the Borgmon white paper released by Google.

  • Monitoring complexity was becoming expensive.
  • Borgmon inverted the monitoring process
    • Was heavily relied upon at Google.
  • Prometheus, Bosun, Riemann are stream based monitoring like Borgman.
  • Prometheus scrapes /varz
  • Sends alerts as key value pairs
  • Using shards for scaling.
  • Defines targets in a YAML file.
  • Data storage is in a global database in memory
  • Use "higher level abstractions to lower cost of maintenance
  • Use metrics, not checks
  • Design alerts based on service objectives.

Another brilliant monitoring talk from Jamie.


The future belongs to unikernels - Andrew Stuart - LCA2016
Posted by Craige McWhirter on

Andrew Stuart gave an overview of the current state of unikernels:


  • Unikernel zoo is increasing.
    • MirageOS is the most mature at present and requires code written in OCaml.
    • HalVM requires you code to be written in Haskell
    • Ling requires your code to be written in Erlang.
    • runtime.js some thing as the above but in JavaScript.
    • OSv is not language specific and very minimalist.
    • rump kernels is essentially a very stripped down version of NetBSD and will run some other unikernels.
  • Threading, not forking.
  • Might be a Linux based unikernel coming.

Unikernels and Security

  • Suggests machines with user sign-in capabilities will be come less come due to security risks.
  • Unikernels are not invulnerable.
  • MirageOS have a bitcoin pinata.

LCA by the Bay

Sentrifarm - open hardware telemetry system for Australian farming conditions - Andrew McDonnell - LCA2016
Posted by Craige McWhirter on

Andrew McDonnell created Sentrifarm in 2015.


  • Low power
  • Distributed
  • Using radio for communication
  • Local storage
  • Cheap


  • They entered Hackaday - actual entry page.
    • Wanted to learn new skills
    • Have fun
    • Experiment
    • Perhaps produce something useful
  • There were lots of discarded prototypes
  • So many cheap devices facilitating experimentation.
  • Radio links were not quite as open as he would have liked.
  • Used Lora based ISM-band radio
  • Learned how much easier it is to have PCBs fabricated these days.
  • Fabrication lead times can be about 6 months.

Open Hardware Components

  • 8 devices Carambola2 - Linux OpenWRT board


  • platform.io
  • Replaces need for Arduino IDE
  • Open Source
  • IDE agnostic

MQTT for communication

  • Specifically MQTT-SN for low bandwidth
  • Packages
    • mosquitto
    • mqtt_sn_tools
    • arduino-mqtt-sn
  • Gateway runs OpenWRT

Andrew provided an overview of how the gateway processing model worked.


  • Ubuntu 14.04
  • Docker 1.8.3
  • Carbon + Whisper + Graphite
  • Grafana
  • Custom Python scripts
  • Millions of lines of code and Andrew only had to write 7.

  • 3D printed some components.

    • Made a custom holder for the PCB
  • Used OpenSCAD to design the component.
  • Made the antenna himself with plans off the Internet.
    • Got range up to 9km.

Andrew's project is an ingenious solution to a serious problem. I need one of these for myself!

LCA by the Bay

Usable formal methods - are we there yet? - Stefan Götz - LCa2016
Posted by Craige McWhirter on

Stefan Götz

  • Software reliability is often defined by industry standards.
  • Software analysis can be divided into three parts:
    • Static analysis
      • Examines code, no compilation or execution.
      • Share input with compilers
      • Example static analisers:
        • BLAST, Cppcheck, Eclipse, Frama-C
        • LLVM/CLang
        • Sparse
        • Splint - used by eChronos
    • Proof systems
    • Model checking


  • Performs patter matching
  • Understands c-types
  • Language model and rule matching
  • Control and data flow analysis
  • Similar to compiler setup
  • Run against entire application code.
  • Improved auto generated code and readability.
  • Found incorrect character conversion.
  • Discovered signal sets unintentionally returning a boolean,
  • Some false positives with unused code.
  • Some macros were not picked up.
  • Some variable initialisation not picked up.
  • Works very well over all.

Felt the time invested in using splint was well spent and brings a lot of piece of mind to the project.

Model Checking

  • Uses CBMC
  • Requires a little plumbing code and training.
  • Made them reconsider and improve execution timing.
  • Scalability requires improvements.
  • Being integrated with eChronos.

Are we there yet?

  • Static analysis Open Source tools need improving and an established best practices.
  • Model checking is not yet out of the box

LCA by the Bay

CloudABI - Ed Schouten - LCa2016
Posted by Craige McWhirter on

Ed Schouten provided a detailed tour of Capsicum and CloudABI.

  • AppArmor is an after thought
  • Puts the burden back on users
  • Not linked to security policies.
  • Capsicum is a FreeBSD method that sandboxes software
  • Works well with small applications but doesn't scale.
  • Questions why UNIX can't run third party binaries safely.

What is CloudABI?

  • CloudABI is a POSIX-like runtime environment based on Capsicum.
  • Capability based security with less foot shooting.
  • Global namespaces are entirely absent
    • By default can only perform actions with no global impact.
  • Symbiosis, not assimilation as it can run side by side with traditional applications.
  • File descriptors are used to provide additional rights.
  • Provided an example of using CloudABI to provide a secure web service.
  • You can use wrappers to provide features missing from CloudABI.
  • Only has 58 system calls. Incredibly compact.
  • Working towards having support for more POSIX operating systems.
  • Allows reuse of binaries without compilation.


  • Provided an example of a simple CloudABI ls program.
  • How to execute it via the shell
  • Feels there's scalability problems with CloudABI.
  • Wrote cloudabi-run to make it feel less clunky to run.
  • Replace CLI arguments with a YAML file.
  • Easy to configure.
  • Impossible to invoke programs with the wrong file
  • Reduces start-up complexity.
  • Gave an example of CloudABI as the basis of a cluster management suite.
  • Provides a 100% accurate dependency graph.
  • Gave an example of "CloudABI as a Service".

LCA by the Bay

LCA2016 Wednesday Keynote - Catarina Mota
Posted by Craige McWhirter on

Catarina Mota spoke about how open source software changed her life.

  • Discussed the spilling over of online communities in the real world, with 3D printing as an example.
  • In particular covered the RepRap printer and community.
  • RepRap printer provided the ability to short circuit traditional manufacturing.

"think of RepRap as a China on your desktop" - Chris de Bona

  • Open Source (GNU GPL) is core the RepRap mission and it's success.
  • Catarina describe sher house as an Open Source house.
  • Followed Open Source principles to design and build her home.
  • The goal was more affordable and sustainable housing.

Why Does it Matter?

  • Machines are not neutral.
  • Talked about obsolescence and e-waste.
  • Phones are big contributor,
  • Phonebloks is a phone designed to be phone worth keeping with entirely replaceable components.
  • Users are co-creators.
  • Meant to be repaired, transformed, adapted and appropriated.

Catarina gave a wonderful talk on open source software, hardware and the way it's changing the world. Great talk.

Catarina Mota