A Brief History of NetKernel
- on extracting release data over nine year period
I’ve just finished working on exposing a complete change history for NetKernel for the period from the release of NetKernel 4.0, nine years ago. Previously our mechanism for publicly exposing this information has been solely through the, once weekly, newsletters. However that medium is unstructured which meant it was hard to get an overview of changes and check for specific releases for any particular package. Since the release of NetKernel 4, we introduced a repository approach to releasing updates to NetKernel.
Published Aug 26, 2018
4 min read
netkernel
External Request Profiler
We’ve been working recently with a client, on a solution, revolving around crunching large volumes of data. The scale of data meant that even on a large cluster the computation takes many hours. The usual mode of operation for these compute jobs is to set them off in the evening, and return the next working day to see the results. I was working with them to capture some engineering figures and statistics to assess the performance and opportunities to optimise or re-design.
Published Jan 26, 2018
3 min read
netkernel
My Experience Building an Alexa Skill
- Headline: it is actually pretty easy
Back in November I attended a talk on creating your own Amazon Alexa Skill at Bristech. It’s been something I’ve wanted to play with for a while, so when Amazon had their Black Friday sale I couldn’t resist. I was pleasantly surprised by Amazon’s own tutorial using Lambda: Alexa Python Tutorial - Build a voice experience in 5 minutes or less. It really was quite simple and quick. Amazon have worked hard to make it easy for you to get a custom skill up and running on real hardware.
Published Jan 14, 2018
4 min read
internet of things
·
artificial intelligence
Technical Debt and Entropy
I seem to find myself with a lot of unproductive time - time when I can’t be working on real problems - problems that need access to tools such as a coding environment, terminal, internet searching, and somewhere to capture notes. Situations such as walking the dog, driving, and getting simple chores done are examples of these times. Times like this though, are good for thinking, and recently i’ve been thinking a lot about the concept of technical debt.
Published Dec 31, 2017
7 min read
philosophy
·
it industry
On The Beach
I’ve had a horrible ray traced pebbly beach scene framed on my wall for a long time now that I really wanted to redo. I’ve used a bit of free time at Christmas along with a major new release of Cheetah3d to do that. Here are a few of the things I created.
Published Dec 29, 2017
1 min read
graphics
Quadcopter Down
- ...and I thought software was hard
I spent a good few months working on and off on the drone. Almost every day I’d get a nice little package in the post from China with a component or such like in it. Unfortunately, the last few things I received still sit unused. After I’d solved the basic architecture of the drone system in as far as how to get easily updatable algorithms both on board and on the ground, things got harder.
Published Dec 29, 2017
4 min read
internet of things
·
drone
Beginnings of a Programmable Drone
- The struggle to put code in the loop airside and ground side of an autonomous drone
I think it was the final episode in season 3 of Black Mirror that motivated me to start thinking about building a drone again. That episode - Hated in the Nation - involved swarms of autonomous drones deployed across the UK to replace recently deceased bee colonies. In this work of fiction the drones wreak havoc. However the connecting of computation and AI to real moving entities in our world really intrigued me.
Published Apr 23, 2017
3 min read
internet of things
·
drone
·
artificial intelligence
Generalizing Dynamic Programming
- Using dynamic programming techniques to optimise general compute efficiency
Dynamic programming is an approach to efficiently implementing certain classes of algorithms. As a feeble excuse for not noticing this earlier, the term is a little confusing: it isn’t about programming or about doing it dynamically! It was invented in the 1950s by Richard E. Bellman whilst working for RAND Corporation. Apparently he deliberately named it obtusely to avoid his work being considered research! I discovered this term recently when looking into existing research about algorithm optimisation and specifically why the systemic memoisation in NetKernel can optimise solutions to certain problems particularly well.
Published Apr 10, 2017
8 min read
computer-science
·
netkernel
·
caching
·
optimisation
Travelling Salesman Problem
- Study of TSP running on NetKernel with cache replacing dynamic programming
This paper offers an analysis of the application of NetKernel and Resource oriented computing to the well known Travelling Salesman Problem (TSP). This discussion ignores the many approximate approaches to solving this problem which are necessary for real-world problems of any significant complexity. The aim, however, is to show how ROC can automatically optimise a solution which it knows nothing about other than empirical data collected during execution. The algorithm structures the problem into sub-problems many of which overlap with each other - this occurrence is called overlapping subproblems.
Published Apr 6, 2017
8 min read
computer-science
·
netkernel
·
caching