Monday, 8 April 2019

GAs a Solution Solution

No, not a typo. GAs have typically been set to work to generate a solution to a fixed problem.

My idea is to create a solution that generates solutions eg.

Using the MNIST dataset of hand written digits, you could breed a network that recognises digits by breeding networks until the connections and weights define a network that can solve the problem and you could optimise it for the least number of connections and nodes. This, however, is not a general solution to building recognition networks. This is very specific to the set of data shown. What would be more useful and interesting would be to define a set of rules that can be applied to build a network based on the data set in real time. A GA solution that can create a network that adapts to the data supplied. Maybe the network could be applied to shape recognition or general hand writing to text conversion.

One of my early areas of interest, was using a GA to create a compression algorithm. I succeeded in creating compressed versions of image files, but each compression was specific to the file and took many generations to breed. A better use of GAs, and similar to that described above, would be to have the GA find a generic compression solution. This would require a data set that consisted of multiple files of different types to compress, and two parts to the process, a compression cycle where the individual can see the source file and develop a compressed data set, and a decompression cycle where the source file is not available and must be reconstructed.

Digital Genes

In living things, genes generate the structures of life using a set of basic building blocks that can be combined and tweaked in multiple ways to create the structures required to allow the creatures survive in the environment.

In GA algorithms, the digital gene sequence needs to be translated into a function that performs successfully in the problem space. The question is, what are the basic building blocks that should be used and how should they be combined and tweaked ?

In living things, the protein is the smallest unit that is combined and tweaked. What is the GA version of this ?

My current thought is that these basic units could be discovered using GAs. By setting the problem environment to a random state, various combinations micro units could be used to create functions, and scored based on the amount of change they cause to the environment state ,either positive or negative, thereby creating a set of building blocks that are not inert (are reactive) when used to try and solve a problem.

The micro units would be functions like boolean conditions, boolean functions, arithmetic operations, storage of values and retrieval.

If this proves unsuccessful, I may try using functions as the GA alternative to proteins.

Wednesday, 27 February 2019

Genetic Algorithms as a route to Artificial Intelligence

"Genetic Algorithms as a route to Artificial Intelligence" That was the title of my undergraduate dissertation at the end of my Psychology degree over 25 years ago. It was not my greatest piece of work and did its part in getting me the degree I deserved :-)

Since then, I've occasionally dipped back in to the area of GAs (Genetic Algorithms) to try and improve them and occasionally to solve complex problems. Once you have created all the elements, they almost magically find solutions to complex problems particularly .

Terms:
Environment - The problem space
Individual - A possible solution to be tried in the problem space
vDNA (virtual DNA) - A string of data that defines an individual
Gene - A unit of the data that makes up the vDNA
Transcription - The process where vDNA is used to make an individual
Mutation - A random change made to the vDNA at transcription
Breed - combine elements from two individuals to create a new child individual
Solution Score - A numerical measure of the success of a solution (its health)
Heath Velocity - Rate the populations score is increasing

GAs have several drawbacks that I have tried to address:

- First, they do not work well on solving linear problems where one step must follow another to reach a better solution. My current attempt to solve this is to start the individual at random points in the problem space or to test them with the environment in a random starting states or to test them at random points in a solution where this is possible.

REAL EXAMPLES HERE

- Secondly, mutations can happen anywhere in the sequence of vDNA that describe a possible solution. I am attempting to tackle this by adding an extra variable to each gene in the vDNA that defines its mutability. The mutability value itself can mutate, and I hope that this will enable individuals to evolve with essential elements of their solution protected from mutation.

REAL EXAMPLES HERE

I've also investigated whether you can use a GA to breed a better GA. GAs have a number of variables and processes that it should be possible to optimise eg. mutation rate, breeding selection, crossover rules and variables that could be used to modify these rules such as rate of increase of score (population health velocity).

RESULTS HERE

