Superfast Broadband essential for the UK


Great article at the Guardian talking about broadband requirement projections for the UK. I’m barely over a mile from an exchange and I can only get 2MBit. We should have fibre to the premises – we’ll need the bandwidth by the time BT gets its act together with its already old, new network.

Is your Labour council spying on you?


In yet another worrying privacy development Oxford (Labour controlled) and Southampton (Labour controlled) councils have been ordered by the Information Commissioner to stop spying on taxi cab customers. As unbelievable as it may sound these councils have required their badged taxi drivers to record CCTV of all customers and audio of their entire conversations. All the time. All without any notices or asking consent.

They say this is required for the safety of their drivers. I can understand – perhaps – CCTV being activated when a driver has a leary set of drunken lads, but I have trouble finding a justification for ‘always on’ cameras, and especially audio recordings. Surely the best person to determine whether a recording needs to happen is the taxi driver. If they feel threatened they could turn on the recording devices. This top down approach makes no sense.

Perhaps more worryingly was the attempted justification by Cllr Jacqui Rayment (Labour), Southampton City Council’s deputy leader. She says:

“We are disappointed with this decision, as it is about safety for both the drivers and passengers.
“Data is encrypted, kept very securely and only downloaded if there is a specific complaint against a driver or if the police request access in order to investigate an alleged offence. We are currently taking legal advice on the next steps to take, including appeal.” (my emphasis)

Aside from the point that they don’t think their taxi drivers can be trusted, the ‘kept very securely’ point to me is the most worrying. I wonder where it is kept. If its kept on the taxi then the driver may be able to destroy the data if they have been recorded doing something they shouldn’t. A powerful magnet is enough to erase a hard drive. This would look just like a corrupt drive so they’d get away scot free. Also it means they’re kept in cars overnight in an insecure environment. All encryption can be bypassed, its just a matter of time. Also, who holds the decryption keys? If its not kept in the taxis and is instead kept centrally, then what is stopping council workers from reviewing all the material? Being encrypted is no benefit here as presumably the councils themselves have the decryption keys so they can investigate alleged wrongdoing.

What is particularly staggering is that they managed to get this system up and running in the first place. Surely someone, somewhere, realised they don’t have the legal authority to snoop on everyone without a court order and without any suspicion of an offence having already happened. They need this, for example, if they hire someone to video you filling your recycle bin with normal rubbish – and yes, councils do routinely do this in the UK.

There have been lots of talking heads discussing the ‘Snoopers Bill’ going through Parliament that would give GCHQ broader interception powers. Personally I’d prefer a central, professional body having these powers rather than thousands of councillors and council workers who have no oversight body watching them. GCHQ at least have the Joint Intelligence Committee (JIC) in Parliament to watch over it.

If you walk down a busy high street you expect some CCTV to keep people safe. In such a situation you are one of thousands of shoppers going about their business. Your movements aren’t individually tracked, and your private conversation remain private. Nobody expects their entire taxi journeys or conversations to be recorded and kept under lock and key by a council. Neither do they expect to be followed by an unregulated private investigator walking in their PJs to put something in the bin in the morning. Someone needs to stop this.

Unfortunately the Information Commissioner’s powers are severely limited. I would like to see him have subpoena powers, run public evidence sessions (like Parliamentary committees) and be able to hand out unlimited fines for data breaches. I would also like a separate Joint Committee of Parliament to oversee and investigate the impact of local councils’ powers under DPA and RIPA. Maybe then councillors would think twice before routinely agreeing to invade their constituents’ privacy.

 

A down day is a death day


Or at least should be.

Like many other Professionals in the software industry I have been following the RBS debacle for the last few days. I was waiting for a reasoned, well researched answer. Unfortunately I was dissappointed when it turns out the answer was “Computer says No“.

Yet again the lack of expertise in computers has allowed a Bank that by rights should be sent to the wall by such an atrocious management of their systems means that Robert Heston can get away with saying, in effect, “There be monsters in them thar computers”. Like running a reliable banking operation using modern IT is as magical and hard to comprehend as frickin’ witchcraft or something. It’s not magical. It’s not that difficult. The more mission critical a system is the more experienced people you need to design, run, and maintain the systems. You need Pros in all these areas to ensure the systems are reliable. You also need to ensure that when you do an upgrade you have an effective roll back mechanism.

I’ve had my fair share of issues with upgrades. We had an issue where some students couldn’t access their grades if a system was loaded too high. This was understandable given there are two days of load on a system twice a year. Even then we managed to tweak the systems within a few hours to ensure 30000 students and staff could get to their grades. We had a backout plan, we executed it, and all was back to normal within a few minutes. We still maintained a close look on the systems anyway, and left late and came in early to ensure all was still well the next day.

For some reason this seems to not have been done at RBS. They performed an upgrade on a live system and it died a death. Then they rolled back the upgrade and the bank still a week later hasn’t rebalanced its books. This raises several important questions. I’m not particularly concerned about how quickly the system recovered – although serious questions need to be answered there – my concern is this: Given the seriousness and how wide spread the issues are how on Earth were these not picked up in testing? Or – Was this testing ever carried out? Was the upgrade done and everyone said ‘well it looks like it worked. New version number and everything!’ or did they upgrade, run a few hundred thousand ‘normal day’ transactions through the test systems, then checked all had worked well??? Just the upgrade, or full ‘day in the life’ test? Was a test plan even written up? Risk assessment? Any thought about consequences whatsoever?

