Home

Advertisement

[ki|ry]an Code & Photography [entries|archive|friends|userinfo]
Kian Ryan

[ website | [ki|an]ryan ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| Gallery ]

Northern Geeks Has A Website! [Jul. 5th, 2009|09:05 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

This took me long enough. It’s not much of a site yet, but it does have the basic information for the project.

Spread it around! Shout it out from the moutaintops!

http://www.northerngeeks.info/

We’ve even got a Twitter account…

http://twitter.com/northerngeeks


Social Bookmarking
Link

I Want To Ride My Bicycle [Jul. 5th, 2009|08:16 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Pennyfarthing

My bike is dead. I was asked to sign its death warrant yesterday. It was in pretty poor shape. It was the best thing I could do for it.

I admit I’ve not cycled for over a year. The bike I had been using was donated to me by Cat’s dad. It was rather too large for me, but it was a touring frame and rode well. Unfortunately I don’t agree with non-indexed shifters located on the bike frame, and this cough may have cough caused a few cough slips. Nothing epic, just a few occasions where I may have been forced to cough stop, due to a lack of chain on gear.

Oddly though, I’ve not suffered a serious crash on it, which I can’t say for my beloved pearlescent-yellow Muddy Fox MTB, on which I was hit by an ASDA lorry, side-swiped by a car on an estate, knocked flying by a pair of yobs in a white Fiesta into a bramble bush and finally, hit an unseen grate and slid for 25m on my face. That particular bike was nicked from my parent’s back yard when I came back from university and I was absolutely devastated.

Now I’m needing a new bike. I’m looking for a second hand road/race bike, 50-54cm frame size, drop bars and shifters on the bar. The last point is rather important (see above). I’ve missed two bikes in the past week that fitted the bill on Ebay. I’ve got a budget of around £150, if you know anyone selling, or if you’re selling yourself, drop me an e-mail.


Social Bookmarking
Link

Tweetup Manchester [Jun. 24th, 2009|10:39 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Well that was a fun evening.

Just a quick note to say we’re back from the Tweetup hosted by Sweet Mandarin. An absolute damn fine way to spend an evening: good food, good weather and good company. Lisa and co provided dim sum, a half dozen of us decided to stay for a full meal.

This is a brilliant example of how to use social media to promote your business and get it right. A few messages in the right place, and a genuine interest in people. No high and mighty pretentions, but simple ideas promoted well. I applaud you girls.

One trick they have missed… Sweet Mandarin does a £10 all you can eat Dim Sum at the weekends. I think they should be pushing this more, If the rest of their menu is anything to go by, this is superb value for money. If you’re in Manchester this weekend, drop by and give them a try, you won’t regret it.


Social Bookmarking
Link

Kian’s Rules For Freelancing [Jun. 23rd, 2009|10:58 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

I occasionally make insightful, if somewhat obvious posts to the GeekUp community. One of my most linked to and pointed posts was in response to a common thread: “how to set up a freelancing business”. I formed “Kian’s Rules For Freelancing”, and present them here for your consideration. The old footnotes are recorded with numbers, the new footnotes are recorded with roman numerals.

Kian’s Rules of Freelancing

  1. Try and hit the ground running.
  2. The customer is not always right. They are, in many cases wrong.
    • The customer is rarely right. Often they’re very wrong.
    • The customer is never right. They are always wrong.[i]
  3. There are approximately 9 usable business hours in a day. Any more, and you’ll kill yourself.
    • Those are 9 business hours. Not necessarily 9 hours coding. Some days, you will do bugger all coding.
    • That is an average. There may be the occasional “oh shit” race condition which means that there becomes 26 business hours in a day. Remember to balance it out.[ii]
    • If you’re working less than nine hours a day, make sure the money is still coming into the pot.
    • As Paul Robinson has observed, GeekUp, open-source projects and community are often “business”. Remember to factor that in. [iii]
  4. Try not to bite off more than you can chew. [iv]
    • You are a developer, not a designer. If you need designs, hire a designer.
    • You are a developer, not a network engineer. If you need network support, hire a monkey.
    • You are a developer, not a 24-hour on-call support service[1]. If you need a 24-hour on-call support service, hire a minion.
    • You are a developer, not a one-man army of God. You are not going to single-handedly end poverty, restore world peace and produce cool music[2].As such, if the project looks like it needs an army, consider hiring an army.[v]

Footnotes

[1] Unless you’re stupid enough to sign up for that.

[2] Unless you’re Bono.[3]

[3] Or me.

New Footnotes and Annotations

[i] Usually this boils down to “the customer does not know what they want”. The sign of a good freelancer is the ability to beat the client’s real requirements out of them. A stick is a tax-deductible tool.[vi]

[ii] See the past three weeks of my life for a good example of this.

[iii] When you attend these events as a regular “Joe Blogs”, an employee for something-corp, you treat these events as learning experiences, possibly networking, but generally for fun. When attending these events as a freelancer, yes you’re doing all of the above, but you’re keeping an ear/eye open for new opportunities. That takes energy. Factor it in.

[iv] Refer to One Another As I Have Referred You (refer work to others, and hopefully they will refer back to you)

[v] Projects have costs. A business has to spend money. Spend money to make money. Learn. This. Lesson.

[vi] This is not a slight on businesses. Requirements capture is by its very nature hard.


Social Bookmarking
Link

Conferences, Geek Events, etc. [Jun. 11th, 2009|10:26 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

I admit that I have been somewhat absent from community offerings for the past few months. The projects that I am currently working on have been a little hectic, with some appropriate last minute deadlines changes.

But

I’m hoping that July is going to be a free month. Completely free to do with as I please. As such, I am planning on taking it easy, pimping for some new work to start in August and catch up with those community events I managed to miss since Christmas.

So the question to you lot is - where would you like to see me over the next month. I can turn up and talk on a topic, or just turn up and be generally awesome. Tell me where you would like to see me over July, and I’ll try and book it in.

Oh and whilst were here, please take a look at this post by The Hodge. He could do with your support.


Social Bookmarking
Link

Northern Geeks [Jun. 11th, 2009|10:01 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

photo-13

Now my new larger easel has finally arrived, I can announce one of my new projects. “Northern Geeks” will be a series of portraits of geeks in the north, showing them in their natural habitat and “at play”. I want to show geeks are people too.

The final images will be put into an exhibition, put online and be made available as a book.

So I need volunteers. If you would like to be part of this project, please send an e-mail to kian@kianryan.co.uk with the subject “Northern Geeks” or comment on this post. Please enclose a small “geek bio”, and what you do for kicks (this can be something tech related or completely different). Sport, gaming, gardening, gerbil farming, anything. I’m looking to shoot and print in July with an aim to exhibition in August/September. If your natural habitat is a company office, please ensure you can gain permission to be photographed there before applying. All volunteers will be given a copy of the book as thanks.

Go on - be a part of something special.


Social Bookmarking
Link

Geek Girl Dinner - Manchester [Jun. 5th, 2009|08:05 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Last night Cat took me to the Geek Girl Dinner in Manchester. What’s a Geek Girl Dinner? Well most tech events have a heavy male ratio and bias. Geek Girl Dinners (GGDs) aim to change that balance by only allowing boys to attend that are invited by the girls as dates. In a non-poly recognising environment, each girl is allowed to invite one boy.

Discussion was varied last night, ranging from female attitudes in the workplace, to what women bring to the workplace, why on earth does it all matter anyway to problems with the education system and nurturing the geek spirit. The evening was kicked off with a talk by Lesley Allger from BAE Systems. Although I thought the conversation was positive, not everyone agrees.

Food was excellent from the “Old Abbey Inn”, paid for in part by BAE. We were all sent home with “breakfast bags” of tea and marmalade, currently being consumed while I’m writing this post.

Many thanks to Gemma Cameron for organising the evening.

GGD-1

GGD-2

(Apologies for the quality of the photos, Cat will be posting better ones later.)


Social Bookmarking
Link

UK Votes [Jun. 3rd, 2009|10:23 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Reposted with permission. I believe in this strongly:

If you do one thing tomorrow make sure it’s that you go to vote. I don’t care who you vote for, that’s your choice, I don’t care if you take the ballot paper home to use as loo paper. What I do care is that people turn out, that they register that they’ve turned up to vote and that if they don’t vote for a candidate it’s an active choice rather than

“Don’t trust any of them, can’t be bothered going to the polling station”

Make it an active choice, show these weasels that you’re not disconnected, that you do care, and if you’re anything like me it’s that you don’t care for any of the current bunch of self-serving w*kers.


Social Bookmarking
Link

Because Good (Free) Fonts Are So Hard To Find [May. 29th, 2009|12:46 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Those who have to dip their toes into the life of a designer once every so often understand the importance of typography. One of the hard parts of typography is finding the right typeface that isn’t going to break your piggy bank (or your client’s piggy bank).

This morning Tamara pointed me to Font Squirrel . To quote from Font Squirrel’s website:

” We know how hard it is to find quality freeware that is licensed for commercial work. We’ve done the hard work, hand-selecting these typefaces and presenting them in an easy-to-use format.

It’s a simple directory of excellent, high quality, free fonts. Well done guys and keep up the good work.


Social Bookmarking
Link

ASP.NET - Forms Inside Forms. [May. 18th, 2009|11:51 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

“It is a truth universally acknowledged, that an ASP.NET page in possession of a component, must be in want of a form.”

I’ve just come across this sticky little scenario in one of my projects:

ASP.NET components need to be wrapped in a form tag for their post-back magic to happen. As such, the form tag is usually as high level as it can possibly go (usually just inside the body tag). Some mailing list (sorry - mail marketing) companies provide you with a HTML form to integrate into your site so users can subscribe to the site’s mailing list. Sometimes these forms also come with a little chunk of Javascript to perform some page validation before performing the post.

So what we’ve got looks like this:


<script src="somethirdpartyvalidator.js"></script></p>

<form id="Form1" method="post" runat="server">
    <form id="MailingForm" method="post" action="somethingremote.pl" onSubmit="validate(this);">
        <!-- Insert some form components here -->
        <input type="submit" value="Submit" />
    </form>
</form>

<p>

And here’s the fun. When you click the submit button, it doesn’t perform the expected behaviour and perform a post to somethingremote.pl. Instead it performs a regular post-back to your site and (most likely) will do diddly squat. The culprit is __doPostBack, injected by ASP.NET at runtime, which hijacks the onSubmit event of the parent form to provide the post-back functionality. Your poor little mailing form doesn’t even get a look in.

The answer is to provide a little roll your own javascript for your own submit functionality. This article demonstrates a version of this technique. My version of the is shown below:


<script language="javascript" src="somethirdpartyvalidator.js"></script></p>

<script language="javascript">
    function submitForm() {
        var theForm = document.getElementById('signupForm');
        if (validateForm(theForm) != false) {
            theForm.encoding = 'application/x-www-form-urlencoded';
            theForm.action = 'somethingremote.pl';
            theForm.submit();
        }
    }
 </script>

<form id="Form1" method="post" runat="server">
    <form id="MailingForm">
        <!-- Insert some form components here -->
        <a href="javascript: submitForm();">Submit;</a>
    </form>
</form>

<p>

The variation from James Byrd’s original article comes from which form we submit. In the original, James posts the global form (in our example Form1) and instructs the reader to simply blank out any values they may not want to communicate to the third party. This seems overly permissive to me, especially in a potentially dynamic environment where you may have hundreds of components and as such my version simply selects the target form from the page before passing it through the validator and performing the submit action. The postback event is avoided, the third party only gets the data they need and the world is a happier place.


Social Bookmarking
Link

A Simple Generic Repository for Linq to SQL [May. 7th, 2009|05:02 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Two code posts in one day, aren’t you lot lucky?

I’m currently working on a small project working with Microsoft ASP.NET MVC. I admit I’m rather enjoying the experience, it’s nice to get back to proper bare metal GETs and POSTs with non of the fluff of normal ASP.NET getting in the way. Since this is a relatively simple project I’m using Linq to SQL rather than the Entity framework. Whilst putting some boilerplate code together (after following the excellent NerdDinner tutorial) I realised there was a lack of a simple generic repository for common object operations. So I present to you my basic, generic repository:


using System.Data.Linq.Mapping;
using System.Linq;
using System.Linq.Expressions;
using BrandingScience.Models;
using System;</p>

<p>public abstract class Repository<T, C> where T : class where C : System.Data.Linq.DataContext, new()
{
    private C db = new C();</p>

<pre><code>// Query Methods
public IQueryable&lt;T&gt; FindAll()
{
    return db.GetTable&lt;T&gt;();
}


public T Get(int id)
{
    MetaTable mapping = db.Mapping.GetTable(typeof(T));
    MetaDataMember pkfield = mapping.RowType.DataMembers.SingleOrDefault(d =&gt; d.IsPrimaryKey);

    ParameterExpression param = Expression.Parameter(typeof(T), "e");
    var p = Expression.Lambda&lt;Func&lt;T, bool&gt;&gt;(
          Expression.Equal(Expression.Property(param, pkfield.Name),
          Expression.Constant(id)),
          new ParameterExpression[] { param });

    return db.GetTable&lt;T&gt;().SingleOrDefault(p);

}

// Insert/Delete
public void Add(T t)
{
    db.GetTable&lt;T&gt;().InsertOnSubmit(t);
}

public void Delete(T t)
{
    db.GetTable&lt;T&gt;().DeleteOnSubmit(t);
}

// Persistence
public void Save()
{
    db.SubmitChanges();
}
</code></pre>

<p>}

T is the table class you want to create the repository for, C is the DataContext created by Linq to SQL. Pretty straightforward. A typical implementation looks like this:


public class JobRepository : Repository<Job, MyDataContext>
{
}</p>

<p>public static void Main(string[] args)
{
    JobRepository jobRepository = new JobRepository();
    List<Job> allJobs = jobRepository.FindAll();</p>

<pre><code>// Return a single item and change the title.
Job job = jobRepository.Get(1);
job.Title = "Mutated Gerkhin Production";

// Create a new item.
Job newJob = new Job();
newJob.Title = "Mutated Gerkhin Anti-Coagulant Production";
jobRepository.Add(newJob);

// Delete an old item.
Job removeJob = jobRepository.Get(2);
Console.WriteLine(removeJob.Title); // Output: Survival of human race.
jobRepository.Delete(removeJob);

// Save all changes to the repository.
jobRepository.Save();
</code></pre>

<p>}

This version currently does not support dependancy injection, which is something I’ll be looking into shortly. But for now, it saves a heck of a lot of time to just get the simple stuff done. I’m surprised MS didn’t actually ship Linq to SQL with something similar.


Social Bookmarking
Link

Javascript Intellisense & jQuery.noConflict(); [May. 7th, 2009|04:38 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

I’ll make no bones about it, VS08 SP1’s Javascript Intellisense saves me from having to dive into the docs every five seconds. Not having that fingertip intelligence to my hand would probably cost me quite a bit of time each day. However, since I often end up using multiple frameworks in one project, I tend to use the jQuery.noConflict(); to avoid it conflicting with the other frameworks. Unfortunately, the moment you stick var $j = jQuery.noConflict(); into the top of your javascript file, your intellisense will break for the rest of your script. I’ve currently got two methods for handling this:

1 - Create a “preload” file

This is a small script that sits in between loading jQuery and loading your page scripts. All it contains is the following statement:


    var $j = jQuery.noConflict();

Save it as preload.js and you can then sandwich this in between loading the jQuery framework and loading the page scripts as so:


<head>
    <script type="text/javascript" src="scripts/jquery-1.3.2.js"></script>
    <script type="text/javascript" src="scripts/preload.js"></script>
    <script type="text/javascript" src="scripts/whatever-you-want.js"></script> 
</head>

In your actual work scripts, you can then reference jQuery and the preload using the standard VS reference notation:


/// <reference path="jquery-1.3.2.js" />
/// <reference path="preload.js" />

Visual studio will have sorted out it’s type resolution for $j meaning that so long as you also have the jQuery .vsdoc file in the same folder as jQuery you get this glorious view:

Noconflict

The pros of this technique are that you can drop in new versions of jQuery at a whim and not have to worry too much about having to update preload.js. Of course the downside is that preload.js then needs to be sent to the client, with all the associated overhead of a get request.

2 - Append noConflict onto jQuery

There are those that will believe that the jQuery file is sanctimonious and should never be tainted by a developer’s touch. As it is I’m already using ASP.NET and cursed for all eternity, so how much worse could it be? So path two is pretty straightforward, open up the jQuery and jQuery.vsdoc files and add var $j = jQuery.noConflict(); to the bottom of the file. Again, this will sort out all the resolution gubbins while you’re working away in your own scripts.

Just remember that if/when you update your original jQuery files to also replace the noConflict statement at the bottom.


Social Bookmarking
Link

At This Space Exhibition [Apr. 26th, 2009|08:41 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

The “At This Space” exhibition is opening on the 26th April, at 5pm. I’m invited to the private viewing and you’re not, so neerrrr. If you want to try and bribe your way in (there’ll be free drinks, and people, and cheese[1]), then drop Cat Ashton a line and she’ll try and weasel you in. Cat’s work is being exhibited there as part of the exhibition.

Otherwise please, please, please drop by Tuesday to Saturday, 10am til 6pm. These are young, upcoming, budding artists who need all the support they can get. Hell, one of them may even be the next Henri Cartier-Bresson or Richard Avedon. The exhibition is being held at the rather fancy-pants Urban Splash location in Castlefield:

Urban Splash (Mooch)
Worsley Street
M15 4LD

I was there today helping put up some of the work, and occupying space at other times. The exhibition looks great, the space is superb and there’s some excellent work on the walls. All very much worth your time.

At This Space Poster

[1] I may be lying about the cheese.


Social Bookmarking
Link

Bob 11 - Fiscal Bob (In Technicolor!) [Apr. 16th, 2009|04:11 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

11 Bob Stimulus


Social Bookmarking
Link

Wikis - Add Salt and Pepper to Taste [Apr. 15th, 2009|10:42 pm]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Wikis are wonderful collaborative tools for project development teams. They’re lightweight, straightforward and usually fit in well with the way most developers think most of the time.

But occasionally, just occasionally one of your developers may be something of a black sheep. Maybe they don’t like the way a certain part of your corporate wiki looks, or want some customised behaviour for getting rid of irrelevant parts of the page. Maybe they want to improve their productivity (I know, an alien concept).

Take for an example a project I’m currently working on. One of our wiki pages is a rolling todo list, where new items are added under various categories as additional <li< elements in a list and as tasks are completed they’re struck out with a <del> tag. As you can imagine, after a while, this page has become something of a swamp of strikethroughs and it makes it very hard to judge the amount of work remaining.

In some cases, custom stylesheets may be adequate. But in other cases, you may need a little more flexibility. “User Scripts” are a recently modern concept that have been popularised through the Greasemonkey Firefox extension for use with common web application such as Flickr, Facebook and Gmail. User scripts provide flexibility above and beyond the scope of the original application.

So why not apply this to wikis as well? So today, I wrote the world’s smallest user script to hide the deleted lines in the wiki:


$(document).ready(function () {
    $("del").parent().parent("li").hide();
});

You’ll notice that I’m using JQuery rather than vanilla Javascript. JQuery is my library of choice and there’s no reason why you can’t use yours either. There are a few solutions for loading JQuery at runtime, my preference is to simply copy the compressed version into the header of the script. Since the script is loaded locally, the additional 50k is neither here nor there.

For the Safari lovers, there’s also GreaseKit (Mac OS X only alas), which provides similar functionality. I’m currently using this since I’ve given up on Firefox for a while (I blame Caius).

Now I’ve got a cleared down wiki and I can focus a bit on what I’ve got left to do. You can too. Or comment with an idea for novel wiki functionality.


Social Bookmarking
Link

Gardening for Geeks [Apr. 15th, 2009|10:25 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Audrey

Here at Tentacle Towers we have the typical urban gardening facility - a yard. Your typical yard does not really lend itself to being transformed into a urban garden paradise of self-sustenance, but we’re giving it a jolly good shot.

Growing vegetables tends to throw up images of hours of back-breaking work, pitch forks, west country accents and the sounds of the Archers. Oddly, non of the above it required, except possibly the Archers (or at least a radio tuned to Radio 4). What it does require is time, a bit of money to initially invest, and dirt. Ideally some compost.

Veg tends to broadly fall into three categories: 1. Straight to pot - the easy one. Take a large container of dirt, add some seeds, water and harvest in a few months. Straightforward enough. 2. Incubate and destroy - a little harder. Requires small potting things, and somewhere warm to germinate and grow. When your seedlings are large enough to eat a small human, transfer into the obligatory large container of dirt later. 3. Herbs - easy, but … odd. Can be kicked off in the open, or in the greenhouse. We already have a few containers of herbs, but are starting off this year’s seedlings in the greenhouse.

Important bits: * Greenhouse - this doesn’t have to be the epic huge glass house that your Aunty Mabel grows her begonias in. The Range and B&Q both sell a small greenhouse which is essentially nothing more than a series of shelves with a plastic cover. The only real difference between that one and Aunty Mabels is Aunty Mabel’s is significantly larger. * Containers - if you let them, containers can be expensive. The most we’ve paid (so far) for a container is £25 for a container to hold our Jerusalem Artichokes. The best containers are often the most novel ones. Our potatoes are in garden refuse buckets and one of the herb pots is an old barbecue.

Garden

And to prove it works, broccoli making a bid for world domination.

Broccoli


Social Bookmarking
Link

How to radicalise a middle class white man. [Apr. 8th, 2009|09:36 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

1984-movie-bb_a1

“Why 1984 won’t be like ‘1984′”

– Apple advertisement, 1984.

Steve Jobs, you lied to us! Or at least to those of us in the UK. Every day we appear to be getting more and more Orwelian. That seem like a radical statement?

The state can (and does) watch you, but you can’t watch the state.

It’s now illegal to photograph police officers. General street photography will get you hassled by the authorities and possibly arrested. Due to anti-terrorist laws, you can be now be detained for 28 days without being charged. You can simply disappear. You can be watched almost anywhere, scolded by CCTV but CCTV isn’t helping to cut crime. And for your safety and protection it turns out that CCTV has to be up to a given standard.

You only have to be suspected of a crime to be branded a criminal.

Be arrested and have your DNA taken and stored on a national database. For anything, really, anything. Even handing in a mobile phone you found on the street. You don’t even have to be charged. Children too, so you can be tracked throughout your entire life. Although don’t expect convicted criminals to be on there. Even though the EU ruled this was illegal, the government refuse to act on it. To quote the court:

“the retention in question constituted a disproportionate interference with the applicants’ right to respect for private life and could not be regarded as necessary in a democratic society”

We know where you live, we know where you work, we know with who you sleep.

The government persists in pushing for a centralised database and compulsory identity card scheme, even attempting to backdoor acceptance by enforcing their use for asylum seekers and airport workers. Attempt to renew your passport to leave the country, and have your details recorded (from 2011). The government has a proven track record of losing information, and using what they do have inappropriately.

For the good of society, we will restrict the materials you have access to.

Under 18s can’t purchase spray paint (legally 16, but that doesn’t stop over-entusiastic retailers), in case they act anti-socially with it. Under 21s can’t purchase peat based compost in case they’re making bombs (again over-enthusiastic retailer). In some places crackers can’t be purchased by under 16s because they’re considered “explosives”. And don’t think that looking older will save you. 72 and looking young. And if you’re 47, don’t try to be sly by getting your ID enabled 22 year old to buy alcohol on your behalf. Heaven forbid they may give it to you.

It is the responsibility of all citizens to spy on their fellow citizens.

A recently launched poster campaign asks citizens to report suspicious behaviour. This is the second such campaign, with the first already being poorly received. Suspicious behaviour consists of noticing CCTV cameras, and depositing containers which held chemicals. The second of these would brand us terrorists every time we enter the darkroom.

“Every normal man must be tempted at times to spit upon his hands, hoist the black flag, and begin slitting throats.”

– H.L. Mencken

Taken individually, most middle class regular white people would consider them safe, acceptable, almost sensible measures. But there comes a point where all these points come together and start to hamper everyday life. Where you become acutely aware that you are being watched, that you are being measured and that any deviance from the accepted norm suddenly brands you a potential criminal.

“And then they came for me, and by that time there was no one left to speak up.”

First they came, Martin Niemöller

And this is how this government will score an own goal. Because to push these policies through, regular, white, middle class people have simply to do nothing. But as more and more policies encroach on everyday life under the banner of being “for our own protection”, more and more will take notice. And more people will act. Until these policies can be pushed no more.

But there could be a point where it is too late. If civil liberties are eroded one at a time, there will not be a single large enough voice to act on it. And so we must look beyond ourselves and to the civility of our neighbour and stand up for their rights as well. Because if you stand by and do nothing when they are taken away, who will stand by you when they come for yours?

http://www.no2id.net/


Social Bookmarking
Link

Beef Casserole with Dumplings [Apr. 1st, 2009|08:43 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

What to do with a large quanitity of root vegetables? Well, the only logical answers are to stew it or casserole it. Here’s my basic recipe.

Ingredients

  • 500g Shin Beef, Diced
  • 2 Carrots
  • 1 Parsnip
  • 2 Onions
  • Fresh Rosemary
  • Bay Leaf
  • Beef Stock Liquid

Directions

  1. In a frying pan, heat a little oil, fry off the beef and onion with a little rosemary. Add to a casserole dish.
  2. Scrub/peel carrots and parsnip. Add to casserole dish.
  3. Add rosemary and bay leaf.
  4. Add enough made up stock from liquid to cover meat to cover contents.
  5. Cook at 200oC for 1 hour, then drop to 80oC continue cooking for 1.5 hours.
  6. Mix 1/3 suet to 2/3 self raising flour for as many dumplings as you want. Add a little salt, and rosemary if you wish.
  7. Add water to the dumpling mix until a sticky, moist mixture is reached.
  8. Spoon mixture into casserole dish. Either leave of surface or push under surface.
  9. Turn oven back to 200oC and return casserole dish to oven for 30 minutes.

Just before adding the stock and committing to the oven: casserole

Fresh rosemary - no garden or kitchen should be without it: rosemary


Social Bookmarking
Link

Abel and Cain (Surely Cole? - ed) [Apr. 1st, 2009|08:31 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

It’s a well regarded fact that geeks often live off a combination of pizza, Coke (Dew for our Merkian and enlightened home bretheren) and foodstuffs that generally come with an immediacy. Quite a few of us are also food-geeks, but our planning faculties tend to let us down in having raw materials to hand to put dishes together. Despite the fact that I live around the corner from the major supermarket (and I really do mean around the corner), I am particularly pants at getting, and then using fruit and vegetables everyday. Until the garden proper kicks off, we decided to start getting our vegetation in from Abel and Cole. The idea is working on the time honoured principal that if someone thrusts it in our face, we’re going to eat it.

There’s also the benefit that Abel and Cole boxes are organically sourced, and all UK produce, zeroing the air miles as well. Ignoring the fact that a little man comes and delivers it to the door, it’s significantly better for the environment, see?

So, for a first time out we decided to order a mixed medium box, some mushrooms and a loaf. Pretty standard fare, except that we were told “order over £20, get a mixed box free”. Which meant that when the box arrived, we were greeted with this:

abel-and-cole

Oh holy, moly. That’s a lot of food. :-)

For the inventory, there are potatoes, carrots, parsnips, onions, rocket, radishes, broccoli, apples, plums and oranges plus the mushrooms and bread we bought extra. The potatoes are smaller than those you’d be expecting from your supermarket, as are the onions, but there is a significant difference in taste.

Out of this fine assortment, there’s a (broccoli) bit that Cat (rocket) can’t (radishes) or won’t eat. Abel and Cole have a preferences system so you can adjust what they will and won’t send to you. We clearly need to do a little more tweaking on ours, but for a first effort, not bad at all.

So what to do with a mountain of good quality food? Well, best cook it. See the next post for my basic, but nommish beef casserole recipe.


Social Bookmarking
Link

Welcome to the LifeTrack [Apr. 1st, 2009|08:04 am]
This post appears on kian ryan - code, photography, bob available here. If you want to leave a comment, please do so on this page.

Welcome to the LifeTrack, feel free to ignore it ;-)

This is a new category for the blog that’ll be dealing with me getting life, funnily enough, back on track. It’s going to be about food, gardening, exercise and most likely have little or nothing to do with code, photography, bob. Since graduating in 2003, I’ve wrestled with my work/life balance, usually falling far too far on the wrong side of work. This year I didn’t just decide that enough was enough, I decided to actually act on it. Also, in a world of economic recession, being sensible and looking after my primary business asset (me) as also in my best interests.

Over the course of the year, there’ll be updates to the state of the garden as we attempt to grow our own fruit and vegetables, possibly the occasional recipe and tips for attempting to keep your life in a roughly working order.


Social Bookmarking
Link

navigation
[ viewing | most recent entries ]
[ go | earlier ]

Advertisement