- Thirdly, the building blocks of the individual constrain the solutions possible. Living organisms use the versatile protein to make all manner of complex solutions to problems, however a GA does not have this constraint, what should be the elements for a virtual protein in a GA ?
Some suggestions:

  • Boolean rules: If then
  • Simple mathematical functions: add, subtract, multiply and divide
  • Iterations: While then
  • Lookup value tables
  • Neural network nodes


It is probable that the optimum set of building blocks to create a solution will depend on the type of problem space. So I am looking at whether you can use a GA to develop a set of optimum building blocks. To do this you would generate and breed small solution units and test them against a problem space. Units would be selected on the basis that they have managed to change the state of the environment in any way (either positively or negatively). Thus you end up with a set of candidate building blocks that interact with the environment and can be used to try to breed a solution.

REAL EXAMPLE HERE

Another issue is that solutions tend to converge on a single path through the problem space and although the individuals are scoring highly they may have reached a dead end (low or zero health velocity). GAs are incapable of reversing from a high scoring solution to find a completely different route.

To address this, I now have a GA architecture with a concept of breeding pools. In each pool a different element of the solution is being bred. The pools feed into each other when certain criteria are met, for instance when the rate of increase of solution score reaches a certain level, the best individual is taken to become a member of a new pool. The original pool is reset and searches for an optimum solution again. The new pool waits for a population of high scoring individuals to be bread and then uses these as the staring population for a new process of breeding an optimal solution.

Further to this, I have been looking at how you can accelerate GAs by breeding populations of small partial solution solvers that can collaborate to find an overall solution. Questions to answer are:

  • What is the smallest solution solver that can be used ?
  • When should one of these individuals act ?
  • How do you score an individual, allocating a score that relates to its part in an overall solution ?
  • When can you remove an individual from the population ?
  • What are the rules for when and where a new individual should be placed in the population ?

An experiment I have not yet attempted is building a Lamarck Algorithm. Although Lamarckism has been demonstrated not to happen in the real world, there is no reason it could not be implemented in a virtual environment. it would be interesting to see if it accelerates finding a solution or if there is some underlying mathematical reason it does not occur naturally. An extension to this would be an individual that never dies but continues to evolve in some way without having to create children to improve its solution. There does seem to be some similarity between such a system and neural networks, both simulated and in the real world.




Tuesday, 24 July 2018

CADA - Civil Autonomous Driving Authority

With the imminent introduction of autonomous driving vehicles to our roads, accidents are bound to happen, some due to AI error, some caused by human error and some unavoidable due to other environmental events like deer or children running into the road etc.

It cannot be left to manufacturers of the vehicles, the judiciary or individual governments to manage the investigations into such events.

When aircraft crash the CAA investigates. We should have a Civil Autonomous Driving Authority CADA.

AV = Autonomous Vehicle
Green Box = A recording of the environment in which the vehicle driving. This would include visual recordings of the surroundings, car data such as speed and position and any further environment data available such as time, temperature etc.
White Box = AV system enclosed to protect proprietary code but with common input and output so that it can be plugged into a vehicle simulator.

CADA would make available a set of test scenarios that AVs must pass to be licensed.
All AVs to have black boxes to record the last journey made.

When an accident occurs, a set of steps would have to be followed:

  • A black box is supplied to CADA
  • A simulation of the accident is created using black box data
  • A white box is used to drive a vehicle in the simulator
  • Simulations are used to update scenarios for future AVs and current AV updates
  • Scenarios are made open source for use by AV developers
  • AV licensing fees used to pay for CADA


Problems
Who pays - The vehicle manufacturers would have to pay to licence a new EV
How to handle new sensor technology - The green box would have to be able to take
How to enable competition by giving low market entry cost - Access to all scenarios, the simulator, white box and green box specifications and data would be made available for free.

Wednesday, 26 July 2017

Pondering P6

In the list of points in my previous post was point P6

p6. Current models start with random sets of connections to neurons. This seems odd. Wouldn't a more efficient starting point be to add neurons with connections matching patterns as they occur during network development.

I've played around with a couple of small models that attempt to place nodes (neuron models) to recognise patterns that occur at an occurrence rate above that expected in a random input signal. It has showed some promise and I shall probably take it further given time.