These are very serious issues. If only junior staff were involved, and they are located half way around the world with experience of only the upgraded system and not the potential effects of that system on adjacent systems, then there will be hell to pay. The question is who will get the blame? If a Royal Navy ship sank and the crew died because the life vests were all knackered, who do you think will get the blame? Government or the Lieutenant in charge of them? Of course it will be the government and rightly so – not ensuring systems and life saving equipment were in place.

Who will get the blame for the upgrade going south? By rights it should be Robert Heston and his CIO that get sacked. Unfortunately because the general public are so woefully ignorant of anything as soon as a computer is involved he will get away with his teflon shouldered remark instead of being thrown out on his ass. He said “There was a software change which didn’t go right and although that itself was put right quickly, there then was a big backlog of things that had to be reprocessed in sequence, which is why on Thursday and Friday customers experienced difficulty which we are well on the way to fixing.”

Way too little, way way too late. And yet again our industry suffers because of general IT ignorance.

And the cover up and teflon begins.

Myth TV remote control working


I’ve had an ATI Remote Wonder for years. Bought it whilst at Uni’ for my computer because I couldn’t be bothered to walk the three feet to the computer! I’ve known this has had a linux driver since I compiled the original before it was wound in to the kernel. I had it kicking about the house so wanted to get it working. I’ve read a lot about lirc and using that to set up the Remote Wonder. One drawback to using lirc that I think is unique to the Remote Wonder is that you can’t use the mouse functionality.

The Remote Wonder has a direction wheel and a left and right mouse button on the control. I want this because I may want to use catch up TV, which means running a web browser as well as Myth TV, and typing something in the search box, clicking on a ‘full screen’ button for the video means I need a pointer, and the Remote Wonder gives me that. What I’m then missing would be a keyboard. Happily, there is a Firefox plug in that does just that. I’ve managed to get them all configured and working, so below is how I did it. The only slight downer is the known issue around the TV, DVD, OK and Channel up/down buttons that do not work on Linux because the key codes are greater than 255. There is a patch to fix this I’ve not applied yet to evdev, I’ll update this blog when I’ve done that.

The ATI Remote Wonder is a USB based RF (radio) remote control. Plug it in and the ati_remote kernel module will be automagically loaded. Here’s how to figure out what’s working and get it configured.

Run the following in a terminal to get the right driver for X loaded, and so we can test what devices we have:-

sudo apt-get install evdev evtest

evdev will likely already be there. evtest allows you to see what devices you have attached, so go attach the USB bit now (you don’t need the control to have batteries just yet). Now run this to see if the remote wonder is detected:-

adam@theatre:~$ sudo evtest
[sudo] password for user: 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Power Button
/dev/input/event10:     HDA Intel Rear Mic
/dev/input/event11:     HDA Intel Front Headphone
/dev/input/event12:     HDA Intel Line-Out
/dev/input/event13:     HDA NVidia HDMI/DP,pcm=9
/dev/input/event14:     HDA NVidia HDMI/DP,pcm=8
/dev/input/event15:     HDA NVidia HDMI/DP,pcm=7
/dev/input/event16:     HDA NVidia HDMI/DP,pcm=3
/dev/input/event2:      X10 Wireless Technology Inc USB Receiver
/dev/input/event3:      X10 Wireless Technology Inc USB Receiver mouse
/dev/input/event4:      Microsoft  Microsoft Basic Optical Mouse v2.0 
/dev/input/event5:      em28xx IR (em28xx #0)
/dev/input/event6:      Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )
/dev/input/event7:      Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )
/dev/input/event8:      HDA Intel Line
/dev/input/event9:      HDA Intel Front Mic
Select the device event number [0-16]:

(Hit Ctrl+c to close the app at this point).

As you can see from the above the Remote Wonder is device /dev/input/event2 . We could configure X to use this but the problem is these event numbers tend to change on reboot, so you have to do something a little unique. Here’s my xorg.conf:-

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
#    InputDevice "Remote0" "SendCoreEvents"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "InputClass"
    Identifier     "Remote0"
MatchProduct "X10 Wireless Techology Inc USB Receiver"
MatchDevicePath "/dev/input/event*"
    Driver         "evdev"
    Option         "event_key_remap" "402=112 403=117 377=156 389=157 352=36"
EndSection

Section "InputClass"
   Identifier  "RemoteMouse0"
MatchProduct "X10 Wireless Techology Inc USB Receiver mouse"
MatchDevicePath "/dev/input/event*"
   Driver      "mouse"
   Option       "Protocol" "PS/2"
   Option       "SendCoreEvents"
EndSection

... other stuff about monitors after this...

I’ve used InputClass instead of InputDevice. This means you don’t link to them in the ServerLayout, hence the commented out InputDevice highlighted above in that section. Using InputClass allows you to match by the device product name reported by evtest, and match anything in /dev/input starting with event, which means no matter what event number it gets loaded as this declaration will work.

