Slip Sliding Away

The draft of the building survey arrived – wahey. The surveyors’ secretaries are very lovely and helpful when I ring them which is good news as I have done that three times this week already!

The actual survey is not such good news. There’s just a whole host of things wrong with this house. For the first time I am realising how seriously we can’t afford a project on this scale! There’s damp chimneys, rotten floorboards, another boiler which we were specifically told there wasn’t, missing/defective internal doors … you get the picture, and it gets worse.

Gone to the wall

The property is steep and our garden is a few feet up from the next one – the survey says that the retaining wall (20-30 yards long and about 4 feet high) is “on the point of becoming unsafe”. That could be expensive. Its a horrible reason to lose all the money we’ve already paid out on the house, but that will be cheaper that it will be to take on a house with a wall we are liable for and can’t afford to rebuild.

I’ll keep you posted, and in the meantime I’ll leave you with my favourite quote from the survey document:

The kitchen could be considered functional.

Read the previous parts of this story in Rotten Survey Results, Mortgage Application, Arranging a Mortgage and Offer Accepted

Rotten Survey Results

I knew things were going too well, I really did.

The valuation survey has come back. Its a pretty slim document (3 pages) with tickboxes to say how many bedrooms the house has and whether its made of brick. However, there is one paragraph of text and it says that the beams in the floor under the bathroom and adjoining back bedroom are rotting and that their recommendation is that this be rectified before the mortgage is secured on the property. Eeek!

We’ve ordered a full structural survey as well so we’re waiting for that to appear and hopefully that will give us more of a clue about what we are up against, but I’m not sure we’re allowed to go pulling up floors or ripping out bathroom fixings in a house that isn’t ours so I don’t see how we can even find out what its going to cost until after we’ve completed. Hopefully someone will tell us what to do next.

The one redeeming point is that the bank have written to say they are satisfied with the valuation and that we can have the mortgage. The letter also says that they “draw our attention” to the section which says the ceiling might not survive, which amused me :)

Tomato Sauce

An easy tomato sauce recipe to make in the microwave.

Slice one onion and put it in a microwaveable dish. Add one tablespoon of olive oil and microwave on high for three minutes.

Add one tin of chopped tomatoes, some tomato puree (one tablespoon or one of those little tins). If you don’t have tomato puree, ketchup is fine but not too much. If the tinned tomatoes are budget supermarket ones, add one tsp sugar. Add pepper, salt and herbs (basil is good) and microwave for three more minutes.

If you have a hand-blender, “zuzz” the mixture until it is coarse rather than actually chunky. Leave to stand as long as you like, then when you are serving up the food, pop it back in the microwave for another minute.

Extending DokuWiki’s Authentication Classes

DokuWiki is a fine product, and its extensibility is a big element of that. I’ve known for a while that it has different authentication classes, and I’ve even used some of the different ones it comes with. Recently I had cause to write my own, to marry up with some user information stored in an Oracle database table, and used to access the company intranet. Working with DokuWiki’s skeleton classes to create my own was much easier than I expected and here’s my experience.

Choosing the class to extend

Since my requirements are pretty simple, my new class extends auth_basic – and I used the plain.class.php that comes with DokuWiki (for plain text authentication) as a template to guide me.

The first step was to chop out most of the functionality. This is done by setting the class’ cando properties to false, which was quick. My system has all its user maintenance and so on done elsewhere so I don’t want users to be able to change passwords or anything. My declaration now reads:

class auth_symphony extends auth_basic {
    var $users = null;
    var $_pattern = array();
    /**
     * Constructor
     *
     * Carry out sanity checks to ensure the object is
     * able to operate. Set capabilities.
     *
     * @author  Christopher Smith <[email protected]>
     */
    function auth_plain() {
  $this->cando['addUser']      = false;
  $this->cando['delUser']      = false;
  $this->cando['modLogin']     = false;
  $this->cando['modPass']      = false;
  $this->cando['modName']      = false;
  $this->cando['modMail']      = false;
  $this->cando['modGroups']    = false;
      $this->cando['getUsers']     = false;
      $this->cando['getUserCount'] = false;
    }

Getting the information to dokuwiki

I included the standard library that we use here with all PHP pages, that handles things like database connection setup and so on. Then I altered the function _loadUserData(), creating a new empty array for $this-users and then then running a select statement and populating the array with the results. I found it useful to get the wiki working with plain text authentication first and just a couple of users set up so I could observe the output of the various functions. Here’s the altered function:

    function _loadUserData(){
    $this->users = array();
	

$L_sql = "
SELECT u.user_name
,u.extranet_pass
, d.dept_code
,u.full_name
,u.email
FROM vis_users u
, vis_subdepts d
WHERE d.subdept_code = u.subdept_code
AND u.extranet_valid = 'Y'
";

$L_bind_in = array();

$L_results = exec_sql($L_sql,$L_bind_in);

foreach($L_results as $L_result) {
$this->users[$L_result['USER_NAME']]['pass'] = md5($L_result['EXTRANET_PASS']);
$this->users[$L_result['USER_NAME']]['name'] = $L_result['FULL_NAME'];
$this->users[$L_result['USER_NAME']]['mail'] = $L_result['EMAIL'];
$this->users[$L_result['USER_NAME']]['grps'] = array('user',$L_result['DEPT_CODE']);
}
}

if anyone can make any suggestions about pasting clean code snippets in textpattern, I’d be grateful! In the meantime, I apologise for the state of the above example

I removed the functions for creating, modifying and deleting users as I had already told my class it couldn’t use those.

The results

All in all this was quite simple to get working, and DokuWiki is designed to have its authentication functions replaced in this way which is invaluable. We also created a new template for the site and hey presto we’re ready to go with no further modifications1 and no hassle when upgrades come around.

1 OK so actually I added some class definition to the breadcrumb hyperlinks because I changed the bar colour, but that’s almost no modification!

Mortgage Application

This whole house buying lark is progressing quite well, or at least it feels like it right now. Since I last posted we’ve been to the bank and made the final mortgage application, passed the final credit checks and had the thing approved. Next they send us the final paperwork to us through the post to sign. Filling in the forms was pretty tedious – as was talking about income protection provision and pensions and so on but we got there in the end.

We’ve instructed a solicitor and they sent us a big complicated letter yesterday. Actually, calling it a letter is a bit of an understatement, a novel is nearer the mark. I waded through it last night and had to sign all sorts of bits of paper about modifications made to the house, searches required and who knows what else. The language makes it seem big and complicated, but once you read through it and see past the sheer volume of paper then it isn’t too bad.

The surveys should be happening next week some time so we’re waiting for those and the searches now … fingers crossed for everything being in order!

Offer Accepted

Well, we had an offer accepted on a house yesterday which is very exciting! This morning we instructed a solicitor, he will do all the legal stuff for us. I’ve also spoken with the mortgage provider and we’re off to see them on Saturday morning. We have to provide a load of paperwork like payslips, bank statements, ID and proof of address so something tells me that tomorrow night will be a frantic root through the flat to find all the relevant documents!

All in all I’m quite excited but trying not to be too excited as there is plenty of scope for it all to fall through! It will be really great to have a place of our own though – all our stuff is in storage at the moment and I can’t even remember what furniture we really have. One thing is for sure, its going to look quite lost in the new house as all our stuff was bought for a small, modern 2-bedroom terraced house. Now we’ve got a 1930s 3-bed semi and its on quite a different scale!

Arranging a Mortgage

Well, we’ve taken the first step and been to see a few banks about getting a mortgage. I have to admit that we did stick to the big names – Halifax, HSBC and Yorkshire Building Society. My partner is a contractor with short-term contracts, which on paper makes him look quite unemployed! Yorkshire Building Society said they couldn’t recognise his income which ruled them out but the other two were very helpful.

An appointment at HSBC later [1] and we’ve got an agreement in principle for way more than we intend to borrow and its off to the estate agents.

We’ve now seen a house we like but its a bit (very) dilapidated inside so we’re just thinking of a number now and will be offering later today or tomorrow.

edit: update! see offer accepted

1 That was 29th August, 2006, for reference. We might want dates when its all over!

Crochet Love-Knot Wrap

You might think that I’ve been a bit quiet on the crochet front recently … and you’d be right. What’s actually happening is that I have been working on a surprise project for my sister’s birthday and didn’t want to post about it until I had given her the present1!

So here goes. I made for my little sister’s 21st birthday last month a wrap. Its rectangular, the dimensions of one of those pashmina scarves. The stitch is a “lover’s knot” which is much easier than it looks. I had a hard time getting started with it but once you learn the stitch its quite easy. The hard part was easily keeping all the loopy stitches the same amount of “loopiness” so the grid stayed the same size. Here’s a closeup:

The pattern was originally for a triangular shawl, it starts from a point and grows out diagonally, but it worked perfectly well to put corners in and work it that way instead. The result is much more versatile too – here it is folded in half:

For the trimmings, some basic beads with tassels. I chose irregularly shaped and non-matching beads which worked really well. The wrap itself is cotton DK plus a fluffy 4ply mohair type yarn together and the slightly mismatched beads stop it from looking too tidy:

Any questions please just add a comment and I’ll reply as best I can.

Diet Oracle – working with Oracle eXpress Edition

I’m a big oracle fan, which might seem a bit strange in a world dominated with the LAMP stack and its exclusive use of MySQL or, at a push, Postgresql. That’s not the entire world obviously, that’s my world and it is definitely MySQL-orientated. In the world of work however, I’ve had extensive exposure to Oracle and think its great, so I was very excited when I saw the free mini-Oracle be released earlier this year. These are my first experiences of working with it.

Installing Oracle XE on Windows.

OK so I’m not actually going to use this on windows really but when I tried to install this on Linux I had a major problem right at the outset. There is a choice of either a .rpm or a .deb file to install from and since I had sent my sysadmin to the supermarket, I had no idea which I needed! The windows installer promised to be point-and-click and since I’m actually running Windows on one machine at the moment (grr wireless drivers grr) I was tempted by the idiot-proof windows installer so I grabbed that.

Well, idiot-proof was a gross understatement! I ran the installer, it asked me where I’d like the files put and then to input a root password, and the next thing I know its all done and inviting me to log in. I’ve installed Oracle many times on Windows and believe me, its not supposed tobe this easy. Anyway it works, I’ve been chattering to it on command line and everything is cool. The next step is to get it installed under Linux – it turns out that our Ubuntu server would like the .deb file best, so I’ll try that out and keep updating here.