The implementation so far uses an array of nodes that keep track of occurrence rates of sets of inputs, but these are not weighted connection nodes like the normal neuron modelled nodes in a neural net, they are generated by occurring pattern within a domain of inputs and then produce an output when that pattern occurs a set level above chance. The output from these nodes can then be used by other nodes to find combinations of patterns that occur above chance and to place neuron nodes and connections in places where pattern recognition should occur.

Where as nodes in a neural net have some basis in neuroscience, I could not see a basis for this new type of node until I did some further reading. I was taught that neurons where the data processors in the brain, held in place by glial cells that form the scaffolding for the cortex. However these cells also play a role in directing the placement and connection of new neurons and connections. Maybe these cells could be performing the process that my pattern tracking nodes are doing.

Of particular interest are Astrocytes and Radial glia.

Monday, 10 July 2017

Please accept my confession. Neural Nets and me.

Please accept my confession and absolve me of my sins, it has been four years since my last post.

My current area of interest is Neural Nets and I've been playing...

My first adventures in AI started with my first computer, the ZX Spectrum. I developed simple programs a bit like Amazon's Alexa that were simple question and answer applications with words extracted from sentences and substituted into set replies. I dreamt of a day when I could hold a conversation with my computer in natural language. It appears it is quite a hard nut to crack :-)

I've been interested and played with Neural Nets since I was 17, which is quite a long time ago. My first attempt was building an electronic analogue circuit as my A level electronics project. It was too ambitious for both my skills and my budget, but it did look cool and complicated. The examining board were not so easily impressed. I should have stuck to a motor controller.

I then went to University to study Physics and Psychology but soon realised that Physics was not for me and that Psychology might be the place to find some answers to the problem of how to build good AI. It was, but I was also expected to learn about a lot of things that I had no interest in so it did not go as well as it could have. My final thesis was a poor attempt at showing how genetic algorithms could be used to evolve AI systems (I did learn from this that University cleaners will unplug your computer if the socket is needed for the vacuum cleaner even in a computing lab, and that a Z88 computer does not have the power to run a decent genetic algorithm in useful amount of time).But enough of blaming my tools, I hope that now my skills and knowledge have grown, and I can show that GAs can be used to create useful Neural Nets.

After a few different fill in jobs I ended up working as a software developer and that where I have stayed for 25 years. I have had plenty of time to hone my skills and increase my understanding of how the brain might work. I've followed developments that have changed the playing field considerably, from MRI scanners that remove the reliance on head injuries to investigate brain processing, to the cloud computing revolution making super computing power within the grasp of the amateur.

Neural Networks are fashionable and the increased speed and size of computers have made large networks feasible even for tinkerers like myself, so I have decided to return to the area that first interested me all those years ago.

I've always been most interested in AGI (Artificial General Intelligence) and particularly learning without an external teacher. The current large scale networks relate little to what we know about how the brain learns. They require thousands of items of training data tagged with the information within them that we wish the network to recognise.

Below are the current areas I am working on broken into three sections. The main problems that I feel need to be overcome, the elements of human cognition that have not yet been addressed and the experiments I am running to fix the problems and address the issues.

Problems that need to be overcome

p1. We, as humans, do not need thousands of instances of a patterns to group them. Often just a couple are enough. Evidence:

p2. We do not need to be told that patterns belong to a particular group to place them in groups. Evidence:

p3. We can recognise visual patterns as being the same no matter where in the visual field the appear or which orientation they are presented in. Evidence:

p4. There is not overseer that can monitor, place and alter neurons individually. Neurons and their connections are the only micro control mechanism. Chemical transmitters can send macro signals to and from other areas of the body (including brain). Neurons and those they are connected to are on their own as far as micro decisions go.

p5. Back propagation, used to train networks by altering connection strengths, require a teaching signal to provide a score based on neuron responses. It is similar to behaviourism in psychology. It only takes you so far, at some point you have to supply a trainer system.

p6. Current models start with random sets of connections to neurons. This seems odd. Wouldn't a more efficient starting point be to add neurons with connections matching patterns as they occur during network development.