I have the mouse declared too as a PS/2 mouse. I haven’t customised the mouse Options to simulate a three button mouse, and thus allow autoscrolling in Firefox, but I’ve not tested that yet. I’ll post back when I’ve tried it. For now though the above works great.

The Option event_key_remap line for the keyboard part of the remote is for the future, as yet untested by me, evdev alteration that allows remapping of key codes above 255 to lower key codes so that the X server can handle it.

Once the above is done you need to edit your ~/.Xmodmap so that the relevant keys are mapped to their Myth TV equivalents:-

keycode 164 = S
keycode 123 = F11
keycode 122 = F10
keycode 121 = F9
keycode 147 = M
keycode 104 = I
keycode 160 = F8
keycode 140 = W
keycode 176 = Left
keycode 208 = P
keycode 167 = Right
keycode 175 = R
keycode 136 = Escape
keycode 127 = P

I saved these files, rebooted the machine (sudo reboot) and lo the remote worked fine. Had a few typos originally which caused X not to load. I basically ran the following and you get some useful output to diagnose issues:-

tail -n 50 /var/log/Xorg.0.log

It should give you a line saying there’s an error on line 43 (or similar). From this it should be pretty clear what’s wrong. The error reporting is pretty good.

I then installed a plugin for Firefox called FxKeyboard. I then increased the default font size to 26 and used my normal mouse and keyboard (I’m lazy like that) to add all the catch up TV services, Lovefilm and Netflix sites as tabs to Firefox and pinned them as App Tabs. Then configured Firefox to open up previous tabs on startup. All these are simple options to find and configure in Edit > Preferences in Firefox.

Further information:-

Xorg mouse driver options (for 3 button emulation, etc.) – http://www.x.org/archive/X11R7.5/doc/man/man4/mousedrv.4.html

evdev modified driver home – http://www.mythtvtalk.com/how-i-got-my-ati-remote-work-ubuntu-11-10-a-15257/ – WARNING: Use the following instead of git pull (you may need 2.7.0 for newest Ubuntu or X versions): git checkout -b code-remap-2.6.0 origin/code-remap-2.6.0

Home tech update…


Decided to take some time to revamp our HTPC (Home Theatre PC). Had Ubuntu 10.04 with XBMC on it. XBMC is a great idea but, like so many other things in free software these days, often doesn’t work out of the box. Updated Ubuntu and actually put a 64 bit build on the box (weirdly used a 32 bit image before – I think because I used the XBMC live CD to install) Decided not to bother with XBMC at all this time. We tend to use our TV and PC to either watch live TV or catch up TV, with the occassional Netflix/Lovefilm streamed movie. As it turns out XBMCs browser support sucks too. Decided to opt for just Myth TV on an Ubuntu box.

Myth TV is a great user interface, probably one of the best EPGs I’ve seen on any TV. I bought a PCTVSystems NanoStick DVB-T2 290e USB Freeview HD device which works out of the box with the latest Linux Kernel. This comes with a great mini antenna of its own, but also a normal aerial adapter. I was quite impressed with the reception of the antenna. Myth TV worked great with the backend (that records and received TV programmes) and the frontend (with the user interface and playback) on the same machine.

I hit a few annoying issues when running the frontend on a different machine. This is quite surprising when you think about it – a lot of the time these days you have multiple PCs and TVs in the house and if you don’t like being forced to sit through Coronation street it’s handy to relegate the missus to a different room! You would think Myth TV would support having remote Frontends out of the box. Unfortunately even though it configures 99% of the MySQL database backend it neglects the ability for the mythtv database account to connect remotely. Also, surprisingly, the mythtv db account fails locally when used from a transcoding perl script. This means logging in to MySQL as root and adding a ‘mythtv’@’*’ account and granting it all permissions on the mythconverg database. Plenty of websites with this on, just search for ‘MythTV database permission denied’.

Once those teething issues were sorted it worked well. Quite possibly the sexiest feature of Myth TV, and one that’s quite undersold in my opinion, is the ability for an Android phone to use the Mythmote application to act as a Myth TV specific remote control for a front end! Most people have their phones connected to their wifi at home, so this remote control app is a brilliant idea. It uses the local network rather than infrared to control a Myth Frontend. It also supports saving multiple front end locations, so the same app can control the living room (HTPC) frontend, my laptop frontend, or my mac mini front end. Great idea!

Also decided to set up the Myth Frontend for Mac. This was a massive, massive let down. Turns out the playback on Myth Frontend 0.25 on the mac has had hardware accelerated graphics disabled, meaning its nigh on impossible to watch any HD channels or HD recordings. This was done because the method Myth TV uses on the mac (DVADecoder) causes a kernel panic on interlaced playback. I logged a bug/feature request for them to use Qtkit instead for HD playback. This was immediately closed as invalid which bemused me. Their argument was that Qtkit wouldn’t give them a ‘Myth style playback’ i.e. pause/resume on live TV. My position is that HD playback without pause is better than no HD playback at all! They disagree. I managed to find a 32 bit build with DVA decoding enabled (at the moment even if you select it in the frontend, it will fallback to opengl!). This 32 bit build works great. A bit of an overreaction disabling all playback via DVA if sometimes it doesn’t work – you can always select a different playback option (and indeed DVA isn’t turned on by default anyway!) so their decision to do this is a bit bizarre.

