Posted in Random Rambling

The Boy Cooks Nando’s Dinner

The Boy has gotten really interested in cooking in the last few weeks, so today we decided to let him loose on (helping to) cook Nando’s style chicken chips and rice. We are all Nando’s fans and it was a lovely dinner and didn’t look bad either.

Pitta & Hummus Starter
Pitta& Hummus Starter for our Home Made Nando’s Style Dinner
Home Made Nando's
Main Course of Nando’s Style Dinner

Of course after dinner I’ve still got the cleaning up to do, but I’m really glad he’s started taking an interest in cooking again. It’s so Important.

Posted in Druidry

Gardening with a Helping Hand from Nature

I’ve been waiting for a couple of weeks now to get the last grass cutting of the year done, I missed the last good day of summer for mowing and the grass has been getting awfully long. The weather has been kind enough this last week to keep the grass dry, so yesterday morning I decided to dash out and get a bit of gardening done.

In our garden we have a lovely big pampas grass and it leans over the lawn, makes mowing a little tricky. Though not so if you get a little help. So there is was happily mowing around the pampas deciding how to tackle the task when the gentle breeze picked up and changed direction lifting the pampas up and out of the way. And there it stayed until I had quite contently taken my time mowing the grass underneath it, where upon stepping away it drifted back down. I carried on with the rest of my lawn with a content smile on my face. Maybe being a Druid has real world perks some times.

Now I’m not saying that as a Druid I deliberately used some magic ability to lift the pampas or willed the wind to change. But as a Druid that special connection with nature is very real and some times it reaches out and gives you something tangible back, reminds you that it’s listening.

Posted in Software Development

My Java gets Clingy to UPnP (Using Java Cling for UPnP Communication)

I’m fairly new to Java programming but I don’t like to dance about with silly little projects, I’ve mastered my connection to mySQL and I’ve got a basic serial communications module. But this weeks task has been to gets some UPnP communications working, with the aim of being able to set up some port forwarding on a regular router from a basic linux (Debian) server with the settings editable in a simple web based GUI.

In a previous version I have scripted CLI calls to UPnPc from PERL but not only was this method going round the houses, it also was not the most reliable method of getting the port forwarding set up correctly. When I found Cling over the weekend I thought I had found the answer. Though so far I’ve found Cling an incredibly complicated API to use after a attempts of jumping in feet first I took a step back and re-read the manual implementing the first example:

package ...;

import org.teleal.cling.model.message.header.STAllHeader;
import org.teleal.cling.model.meta.LocalDevice;
import org.teleal.cling.model.meta.RemoteDevice;
import org.teleal.cling.registry.Registry;
import org.teleal.cling.registry.RegistryListener;

import org.teleal.cling.UpnpService;
import org.teleal.cling.UpnpServiceImpl;

/**
* Runs a simple UPnP discovery procedure.
*/
public class Main {

public static void main(String[] args) throws Exception {

// UPnP discovery is asynchronous, we need a callback
RegistryListener listener = new RegistryListener() {

public void remoteDeviceDiscoveryStarted(Registry registry,
RemoteDevice device) {
System.out.println(
"Discovery started: " + device.getDisplayString()
);
}

public void remoteDeviceDiscoveryFailed(Registry registry,
RemoteDevice device,
Exception ex) {
System.out.println(
"Discovery failed: " + device.getDisplayString() + " => " + ex
);
}

public void remoteDeviceAdded(Registry registry, RemoteDevice device) {
System.out.println(
"Remote device available: " + device.getDisplayString()
);
}

public void remoteDeviceUpdated(Registry registry, RemoteDevice device) {
System.out.println(
"Remote device updated: " + device.getDisplayString()
);
}

public void remoteDeviceRemoved(Registry registry, RemoteDevice device) {
System.out.println(
"Remote device removed: " + device.getDisplayString()
);
}

public void localDeviceAdded(Registry registry, LocalDevice device) {
System.out.println(
"Local device added: " + device.getDisplayString()
);
}

public void localDeviceRemoved(Registry registry, LocalDevice device) {
System.out.println(
"Local device removed: " + device.getDisplayString()
);
}

public void beforeShutdown(Registry registry) {
System.out.println(
"Before shutdown, the registry has devices: "
+ registry.getDevices().size()
);
}

public void afterShutdown() {
System.out.println("Shutdown of registry complete!");

}
};

// This will create necessary network resources for UPnP right away
System.out.println("Starting Cling...");
UpnpService upnpService = new UpnpServiceImpl(listener);

// Send a search message to all devices and services, they should respond soon
upnpService.getControlPoint().search(new STAllHeader());

// Let's wait 10 seconds for them to respond
System.out.println("Waiting 10 seconds before shutting down...");
Thread.sleep(10000);

// Release all resources and advertise BYEBYE to other UPnP devices
System.out.println("Stopping Cling...");
upnpService.shutdown();
}
}

This gave me hope as it worked after adding only two missing import statements (included in the above). I’ve started picking it apart and working through understanding the code. 

When I have a next step to share I will add extra details. Maybe you can learn with me.

Edit: since this post I have given up with Cling and successfully finished the development using CyberLink for Java by Satoshi Konno it can be found at http://www.cybergarage.org/. I will see about a post on this eventually.

Posted in Random Rambling

Forgetful Parenting

There are some things that I just seem to forget between children, obviously when The Boy was younger we went through the toilet training thing, but I don’t really remember it. Little trouble is about two and a half now and she’s more than ready… she goes sometimes. But I find myself wondering why I don’t know how to do this like a pro, we’ve done it before but I just don’t know what I’m doing.

This is backed up by the fact that Little Trouble used the toilet stayed dry at Little School all day yesterday, yet when I ask her she screams at me!

I’ve not given up all hope apparently it’s OK to forget toilet training skills (so long as you don’t forget your own toilet training) some things just have to be learnt every time. Despite feeling at a disadvantage (for some reason) it is going well… I think