Elements that have not been addressed

e1. We, and therefore our brains, have evolved...

e2. Humans go through stages of learning that have evolved. Evidence:

  • Visual system learns to recognise edges after birth and before a set age.
  • The kindergarten effect
e3. We apply our current internal model onto input from the external real world. Evidence:
  • The Swiss Cheese illusion
  • The Spotty Dog illusion
  • The speech without consonants illusion

e4. We have layers of neurons in the cortex. More than one and less than those in a deep neural net.

e5. Areas of the brain seem to have specialised functions. Evidence:
  • Face recognition

e6. Some elements of behaviour have evolved, while others are learnt, yet others we have probably evolved to learn. How do these two elements interact to create a network.

 My Current Experiments

Ex1. Learning pattern recognition without access to the training labels.
See p1,2,3,5,6

In this experiment, I am building a NN system that learns to differentiate handwritten digits from 0 to 9 from a data set called MNist but without the use of the labels provided.
The network builds itself to differentiate the different elements of the patterns in the set.
My theory is that given the correct set of simple rules, a network can be built that will have distinct nodes (neurons) that fire when, and only when, a specific digit is displayed but can generalise to all examples of that digit.
Whereas current networks are given the training labels (eg. given an image of the digit 8 and told it is a digit 8), this network will only be given the digit 8 and not given the label. Once a level of training (or in this case experiencing) has elapsed, the nodes are searched for ones that only fire for a specific digit and connected to output nodes. This differs from current networks in that we do not pre-define where the recogniser for a specific pattern (digit) should occur, but let it develop and then at a later time associate the recogniser with an output using a function called MagiMax. Another difference is that we do not start with an initial layer of nodes with large numbers of connections with random weights, but rather build the nodes and layers based on patterns submitted to the network.

The network built is of multiple layers from an input layer (layer 0 that is pre built to match the 28x28 matrix used in the MDist data set) to an output layer (5). Nodes in a layer only connect to a limited domain of nodes in the layer above. The training data set is applied once as each layer is built, so layer 1 is built based on a full training set, then layer 2 is built by processing a full data set etc.

Initial simple applications of this process gave a number of good recognisers for some digits, but others failed to appear. The networks ran out of space for new nodes.

Ex2. Evolving solutions to problems using neural net populations
See e1,6

This a repeat of previous experiments to evolve a network of nodes, connections and weights to recognise MNist data set digits. This is really just to check that the implementation of the GA and NN work.

Evolution stalled on an above chance but poor recognition score.

Ex3. Evolving builders of neural nets to solve problems
See e1,6

Currently the work on this problem is concentrated on building a set of elements that can be randomly arranged to build networks that can then be scored on their ability to build networks.

The elements need to be resilient to crossover and mutation, so that breeding new genomes gives a viable network builder in most instances.

Ex4. Building matrix transformations based on experience to solve spacial, 2d rotation and 3d rotation of patterns for recognition.
See p3

Work on this is still in the planning phase. The idea is that by presenting moving patterns to the input of a visual recognition network, the network can arrange itself into a configuration where new patterns can be recognised independently of where they appear in the field of vision and in any orientation.
It is possible that the result of Ex3 may be used to try and evolve a solution to this problem.

Ex5. Path finder nodes

An investigation into whether a network of nodes can be used to keep track of patterns that have happened frequently with a view to then placing nodes and connections where patterns occur significantly often.








Thursday, 4 April 2013

Crazy Idea of the day

Having been reading about Google's Omega project on wired, I was thinking about how I could build a rival super computer using my meager resources. How could I get my hands on thousands of processors to perform large parallel computations.
How about using browsers as nodes on a web wide computer.

  1. A visitor to my server opens a page and confirms that they are will to take part in the process.
  2. The web page polls the server for tasks.
  3. When a set of tasks are available, the tasks are shared by the server among polling browsers.
  4. The tasks are sent as small JavaScript programs to run.
  5. The results are sent back to the server for collation.