I suspect a lot of the problem in linux born opensource projects is that the Mac is a second class citizen. A classic example of this is the way the bug closer responded to my bug. He said I should either install linux instead of Mac OS X or upgrade my hardware! Given I said I had a Macbook Pro and I use OS X because I don’t want to use Ubuntu (I use laptop for video editing), I found his reply utterly ridiculous. I’d expect better from a Windoze developer to be honest. It seems there is little appetite to work on Mac ports of mainstream software. If it ‘works on my machine’ they don’t particularly care about anyone else.

Managed to resurrect my Mac mini. This had a hard disk issue. Now got it set up with a new disc and Snow Leopard. I’ll use this to power the spare HD flat panel upstairs. I’m going to mount this on the wall between my two windows. I have a great view of the Peak District from the top floor here in my home office. I’ve often wondered if one very long window would be better, so am going to use the TV when not in use to displa the best HD photos of the peak district, and ones of myself and my fiancee climbing locally, so I always have a good weather picture to motivate me during the day.

Also looking at creating a live data feed set up for this screen. I’d like a mix of local (system, tv, network) and remote (stocks, news, email) alerts to show on it. Looking at using a web browser as the client. This would mean I can follow up on any news items from whichever computer I’m working on rather than be forced to use the mac. I want to keep the server side stuff to a minimum so am looking at node.js. Need to see if I can use that to access local system info, and mythtv (so mysql), as well as remote news feeds. Didn’t want to use a mix of programming languages as this would have meant at some point a complex mish mash of server side communication. Hopefully node.js has modules to do a lot of these facilities on the backend. I don’t need anything complicated really, just the ability to execute local commands (I can always write a script to do something) or fetch a remote URL.

Home office design principles


I would love to have lots of monitors and computers rocking in the home office, but I just can’t stand the fan noise. Also annoyingly although my hearing for speech isn’t great, I have the uncanny ability to walk in to a room and hear exactly which electronic devices are turned on. There is a very low volume hum to all devices, and that high pitched noise drives me crazy. This means I want a very quiet office. This has a few design implications though…

Firstly I can’t have a beast of a machine running a whole bunch of monitors. The heat the graphics cards would kick off would necessitate some crazy cooling systems. This also means my Home NAS box I’m wanting to create needs to be pretty quiet. Found a cheap 25 GBP coolermaster case on Overclockers UK, but then what to do about the hard discs? I would get 4-6 SSDs, but trying to get up to the minimum 2 TB (and thus 4TB on RAID 6/10, minimum 4 discs) would be ridiculously expensive. I think I’ll minimise the heat from the machine itself and hope the coolermaster case can keep the drives cool whilst staying quiet. It should manage it because it’s not like I’m using the same machine to rock a bunch of graphics cards, and those cases are designed for gaming applications so the cooling should be good.

I also hate boxes lying around. I’ve been coerced in to keeping my various bits of techie kit (cables, keyboards, 10 year old memory – be honest, you all have these boxes!) in my office. They just get in the damned way. Would love to put them in the loft but its currently not got a ladder or flooring up there. Need to convince the missus that this would be a ‘good idea’. I’m going to try to include some low profile shelving in the office somewhere to store small item boxes, one for RAM, bigger one for cables, etc etc.

Also running out of room in the Library (yes, I have a Library – mainly because I just love Cluedo…)  and am getting fed up running downstairs for reference books. I’m gonna be leaving room between my windows, HDTV and radiator to fit a full A4 / Letter size book shelf. May also put a corner bookshelf above the rear corner of my desk too. Should be able to use this to store some of the smaller often used gear on.

Something else I’m keen on doing is having my own mini museum in the office. I have a few oldies that I’m sure you’ll have heard of. Oldest one is a Tandy TRS-80 Color Computer (“With 1KB RAM!!!”), then an Atari 65XE where I learnt most of my coding. Also have a Compaq iPaq running Linux on it. May use that as a console for the FreeNAS (FreeBSD 8.2) storage machine via USB Ethernet. Just because I can. 8o) Wrote my dissertation on that little pad with a plug in keyboard. Turned a few heads in the library at Uni given it was only early 2002 and the concept was very new. Don’t own a tablet now. Waiting for a PadFone… which will instantly have a terminal emulator put on it naturally.

So to sum up:-

  • Quiet office. Like insanely quiet. We’re talking 16dB max, which is just above a whisper
  • Information at my fingertips for working – 2/3 monitors (yet to figure out how best to do this)
  • Media accessible in the room from dedicated hardware (Mac mini has dolby 5.2 optical out too happily enough – may end up taking advantage of that)
  • Tidy with nothing on the floors, paper destroyed and banished, CDs transferred to the NAS and destroyed (they take up sooo much space)

Should be pretty awesome.

Home Office 2.0 revamp…


Been rejigging the home office so it’s nicer to stay in and I don’t end up running all over the house for cables, computers, and to access music.

