Tuesday, March 31, 2009

Hardware Redundancy

Knowing how far physical hardware is apart from redundant clones is important when thinking about the scale of risk you are trying to mitigate.

I propose the use of a Physical Separation Index (PSI) to help model this:

PSI 0 = In same machine / enclosure
  1. In same rack
  2. In same room
  3. On same floor / area of building
  4. In same building
  5. In same city
  6. In same country
  7. In same continent

Thursday, May 17, 2007

USB Memory Drive Lid - DIY

If I had £1 for everyone I knew who'd lost the lid to their USB pen drive.Well I lost mine too, and was bored at lunchtime so, here's how to make a DIY usb lid for your flash drive.


I built mine for a Corsair unit, but the technique is applicable to most drives that have a attachment loop at the opposite end to the USB connector.



Usage:
  • Pull the cap off to remove (Lid stays attached) Stetch the rubber band and put cap back on.
Features:


  • Low cost
  • Won't fall off Attached, so you can't lose the lid
  • Easy to make in minutes
  • If it breaks, you can make a new one
  • Customisable - tweak the cap design to your preferences.

Cons:

  • At the moment doesn't look 'cool' but I can live with that - and might even be able to improve the design.

Equipment needed:

  • 2 large rubber bands

  • Selotape

  • Scissors

Steps:

  1. Make a cap
    Cut a rubber band. Cut rubber stips into lengths long enough to loop around the usb connector with some tension (about 3 strips should be enough for the depth of the usb connecor) Tape these together vertically with thin strip of tape. Place on usb connector and wrap around Tape the rubber bands back together so that the lid is under tension and stays on when put on the usb connector Wrap more tape around to make the whole thing sturdy.

  2. Attach part of rubber band to cap/thread through usb loop

  3. Tape the rubber band back together so that it is under tension and pulling the usb lid on.


Photos:



Friday, November 24, 2006

Idea of the day

Isn't it annoying when you can't find the end of the sellotape!
Solution: Invent a type of glue that reacts with air and changes colour (slightly darker).
That way you can always find the end of the sellotape, as this will have changed colour.
Ideally, once the tape is resealed it would change back again.

Thursday, November 16, 2006

Nots and Ands

Don’t you just love programming!

If Not (AppSettings("ProxyServer").Equals("")) And (AppSettings("ProxyPort").Equals("")) Then
req.Proxy = GetProxy()
End If


The not doesn't make any difference if both values are empty strings! It should be:


If Not (AppSettings("ProxyServer").Equals("") And AppSettings("ProxyPort").Equals("")) Then
req.Proxy = GetProxy()
End If


Spot the difference!


I reckon there ought to be an easier way to express this concept and I'm sure that 'not/and' 'not/or' structures like this cause lots of bugs. Perhaps new operators, something like this would help:

all({list of values}) {single value to compare against}
any({list of values}) {single value to compare against}


(both returning a boolean)

So to back to the example, to only set proxy settings if both port and server settings exist, we'd have

If all(AppSettings("ProxyServer").length, AppSettings("ProxyPort").length) > 0 Then
req.Proxy = GetProxy()
End If


I'll see if can code, all and any in c#...

Wednesday, July 12, 2006

Bad Software.

Why it is so hard to make great software. I've been talking with a colleague at work over numerous lunchtimes about this...

What I've come to the conclusion of is:
BAD + GOOD = BAD + 1 with a lot of time, effort and frustration getting there
BAD + BAD = BAD

So I've come to realise that unless you (and those that you work with) refuse to take the tempting shortcuts and turn your back on the desire to implement a quick hack just to get it done, then it is questionable whether it is worth trying to make something that is already a mess just slightly less of a mess?

Unless it is your explicit aim to make the jump from BAD to GOOD then you are probably better off just getting the job done (quickly) and not worrying too much about how bad everything is. Otherwise what will happen:
Will you will have spent more time than expected, and therefore look less productive?
Will the changes that you've made be noticed or even appreciated by anyone?
How long before someone else makes another change and undoes all your 'GOOD' work, especially if not everyone in the team aspires to make things GOOD.

This is a slighly self-defeatist argument and I would appreciate the views and opinions of others on this.