The web page would display details of the tasks being run.
The service could be offered as a peer to peer service, with a web interface offering the ability to upload jobs to be run.

Wednesday, 27 February 2013

Simple Magnetic Imaging

This is an idea I have been playing with. Passing a low energy magnetic pulse through an object such as a part of your body and then using a sensor array to create an image of its internal structure. Like X-Ray but using low frequency radiation. The problem is that the low wave length restricts the resolution of any image created. I have an idea that using a genetic algorithm against data from a known object , such as a saline filled bag, and a large set of readings, a system can be trained to create high resolution images from a relatively small set of sensors.
I've started experimenting and will post back any findings.

Monday, 4 February 2013

Prediction 2

In my new (self defined :-) ) role as a futurologist, I thought I should add my next prediction / suggestion of a new technology.

With the growth in renewable, sustainable electricity generation, particularly wind and solar, comes the problem of matching generation to demand.

Storage is the answer. Not small scale storage like a battery bank, but large scale storage. This is already achieved to an extent by such projects as Dinorwig Power Station, where off peak electricity is stored as water pumped to a high reservoir, then released through turbines during peak demand periods.
There are only so many sites where this kind of geography exists, what is needed is a large scale storage solution that can be placed at any location, preferably near to the place where the electricity will be consumed to keep transmission losses low.
One solution that is being considered, is storage of energy as compressed (liquid) air which is then used to power a gas turbine as the air is allowed to expand during periods of demand. This does seem like a good solution, but has inherent dangers due to the storage of compressed gasses, and technical difficulties due to the generation of ice during decompression.

Another solution that has been investigated (in New Zealand) is the large scale Redox battery. This works in a similar way to traditional battery charging, where energy is stored chemically in an electrolyte. In the Redox battery, electrolyte is 'charged' and then stored in a tank. Only a small unit is needed for the relatively expensive battery electrodes, but a large amount of electrolyte can be stored in relatively cheap tanks. The New Zealand system uses Vanadium.

This is the kind of technology I am interested in.  In preference to vanadium, I am investigating iron  as my storage chemical using activated carbon electrodes. The benefits of this medium, is its low cost, relative abundance and low toxicity. During my experiments it has also come to my attention that the charged iron slurry that is produced during charging of the battery can be attracted by a magnet, and pumped around using a pump constructed like a linear motor. The basic chemistry is that iron oxide is converted to iron in an activated carbon slurry using electrolysis. This can be pumped and stored in tanks. When electricity is required, the slurry is oxygenated to oxidise back into iron oxide. This acts as an iron air battery, creating usable electricity.

I'll write more on this when I have progressed further. Family calls :-)

Friday, 1 February 2013

I have a lot of pretty crazy ideas, some of which turn out to be less crazy in hindsight. Often I try to follow them up by building prototypes and reading up on the subject to see if there is an invention or business opportunity waiting for me there. On a number of occasions my idea has proved to be following the Zeitgeist and others prove the idea has merit before I do, and often this is due to the level of funding and resources available to them. This is not my whining about how unlucky I have been, but I intend to start writing about some of these ideas here in the future. That way when I moan about this or that being 'my idea' :-) I can point back to a blog here to prove it.

So my areas of interest at the moment are:
3D printing. I know it is being touted as the next big thing for the consumer market, but my interest take me in a different direction.

A 3D printer has four essential elements, a machine that can move a print head in three planes (x,y, and z), a print head that deposits a material at any point, some software that takes a model and converts it into instructions for the printer and some software that allows a human to define that model.

The two target areas where innovation will take place are:

The print head.