Now got the blinds cut to size and mounted. Required a bit of maths to figure out. Only a couple of mm out here and there which isn’t bad, especially as I didn’t use a spirit level. Below is a picture, although it doesn’t really do it justice! The Blinds are actually bright Orange from Dunelm Mill. Had to cut the width because the next size down was too narrow, so I’ve matched the width of the fabric on these larger blinds to that of the window sill. Also reversed the direction of the blind so the brighter Orange is on the inside, and it sits flush against the wall rather than an inch off the wall. Because the room is used as a bedroom also I wanted to be able to almost black out the room for the benefit of our guests.

Image

As you can see I now have a blank space on the house outer brick wall which is conveniently slightly larger than the 26 inch flat panel HDTV you see on the left. 8o) Next trick is to mount a 180 degree left/right, 20 degree up/down, extendable arm to the wall and attach the flat panel.

Found the bracket at 123brackets.co.uk . Bought it from here because their site is absolutely fantastic at telling you exactly what options you have for your specific TV. Also tells you if you need a vesa adapter bracket. Great site, good fast delivery, highly recommended.

Having trouble finding the correct screw to use for the wall bracket. The bracket assumes a 1 3/4 inch screw will suffice. Problem is modern British homes’ external walls have 1/2 inch plaster board with a 1/2 inch cavity before a breeze block and brick outer. This means I need four 3 or 3 1/4 inch screws because the first inch isn’t going to provide any support. You don’t want any longer screws because you don’t want to weaken the breeze block. They are however a pig to get hold of. They need to be 6mm / size 12, so bit of a pain really. Tried Wickes, B&Q and Screwfix. Wickes had the screws but no plugs for them, and B&Q had a space for the screws, but none there, and again no raw plugs that would work.

I think I’m going to have to risk getting the screws from wickes and 2 inch raw plugs, and push the plugs through the plasterboard down to the brick layer, so this should work well.

After this I have to fix the Mac Mini and use it as the controller for the HDTV. Idea is I’ll have the Mac act as a Myth TV client for my HTPC down stairs, as well as accessing iTunes movies, music videos and albums. I can use it then for work to entertain me or have the news in the background whilst working. Can’t stand a silent room.

Another cool idea I had was getting an external web cam and placing it on the outside wall directly behind the HDTV. That way I can have the HDTV as a virtual window, giving me a full panorama of the National Park! Might be a bit over the top given the hassle of getting a cable from the outside, and mounting the thing on the top of three floors! I could always take a photo as a stop gap measure to see what it looks like.

I’ve ordered a nanoStick T2 which is a Freeview HD (DVB-T2 for non brits!) USB receiver. Got it for only 55 GBP on Amazon.co.uk. I’m going to set up Myth TV with it to record freeview shows. I can then copy them to t’other halfs Macbook Air so she can watch soap operas when at the outdoor centre (and so I no longer have to endure them!), or stream it to the HTPC in the living room, or just watch it on the HDTV in the spare room. Should be an awesome set up, especially as Myth TV on the Mac supports the Apple Remote.

Upgraded the old Mac Mini Solo (Feb 2006) to have more RAM, also replacing the (unsurprisingly) knackered Seagate HDD which are notorious for dying. Should get decent performance then. Also means I can use iTunes natively on that machine to play music in the home office rather than stream to my work pc, which is a bit of a pain at the moment.

There are some great projects out there for inspiration. I think most people have seen Stefan Didak’s home office set up. From his site he links to many other people with high end office set ups. There are some pretty awesome offices. Check out this list of the Top 96 kick ass home office set ups. My favourite weirdly is the Hacker set up. Reminds me of the faraday cage from the film Enemy of the State. I’m normally a more modernist clean design person when it comes to the house.

There are some set ups out there with 10+ monitors. Some people have criticised them, but as a developer I can totally understand these set ups. I’ve always had a mix of 4 to 6 virtual desktops on my Linnux and now Mac OS X machines. (Although Lion has screwed up the 2×2 by enforcing a horizontal ribbon for reasons passing understanding). A typical set up for me is to have media playing in the background, so that’s on the top left virtual desktop 1. Development environment typically on Virtual desktop 3, maximised for greatest code editing area. Next to this on desktop 4 is web browser. I open up any documents for reference then on virtual desktop 2.

I hate paper. I’ve worked in pre-sales for Enterprise Content Management (ECM) companies and have a visceral hatred for paper, printers, box files, and anything with ‘Iron Mountain’ written on it. Not because I hate the company, but because it’s a solution to a problem which should no longer exist. Just ditch the paper! </rant>

Anyway, that’s 4 desktops without even trying. Ideally I’d like to offload the media from the machine I’m working on – it tends to just sit in the background anyway. Also I always end up reading one thing whilst writing another. A portrait orientated monitor on the left for docs would help. Centre monitor would have to be for writing and the main work area, mainly to minimise turning or neck strain. Maybe a right hand monitor for reading something else too or refering to something.

This would give me, for example, a tutorial or dev guide on the left portrait monitor, development environment in the centre, and firefox test instance showing me what crap I’ve just developed/broken on the right. Only other thing I’m missing which would be handy are alerts and notifications. Sold (or tried! LOL) enough Business Activity Monitoring (BAM) solutions in my time to know that the concept is a very powerful one.

