Posted by Daz Wed, 10 Feb 2010 17:19:56 GMT
I'm on the lookout for somewhere good to pick up a sandwich for lunch, being vegetarian I don't get that much choice in your normal outlets and so I get bored of "cheese and ..."
Grassroots in Glasgow had a good range despite it being a fair walk from my office but they seem to have cut back on variety and no longer sell tempeh (fake bacon) sandwiches amongst others, I did ask why they stopped but just got a snappy and nonsensical "we can't sell the same thing forever" from the sales assistant. The same question to their online feedback form elicited no reply, which is a shame. So, can anyone recommend somewhere good to pick up sandwiches from (as opposed to eat in)? I did like some of Grassroot's old selection (despite them obviously using the same knife to cut garlic as make sandwiches!) but can't face the uphill walk only to find no decent options.
Posted by Daz Tue, 22 Dec 2009 10:03:21 GMT
Just how bad was the phantom menace? This bad:
http://www.youtube.com/watch?v=FxKtZmQgxrI These videos are more entertaining than the film was.
Posted by Daz Thu, 29 Oct 2009 00:50:51 GMT
It seems difficult to align what you want to do for a living with what you can practically. I've realised what I've always wanted to do is write computer games, that's in fact the reason I got into software development in the first place. The rise of digital distribution makes it more achievable to start very small as a sideline with relatively little overhead or risk. I love it when a plan comes together.
Posted by Daz Thu, 27 Aug 2009 23:13:57 GMT
marker interface:
package uk.co.tarbard.wfd;
public interface BackingPage {
}
custom property resolver:
package uk.co.tarbard.wfd;
import java.lang.reflect.Field;
import javax.faces.el.EvaluationException;
import javax.faces.el.PropertyNotFoundException;
import javax.faces.el.PropertyResolver;
public class ConstantPropertyResolver extends PropertyResolver {
private PropertyResolver original;
public ConstantPropertyResolver(PropertyResolver original) {
this.original = original;
}
@Override
public Class getType(Object arg0, int arg1) throws EvaluationException,
PropertyNotFoundException {
return original.getType(arg0, arg1);
}
@Override
public Class getType(Object arg0, Object arg1) throws EvaluationException,
PropertyNotFoundException {
return original.getType(arg0, arg1);
}
@Override
public Object getValue(Object arg0, int arg1) throws EvaluationException,
PropertyNotFoundException {
return original.getValue(arg0, arg1);
}
@Override
public Object getValue(Object base, Object property)
throws EvaluationException, PropertyNotFoundException {
Object value = null;
try {
value = original.getValue(base, property);
} catch (PropertyNotFoundException e) {
}
if (null != value) {
return value;
}
if (null == base) {
return null;
}
if (base instanceof BackingPage) {
Field[] declaredFields = base.getClass().getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
Field x = declaredFields[i];
Object constantValue = null;
if (property.equals(x.getName())){
try {
constantValue = x.get(x);
} catch (IllegalArgumentException e) {
throw new PropertyNotFoundException("unable to access property " + property) ;
} catch (IllegalAccessException e) {
throw new PropertyNotFoundException("unable to access property " + property + " check that it is public") ;
}
return constantValue;
}
}
throw new PropertyNotFoundException("unable to locate constant with name " + property + " perhaps you made a typo.");
}
return null;
}
@Override
public boolean isReadOnly(Object arg0, int arg1)
throws EvaluationException, PropertyNotFoundException {
return original.isReadOnly(arg0, arg1);
}
@Override
public boolean isReadOnly(Object arg0, Object arg1)
throws EvaluationException, PropertyNotFoundException {
return original.isReadOnly(arg0, arg1);
}
@Override
public void setValue(Object arg0, int arg1, Object arg2)
throws EvaluationException, PropertyNotFoundException {
original.setValue(arg0, arg1, arg2);
}
@Override
public void setValue(Object arg0, Object arg1, Object arg2)
throws EvaluationException, PropertyNotFoundException {
original.setValue(arg0, arg1, arg2);
}
}
Posted by Daz Fri, 07 Aug 2009 20:02:02 GMT
Despite Android being much more open than iPhone there is still a lot of "Sorry, you can't do this. " and "it is not possible" on the android developer group.
Posted by Daz Wed, 29 Jul 2009 05:42:32 GMT
I really liked Amarok, an upgrade to ubuntu brought in Amarok 2. I couldn't get it to play anything and it was quite unpleasant to use. Luckily I managed to find a fix and my playlist was populating within seconds and music was playing - the fix is called Rhythmbox
Posted by Daz Tue, 30 Jun 2009 21:17:20 GMT
and here is a selection from it. The purple bush inthe first picture makes a constant buzzing noise due to the bees that love it's trillions of tiny flowers.
Posted by Daz Tue, 16 Jun 2009 19:47:12 GMT
I've installed XPlanner again at work recently and even started using it for my own projects. It's a nice structured way of keeping track of work but it's even nicer combined with Mylyn thanks to the people who developed the XPlanner connector for it. One of the useful features of Mylyn wasn't there though until now
- the ability to share contexts with others (or your future self).
Posted by Daz Sun, 05 Apr 2009 10:53:27 GMT
Here's something I wrote a while ago and never got round to finding hosting for.
view subversion commits on a javascript timeline.