Currently 3D print heads print in a single medium such as a plastic, starch based material or even metal. I believe a future development will be to increase the number of media that can be used by the printer. This could be achieved by having multiple, automatically replaceable print heads to embed different materials and elements into the model. This may be as simple as harder materials for an outer shell or generic electronic components that can be made to simulate different devices such as a FGPA type chip, and a print head to print the required circuit board in a material such as graphite infused plastic.
Another development may be to add post processing heads to the printer. Presently the printer makes a single x,y scan for each layer of a model being printed before progressing to the next layer in the z axis. The print head could quite easily be adapted to allow a post printing scan of the object to spray on colours or an external coating, to cut away areas where this could not be achieved during printing or drilling an adding fixings.
Multiple print heads could also be used to print elements of buildings. I have seen this is already being investigated, I feel that a loom based arrangement suspended above a printed building structure could also incorporate z oriented fibres into the materials as they are printed. Improvements in the print heads for this application would use dry concrete as the print medium, mixed with water at the tip of the print head rather than the current use of shotcrete.

The 3D modeling software

The current breed of 3D modelling software takes a lot of practice and training to use to make even the simplest models, I envisage a piece of software that allows you to create items from a pattern book of simple parts. Anyone can make a model out of lego. 3D modeling should be that easy. A standard set of virtual parts that can be snapped together in the software, but as this is a virtual model and not lego, the standard parts can then be modified, skinned and altered to make the desired model.

As a simpler way of printing consumer items, I envisage that models will be automatically translated into a set of parts like a kit that can be stuck together by the user once printed much like a plastic model kit. This would reduce the complexity of printing and reduce the print area required to make larger items.

I'll stop there for the moment and come back with my other ideas soon.

Monday, 14 January 2013

RenSMART has been running as a business for a while now and is now in profit !
I've decided that I shall no-longer be posting to this blog about RenSMART and will just use this as a place for random musings.

RenSMART's new blog can be found here: http://rensmart.blogspot.co.uk/

Saturday, 29 May 2010

Typical Bank Holiday Weekend

Rain, grey skies and Eurovision. This weekends project was to decorate the living room. It has now become a major construction project. Shelves, a desk, new door surround, repainting and a new floor.

While looking at flooring I noticed that there is now a lot of bamboo options available. Half the price of oak and fast growing (so probably more sustainable). I think this is what we are going with.

Our holiday this year is sailing in the Ionian of the North Corfu around the faraway islands. The original plan was to travel there by train. Both for the adventure and to reduce our carbon footprint. Train through Albania and Greece proved too difficult to pre-book so we decided to take a ferry from Venice to Greece. Train tickets from Paris to Venice only become available 90 days before travel. When we attempted to book (89 days before travel) the return journey the tickets were sold out so now we are going by train and ferry and returning by ferry, air and train.

Thursday, 6 May 2010

First Installation

Having waited and waited for an accepted quote to lead to an installation, finally it happened today. A solar PV installation. Now hurrying around to make sure that everything is in place for monitoring it's output live.

On 20th April, our first live monitored site was commissioned. Powis Hughes finally have a 6kW wind turbine up and running. The monitoring software has had a few issues but seems to be running nicely now. As I look at their RenSMART page now, I see that they have made about £90 so far. Only another 7 years to go and they will have their initial investment back.


Yesterday was spend uploading and annotating a couple of videos on how to use RenSMART Weather Data maps. You can find them on the RenSMART video page. They look good so I think I'll probably do a couple more.

Finally I have to look at going back to contracting for a while to get some funds. As Helen reminds me, I should not expect a profitable business after one months trading :-). That is why I am back blogging. It is my CV and agent avoidance plan :-)

Thursday, 8 April 2010

Flying Start

Well RenSMART went live on 29th March as planned. There were the usual launch issues. Applications always misbehave when real people get their hands on them :-)

We are now half way through our second week. I've throttled back a little on the Google AdWords campaign and am concentrating in trying to raise our profile.

We are listed no younoodle (I did this quite a while ago) and have a reasonable score. We are aiming to be listed on the Telegraph 100 growth companies list



My initial concerns, that the Site Planner is to complicated for people to use does not seem to have been grounded. We received 10 quote requests in the first week, and a couple of calls about large commercial systems.

Today's big event was a call from a turbine manufacturer who was not happy. The turbine data for his product were all wrong. The data was updated and live within half an hour and as a result the term Indicative Price is being plastered all over the Site Planner.

Right. I'd better get back to it.

Tuesday, 23 March 2010

Take Off