Stock brokers often rock 4-6 monitors for watching activity and trading. I’d like to see my own stock portfolio with a 15 min delayed view of prices, maybe visual alerts for ‘sell them and retire’, that sort of thing! Also handy would be an updating news feed incorporating twitter (which for some reason doesn’t update itself – which astounds me why it requires a click), facebook, news RSS (because the BBC ‘news’ website main page doesn’t update, but the RSS feed has many hidden gems).

Housekeeping items like todo lists from the missus (maybe sourced from Evernote), calendar upcoming events, home network usage (probably at 0.3% – it’s a Cat 6 gigibit Ethernet with hardly anything traveling over it). Thinking of creating a simple (for me) local web page that uses DoJo / jQuery and JavaScript API to load the information and display it. Should be easy on today’s Interwebs (coff, splutter).

If anyone has any cool ideas or photos for inspiration do let me know. More to follow.

One workstation, multiple displays, multiple computers…


I’ve been plotting an upgrade to my home office to make the day to day working environment much better. This will result in a range of computers used at the same station, with potentially multiple monitor setups, some remote sessions (currently via vnc), live data screens. Could do a variety of things really. Want a system for managing the displays but existing mechanisms have limitations. Some solutions, like Synergy2, allow multiple computers to share the same input devices via a ‘server’ computer. This works great if all the machines are plugged in to their own monitor(s), but what if you want to use, say, three screens with a particular computer that only has one DVI output on it?

E.g. if you have a Macbook Pro with crappy Lion on it that sucks as using virtual desktops and you want it to have 4 proper desktops but lo, you only have one output? Various ways around this of course. You have XFree86 window servers as targets, you can have a beastie computer manage the desktops and VNC in (although this gives only a single desktop). I wondered if a better solution existed though. Afterall a modern home office network with Cat 6 kit is more than capable of carrying high def raw data. E.g. HDMI over Ethernet. So why not allow any computers to share their physical monitor and share this capability via Bonjour. You could then have a virtual remote monitor graphics driver streaming a raw HDMI signal, for example, to this output.

This approach would have limitations – it would take over the entire monitor feed potentially, and only gets you the display portion, not the control portion. (Although you could do this via some sort of HDMI-CEC keyboard and mouse driver). I think whatever solution you have it needs to be neat and simple and require minimal coding on the systems. I would imagine most OS’ have libraries capable of outputting a variety of common formats. HDMI would normally be done by a graphics card though or motherboard graphics controller, so might not be appropriate for this usage.

Its the age old problem of KVM – Keyboard, Video and Mouse. Synergy2 gets you the K and M part, but doesn’t handle sharing a physical display on one machine as a virtual display on another. Maybe pursuing some sort of modification to Synergy2 would work well? It already supports Windows, Mac and Linux and is Free Software. You’d need some sort of ‘physical device server’ and ‘virtual device client’ mapping to handle this, but should be relatively straight forward. The hardest bit will be getting the OS to treat a piece of software as a display. I suppose there is always the Frame Buffer monitor type that would allow this to be done arbitrarily. Once this is done, support for multiple mapping presets would effectively let you do what I personally need – so ‘All three monitors to macbook pro’ or ‘all three monitors to work PC’. Others may wish to vary combinations depending upon task. E.g. if in ‘work’ mode then the work PC has two and the macbook as one (for iTunes say), and a ‘home’ configuration to reverse which machine has 2/1 monitors.

I’m going to post to the Synergy2 questions site to see if this is feasible. In the meantime I’ll try and write a virtual monitor driver for my mac. I’ll start by creating a 1024×768 virtual display that shows the output on the macs physical display…

Could an iPad be useful in Sales and Youth Leader work?


I’ve long thought an iPad was basically just a big, expensive toy. I’m writing this Blog with my Macbook Pro. It’s an awesome piece of kit, very powerful, and I do video editing, programming, all sorts on it. During the day though I work on a Thinkpad. This is naturally a bag of nails. It’s slow, hardly ever works with projectors (and when it does only after a reboot!). A lot of the time in meetings though it’s useful to take notes separately – you can’t very well write down information and questions on the same screen you’re projecting from.

I have copious amounts of paper notes, drawings, web page and desktop screen mock ups, all held in paper in an A4 business wallet I keep with me all the time. I’ve thought lately that it may be useful to manage this electronically. I’ve also thought that keeping work slidedecks and screencam video recordings would be useful too. There’s a few things I do in business and in my spare time as a youth leader that would be useful to manage. Would an iPad help me do this??? Let’s have a close look and see.

Work functions (highest priority at top):-

  1. Doodling, mockups of web apps and desktop apps (Currently paper)
  2. Note taking and management (I use Evernote on my Mac)
  3. To give presentations
  4. To share past solutions via screenshots, presentations or screencam recordings
  5. Access to Sugar CRM to record meeting notes or preview opportunity information

Youth Leader functions:-

  1. Share teaching collateral – different map types, rucksack packing diagrams, principles of flight information
  2. Managing eD of E information online
  3. Present slides – Child welfare, role of a cadet NCO, continuity drill sequence, …
  4. Collect data for approval forms for later upload – cadet names etc, track who has paid or handed in paperwork

What software is available?

Penultimate – £0.69p – iPad

