Reading List

The Selfish Gene
The Psychopath Test: A Journey Through the Madness Industry
Bad Science
The Feynman Lectures on Physics
The Theory of Everything: The Origin and Fate of the Universe


ifknot's favorite books »

Thursday, 7 January 2016

Spotlight Schmotlight - Stopping runaway CPU usage by mds & mdworker nonesense!

photo credit: It's Murder, Watson! via photopin (license)

Have you tried switching it off and on again?

Disable Spotlight

The primary method is using launchctl, this will require the administrative password:

Monday, 21 September 2015

Qt Creator Android Kit Setup Made Easy With Homebrew Formulas


Getting toolchain components to hold hands.

Under OS X getting Qt Creator to cross compile  to Android requires a number of steps to install the necessary tools.

Using Homebrew Formulas with Homebrew makes the process easier under OS X:

Thursday, 3 September 2015

The Most Intelligent Robot in the World: A Theory of Robotic Motivation.



It was my first time at the Grimsby TechSpace Meetup tonight and what a lovely warm welcome from a very eclectic mix of folk. In amongst the hybrid vigour of ideas that ensued consequently I was witness to a small epiphany on the subject of artificial intelligence...


Saturday, 28 March 2015

Sunday, 18 January 2015

Documentation for libfbp


libfbp class diagram

libfbp draft documentation

The libfbp software is pretty close to an alpha release and seems to work quite well but I would like to work on some documentation for it before enacting some sort of official 'release'. 

Saturday, 29 November 2014

Emergent Cascading Distributed Termination - Graceful shutdown for libfbp

Lets stop monkeying around with termination in FBP 


TL;DR Herein proposed Emergent Cascading Distributed Termination (ECDT) whereby the libfbp component, viewed as an isolated push down automaton(PDA)[1], either:

  • Reaches its own internal accept/final state and, as part of removing itself from the execution model's purview,  closes all its connection(s).
or
  • Reacts to the closed exception(s) thrown by its connections(s) and reaches its own alternative, or only in some cases, final state and, as part of removing itself from the execution model's purview,  closes all its remaining connection(s).
and so on.

Thereby gracefully, and yet unknowingly, cascading the closed connections through the program graph ensemble of components allowing each to reach their final state and spread the cascade.

In order to retain the fungibility and black-box isolation requirements of FBP a component's terminating behaviour must be both dependency inverted, from an OOP perspective, and non-cooperative from a CSP theory perspective. With these immutable axioms in hand how then might libfbp not only terminate but do so gracefully?

Monday, 24 November 2014

RaspberryPi Server (Part 2): Security

Getting your head into RaspberryPi security.

TL;DR Having previously setup the RPi as a headless device logging in over ssh here the default password was changed. However, if the RPi is to function as a server then adding a new superuser, deleting the default pi user, enabling passwordless login using ssh keys, disabling password login, restricting incoming connections to port 22 only, banning IPs that fail repeatedly and setting up a restart watchdog timer will go some way to hardening the diminutive server.

UPDATE: "macOS keeps asking my ssh passphrase since I updated to Sierra" *sigh* do this:

 ssh-add -K


This stores passphrases in your keychain.