The RenSMART Quote Request Service goes live on 29th March.

We have a good long list of installers signed up to give quotes and a good number of members waiting to request quotes.

Now I am looking for virtual canapés and champagne for our launch party :-)

JP has helped a lot with improving the database, I finally got the Sheeva plug working consistently as a data logger and the web server is running like a dream.

Role on Monday 29th

Wednesday, 17 February 2010

On the Launch pad. Ready to go

Finally the RenSMART Site Planner seems to be ready for launch. Not sure how people will take to it. It is quite an involved process. I am contemplating taking the underlying model and creating a simple front end for specific scenarios e.g. Domestic home installations or Commercial Small Office wind installation.

I have been running a small trial with a few friends and they seem to agree about the complexity issue (when it works).

Now I have forgotten what I was writing as Alex and Theo have brought me their pictures to see.

I finally got the response times down to under 5 seconds by removing all of the 'optimisation' features I had added to the server.

I have just run a sanity test of the Site Planner using an example from GreenBuilding magazine. The example was for a Solar PV installation in Cornwall. I replicated the system in the Site Planner and the yearly generation and system price were within 10% of actual values. Not bad.

Now to get the installers on board with quotes!

Thursday, 21 January 2010

The RenSMART model and web application is almost ready for release. I've been trying to get the processing time down. It was taking 30 seconds+ to update a financial projection for a project. It now takes about 15, however all the data is now transferred in on big transaction so there is less feedback about what the process is doing.

The snow went, came back and has now gone. The sun is out but we are all out of oil (darn) and no delivery until tomorrow. We'll be getting through a few logs tonight.

Monday, 11 January 2010

Best Intentions

Well it's been a while... probably the most used phrase in and diary or blog (253 million times according to a Google search) In the the period since November I have had time out from RenSMART development to look after the boys while the child minder went on holiday and a dose of bronchitis and then there was Christmas. Anyway back now and a new year. The RenSMART financial planning tool is coming along nicely and will go live at the end of January! Only a few bits to sort out with the front end and some testing. At the same time as working on that I have been working on a number of live feed applications that RenSMART members will be able to sign up for. First is a energy use monitor that will create an energy use profile for use with the financial planner and secondly a weather station feed again for use with RenSMART services.
There is still snow on the ground as there has been for the last week. Every one seems to have got used to it and people are moving around again. When it first fell the area ground to a halt. Our little lane turned into an ice slope. Lucky we haven't got rid of the Freelander yet as the Seat would not make it up.
Now back to the project.

Saturday, 14 November 2009

Grey and Early

The title describes my morning so far. The boys were up before 7am. Alex was doing a word search on the landing at 6:30
Yesterday was reasonably productive. The RenSMART account model is getting closer. I have now built the interfaces wind and solar profiles for the UK. They were sketched out using server side Javascript, now they are implemented in Java for better performance.
I may do a bit more work on it now rather than watch CBBC

Friday, 13 November 2009

Linux Zoo

Spent yesterday working on the Energy Monitoring service that RenSMART will offer and Powis-Hughes office. I have been looking at the Sheeva Plug for a while now as a possible data logger. On Wednesday I received one. It looks pretty unassuming, which is what you want for a box that is to be tucked away and forgotten about.
I spent hours trying to get Java installed and running and the Data Logger software working. Finally succeeded only to find that the Current Cost smart meter interface does not have a working driver for Ubuntu (or Windows XP for that matter) so the working day ended on a rather disappointing note.
Came home and built Lego with Alex and Theo for a bit. We are building a space station. If only the real world was as easy as Lego :-).
Today I'm back on the RenSMART web site, improving the financial model for Wind and Solar PV. The task is to try and get it running smoothly enough to offer multiple bespoke financial projections to RenSMART visitors for comparison and a number of predefined scenarios to get them up and running quickly. Hopefully, visitors will want to save their information, for which they will require to become members.

(Why Linux Zoo as a Title. Sheeva runs Ubuntu Linux. Each version is named after a different animal. I tried quite a few versions to get the Sheeva working)