Penultimate is a simple note taking app where you can keep and manage multiple notebooks. You can use a stylus to write, and also doodle pictures with different pens and colours. What makes it particularly attractive to me is that you can sync it with Evernote. This is a powerful cloud storage system so you can share and synchronise notes across several machines, and access them on the web when you are away. It also supports Dropbox which some people may find useful, but which I think pales in comparison with SugarSync’s fantastic features. This would be a great solution for general note taking and doodling, but not so much for screen mock ups or other ordered diagrams.

Evernote – Basic version Free. Premium version $5/month or $45 for the year – iPad, iPhone, Android, Mac, PC, Web

I’ve been using this for years for simple notes, but only just re-evaluated what you can do with it this weekend when looking at apps for this blog entry. There are some great uses out there. I didn’t realise until now, but you can share entire workbooks. This enables you to add your lesson material in to the workbook and share with your students and their parents instantly. I can see this being particularly useful for kids with learning difficulties, or kids that would like to understand the subject deeper than you have time for in class. Check out what this American teacher advises for teaching or this education information page from Evernote. I must say I think the PDF and image only file attachments are potentially poor – what if you do actually want to share a word doc so your students can edit it? Other than that this looks good. You can also use the Web Clipper extension to grab a whole web page, an article within it, or the page url and save this as a note to read or edit later.

Sugarsync – Free for 50GB – iPad, iPhone, Android, Mac, PC, Web

This is a great service I use for work a lot. Many financial services companies have paranoid firewalls installed. This service is great because you can share folders for read only or read/write access with anyone. You can password protect them too. Handy to send large files, share web application install files and licenses. The fab thing is you can get apps for your mac, pc and phone/tablet that will auto sync the files in certain folders to all your devices (or just a select few). On first inspection the sharing options suck a bit because they require a free account for people to read the files. You soon realise this is a bonus because the sharers can themselves download a sugarsync client and because they’re subscribed to your shared folder, they’ll automatically download all files when they change, or when you add new files. Fantastic for kids getting the latest lesson plans – they just have to go online and it’s all magically there.

iMockups – £4.99p – iPad

If you’ve ever wanted to sketch out iPhone, iPad or web application ideas without being stuck with the time consuming nature of pixel perfect mock ups, then this app is for you. It allows you to quickly create low fidelity mockups that allow you to convey function and flow over exact form and style. I’m not usually a fan of wireframe apps – why create a throw away mock up if you have to rebuild the thing anyway? Also, a lot of web design companies will mock things up in photoshop that may look cool, but is actually unnecessarily complex and expensive to implement. This app strikes the balance well. Low fidelity and pre-built ui components mean you’re unlikely to create something that can’t easily be built, whilst still showing a client or colleague the power of the ideas you are pitching.

Omnigraffle – £34.99 – iPad, Mac

Omni produce many products for the mac and they’ve started creating versions specifically for the iPad and iPhone too. Omnigraffle is a mix of visualising tools. It includes freehand wireframing, sketching, and creating charts. The charts feature is very visio like, with the ability to download extra stencils. You can also draw then choose to auto layout via lots of settings. Seems to be a few people who really don’t get on with this app. I presume this is down to the learning curve associated with creating complex diagrams and the price rather than anything fundamentally wrong. Releases do seem to be rather irregular though, and as of writing this they still haven’t released iCloud support or integrations with the likes of dropbox or sugarsync. Still, this may be a solid performer for creating diagrams of all types.

sketchbook pro – £2.99 – iPad (Free cut down version available too)

This is an artist’s drawing tool. Looks particularly fully featured as you’d expect from Autodesk. If you sketch on the go then this powerful app may well be the answer for you.

adobe ideas – £4.99 – iPhone, iPad

This tool is designed to allow you to capture images and annotate and edit them on the go. Interesting idea for designers I’m sure, but a bit pointless for me. Also if you want more than one layer you’ll have to ‘buy’ a layer for £0.69!!! Talk about hidden total cost of ownership. What a cheek.

Notes plus – £5.49 – iPad

This looks like a very clever app. Includes a voice recorder and recognition of drawing basic shapes. Writing with your finger will appear as thin pen rather than thick scrawl. In app purchase of hand writing recognition is an additional £1.49. Includes dropbox sync support too. This app also includes built in web clipping, but this is a manual selection of images or sections of a page which is very powerful. You can also include PDFs in your notes. Evernote integration is also scheduled for a future release.

SugarCRM – Free for existing subscribers – iPad, iPhone, Android, Blackberry, Mobile Web, Web

This is a great tool for recording sales, marketing and general opportunity information. The Mobile Web version should be accessible on all SugarCRM licenses just by pointing your browser at your companies SugarCRM URL. Not sure how fully features the mobile or mobile web ones are – for me I’d like to be able to list and update contacts to an account/opportunity, and add meeting notes for an opportunity too.

gotomeeting / webex / facetime / fuze meeting hd

These apps are all about participating in online meetings. This may be very useful if I were someone sitting on a call, but as I’m often the one presenting I’ll need to do this from my work laptop with the software solution I sell installed on it too. Cool feature for my customers to use though!

WordPress – Free – iPad, iPhone, iPod Touch, Android, Blackberry, Windoze phone 7, Nokia, webOS, Web

OK so not strictly work related but a useful thing to do none the less! This little free app will certainly allow you to post on the go. Interface looks very basic compared to web composing. Also looks like you’ll have to know HTML tabs to do things like bolding text and lists. Not a great feature there at all. It seems that users report a few bugs and niggles too. Still, if you have to create posts on the go this will do the job.

Roambi – Free – iPad, iPhone

This is a very interesting idea. The principle here is that you sign up for a free Roambi online account and publish various internal data sets to it. You can then use a mobile device Roambi app to visualise that data. It’s a very powerful BI visualisation tool which allow you to also embed reports and graphs within keynote and powerpoint presentations on your device. Downside is data has to be from CSV, Excel or Salesforce.com. No use for me really as we use SugarCRM, but still a good app worth looking at if you need to visualise data.

Analytics HD – £4.99 – iPad

Comprehensive programme to view Google Analytics data on your iPad. Potentially useful if you manage a lot of sites and need to keep an eye on them. Of course if you needed to then change the site you’d be screwed with an iPad, but still…

keynote – pages – numbers – £10 each

For the life of me I can’t think why you’d purchase these separately for the iPad. Keynote has a great Export to PDF that can even export the result of each individual transition as a new slide. Sure you don’t get the animation, but having sat in presentations where the animations were utterly distracting this may well be a plus! I use all of these on my Macbook Pro all the time. They’re fab apps and much easier and quicker to use than Libreoffice. I wouldn’t use the iPad for creating documents like these though. They by definition take time and require all the features of the full products. You’ll have to get your Macbook Pro out to finish creating the documents anyway, so why would you ever use these apps?

outlook/gmail integration – built in to Mail on iPad

This comes as standard, along with yahoo and hotmail support. Unfortunately my corporate mail server is behind a fortinet ssl vpn. IPSEC is built in to the iPad, but not SSL VPN. I’d have to use the manufacturers own app by the looks of it, and these seem to be generally quite poor. I’d be happy to be wrong, but with no great detail in the app store on the SSL VPN tools openness how would a potential business user ever know?

Instapaper – £2.99 – iPhone, iPad, iPod Touch

This is an interesting idea. It’s a cloud based services that gives you a ‘Read Later’ bookmark. When you’re on a page to read later, click this bookmark and it’ll grab the important text and graphics from the page and save them in the coud. The app on your iPad/iPhone then sync’s the copies to your device so you can read offline. The reading format is not a simple copy of the web page but instead a grab of the content of the article you’re reading. This gives a readable and clutter free reading experience. It’s worth noting that the Evernote web clipper does the same. Here is a link to the Evernote firefox extension.

In summary

I don’t think I’ll be getting an iPad anytime soon. I can’t justify over £400 for a platform that delivers less than my existing Macbook Pro now. If the concept of file storage in the cloud was built in – but not using an expensive iCloud account, but SugarSync instead, then I may consider it. Even then I can’t see myself creating content on the device other than a few jotted notes and sketches. It’d be a bit of an expensive notepad for me. Probably more environmentally friendly to use paper for 8 years than an iPad for that period of time too.

Having said that I’m happy to be proven wrong. If you have used an iPad successfully for a similar range of tasks as the above then please let me know!

Computing at School


Today Michael Gove announced that from this coming September schools in England would be able to teach IT and Computing however they liked. I’m personally hoping that there will finally be Computer Science taught in the classroom, not pointless and uninteresting IT. You don’t need 5 years at school to learn how to use a Word Processor or Spreadsheet, yet that’s what IT education has consisted of in England since I was at school in 1992-1997.

I was lucky in that our Design & Technology classes included an aspect of control programming – plugged in to small drawing robots or lights and a ‘fake’ railroad crossing. Still, I taught myself most of those languages – no one was teaching, or capable of teaching, the fundamentals of the theory of computation. This is why Universities don’t require a Computing A level – most aren’t particularly useful.

I’ve been told about the Computing at School (CAS) scheme. This aims to build local grassroots groups in communities in the UK taking in teachers, business and university’s in order to develop and share local ideas and resources on how to teach Computing in schools. Every term each ‘Hub’ has a meeting, with more regular virtual meetings possible too, to discuss ideas and share experiences.

It’s a great idea, although my nearest group is 80 miles away! I feel a few phone calls coming along. If anyone fancies creating a group in the Eastern Peak / Derby / Sheffield kind of area, let me know. In the meantime, check out that site.

I heard Gove’s announcement on Radio 4 whilst driving to work. Made me wonder if any ‘visual programming’ tools were up to a decent standard. Prior to today the best one I’ve found is the Automator built in to Mac OS X. Thankfully MIT have created a programme called Scratch. This enables quick visual programming and has it’s own vibrant ecosystem or developers and shared projects. You can download, re-use, merge and enhance existing Scratch apps to do new things. It’s a great idea.

Also found the group Apps for Good. Sounds like an interesting idea, but a bit focused on mobile apps which are somewhat more complex to create. I like the idea of students with a bunch of tablets working on drag/drop components, sending them to a shared application library space, and integrating them in to full on pieces of software. Rapid Application Development (RAD) as it should be.