Tuesday 24 September 2013

Answering email while on vacation

I'm probably just wierd

I love my job.  I feel very lucky to do a job which I really enjoy, however this does mean that switching off is very hard.   So even while I am on holiday I still want to know what the rest of the team are up to and how things are progressing.  Over the last few years I have tailored my behaviour to try and get as much rest as possible while still staying 'in touch'.  I have been through both 'complete detachment' and 'office holiday' phases and think I have found a nice middle ground.

Complete Detachment

This is what a lot of my friends and colleagues seem to be able to achieve and in some ways I really envy their ability to disengage completely from the office and just enjoy their time away.  No work email, no phone calls, just friends, family and fun.  I did try this and the worst part was getting back to the office to an email inbox that was incomprehensibly full.  I like to keep a clear inbox most of the time and the sheer amount of (spam/outdated/irrelevant) emails surrounding the few interesting email would worry me even while I was away on holiday.  Trying to be completely detached made me nervous and I would try to steal time away to secretly check my email, a bit like a child secretly eating a smuggled chocolate bar 

Office Holiday 

This is the complete opposite.  Mobile phone pinging each time a new email comes through.  Calling colleagues to get updates.  Although I felt that I was still in touch with the team this did nothing for my family life.  My wife felt that she wasn't on holiday with me at all and was (quite rightly upset with me).  The upside was that there was no deluge of email to wade through on my way back to the office.   I needed to break this behaviour but not go back to the nervous ticks of complete detachment.

Once a day email triage

This is where I currently am.  Once a day (usually in the evening but sometimes early in the morning) I will spend 1-2 hours working, however I have STRICT rules:
  1. No work related instant messaging 
  2. Only urgent coding or technical 'fixes'.  URGENT is only stuff that cannot be delegated and is holding up people if it isn't completed.
  3. Answer only the simple emails, if something needs deeper discussion or thought and it can wait then leave it in the inbox to deal with when you return
This allows me to stay in touch with the office, avoid the bulging email inbox when I return and still have fun while away on holiday.  I think my wife prefers this middle ground and I hope that those who think that I need to learn to 'get a life' can at least understand my point of view.

Saturday 21 September 2013

Rational procrastination

I have my aunty and uncle coming over this week. This involves converting our two craft/office/dens into two bedrooms.   Its nice to have them over but clearing the rooms is a bit of a hassle.

I am procrastinating nerd style.  I have split the day into 3 hour iterations and used the free version of rational team concert to plan epics and stories to plan the work that needs to be done.

I have story pointed the work so I can see my velocity.  Its like an over engineered task list but I love it!  My wife won't ... She just wants the work done :(

Monday 29 April 2013

Connecting a kindle to a linux machine

I have a 50mb pdf that I want to read on my kindle.  I cannot use the email to whispersync bridge that amazon provide as the 50mb attachment is too large.

I tried to connect the kindle to my linux laptop and apart from the kindle charging there was no recognition in KDE that I had plugged a device in.  A quick google later discovered that the kindle uses the MTP protocol rather than Mass Storage Device Class protocol like most other USB devices.  Installing MTP support is easy:

sudo apt-get install mtpfs

Plugging in the kindle now gets KDE all excited and allows me to view the content.

Except after unmounting the kindle I couldn't see the PDF on the menu screen.  I re-attached my kindle to the computer and could see the file still there, so why didn't the kindle like it.  The file I copied was called:

10_PRINT_121114.pdf

After renaming it to:

Print Code.pdf

It started to show on the kindle screen.  All I can think of is that the kindle doesn't like files that either start with a numeric or have a '_' character in their names.  After some more renaming I can conclude:
The kindle doesn't like underscore characters in file names.  I ended up just changing the "_" to a " " and everything works fine now.

For those interested the book I am copying to the kindle is called:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

From 10print.org.  This book tells the story of computer code in society and culture through the lens of a single line of C64 basic code.


Friday 26 April 2013

Writing my first program (Again)

The first program I ever wrote was on a commodore 64 computer.  Since my wonderful wife has managed to buy me one I decided to write my first program again.  Here is the source code:


I had no spare tapes to save my work so I had to take a picture!  The program started out in the usual style as a "Hello World" program.  I then hacked around and changed a few bits and eventually ended up with the above.
So what does it do? - well THIS:



Yes I know its simple, egotistic and self promoting, but I don't care.  The amount of enjoyment I got from doing that is huge.  20 years ago when I wrote a program for the first time I could save it on a cassette tape.  Where on earth am I going to find one of them in 2013???

I have found some good resources online that helped a lot when building this program.
A list of memory address that can POKEd
An e-book about an awesome line of code!
A wiki page detailing the VERBS in the version of basic installed on the commodore
An online version of the C64 Manual

Retro Geek

I am the luckiest man alive.  Not only does my wife acknowledge that I am a geek and have an unhealthy obsession with computers but she feeds this geek behaviour with some outstanding presents. However she has outdone herself this time as she has bought me a commodore 64.


It was meant to be a Christmas present for me.  However the guy that sent it didn't wrap it and as I answered the door when it arrived the cat prematurely escaped from the bag.  The commodore 64 was the first computer that I owned.  We did used to have a dragon as well, however that was more my dad's computer.  The commodore was just mine.  I learnt a lot about computers from that machine, from how a light gun worked through to how data was stored and some very basic programming.  That machine will always be special to me.  To have one now at the age of 30 is incredible.

I took it to the local maplins store, where a huddle of geeks clustered around me and the commodore, admiring it's good condition and asking to have their photo taken next to it.  The store manager even walked out of the store as I entered asking if the box truly contained that which was advertised on it.  We needed to go to maplins to purchase a RF cable to connect the Commodore to my LCD TV.  Naturally this being maplins they knew exactly what I needed and passed it to me.  We took it home and started the unboxing.

Like I said the box was not wrapped when it was sent so it was COVERED in parcel tape.  This is annoying.  The original box is part of the vintage retro feel.  5 minutes of painstaking picking and pulling and the unboxing could commence.


Once unboxed and all connected up the fun could start.  I found that my TV needed to be tuned to 590Mhz to pick up the output from the computer.

Amy graciously allowed me to then spend the whole evening playing vintage games.  Working out that a light gun will not work on a LCD screen (It uses cathode ray gun timings, which of course, are not available on a LCD screen), getting beaten by her on Mike Reids pop quiz etc etc and writing my first program (again)

Thank you to Amy for allowing me to geek out for the evening and re-live my childhood again.  It is a wonderful gift that I will never forget.

Tuesday 23 April 2013

Just another milestone on a journey


31st December 2015 is a sad day. On the first day of 2016 CICS version 3 will go out of service. For more information see here:

CICS version 3 will always be a special release for me as it was the first CICS release I ever worked on. I was a member of the functional test team for the web services functionality. I spent many a day (and a few nights) building and executing test cases to try and find fault with the product. Looking back at the release it is important to note the amazing technology that CICS version 3 brought to the party.

We allowed existing customer applications to be exposed as web services. Not startling in itself but when you consider that the customer didn't even need to recompile any of their source code in order to exploit this capability. This allowed customers valued assets to be exploited by any process running on any platform in any language.

Since its inception CICS programs have been forced to share data through a 32kb area of memory known as the commarea. This area of data could be passed between programs running in different address spaces. Several customers had requested that we increase this limit to something larger as for them 32kb was becoming a constraint. Version 3 delivered channel and container technology that allowed programs to share blocks of data in named containers within a named channel. Not only did this alleviate the data limit constraint it also allowed that data to be functionally divided into separate pieces. No longer would the error code be at a certain offset into the commarea it could now be in it's own container.

We also extended our TCP/IP support to allow CICS systems to communicate over TCP/IP as a replacement for ISC connections over SNA. CICS programs could now be called over a TCP/IP network using an IPIC connection thus reducing the requirement for SNA networks. Each release since we have been adding capability to this feature, allowing function shipping over IPIC etc.

As the release of 3.1 marked the start of my CICS career it was also the start of a journey for CICS. Each release we have created capability that allows our customers to drive further value from their CICS installations. Developing new applications or deriving new value from existing programs CICS has shown that it is a modern, flexible and High quality transaction processor ready to meet the demands of a modern enterprise.

That journey continues today with the announcement of some feature packs for CICS that extend current releases of the product into new and exciting areas. For more information see:

These announcements excite me (although I have known about them for a while). Once released these capabilities will allow customers to easily integrate mobile application development with CICS resources. It will also allow them to integrate batch workload with existing transactional workloads. If you are a CICS customer why not have a look at the announcements and start thinking about where the new technology could take your business.

Tuesday 16 April 2013

CICS in Slovenia

Last month I was invited to attend a CICS conference in Slovenia as the guest speaker.  I will be honest and say that I didn't know where slovenia was so here is a helpful google map of the area:



The wonderful local team in Slovenia had organised a range of CICS customers to attend and listen to the awesome stuff we added into CICS 5.1.  Over the day I introduced the new release to them, extolled the virtues of cloud based application deployment, Gave them the news that we had removed JVM Pool support but replaced it with our JVMServer.  We finished with the history of CICS Connectivity and DUMP analysis.

The local IBM team were magnificent hosts and kept us well supplied with food and drinks throughout the day.   They also hosted a 3 course lunch which was enjoyed by everyone there.  So a big thank you to Peter Pavkovic and his team for all his hard work in organising the event.

During the conference I heard a lot of stories from CICS customers about which technologies they liked in CICS and which ones they were looking forward to.  All the customers were on CICS 4.2 which is fantastic!  There is an awful lot of value in keeping with the current version of CICS.  If you stay current then you will find it easier to migrate release to release, exploit the new technology as it comes along and so increase you business value.  Finally it will help you to understand the strategic direction of the product.  The reason why these customers hadn't migrated to V5.1 (released Dec 2012) was that it required a z/OS upgrade to v1.13.

The customers that I spoke to were very forward looking and like the rest of the CICS team see CICS not just as the backend processor but as an integral part of the enterprise.  Transactions flow through CICS, and permeate the whole enterprise.  They understood that modern access to CICS applications and data was how they were going to be able to support their business in the future.  These customers were avid web services users, were planning to move java code off of other application servers and embed it into CICS.  Finally were interested in moving their applications to be deployed and consumed in a much more agile way.

One question that I did get asked but could not answer was if there was a developer trial of CICS 5.1.  I am glad to say that there is.

CICS Developer Trial V5.1. Operational Efficiency and Service Agility with Cloud Enablement

The CICS developer trial allows you to (for free) download and install an evaluation copy of CICS 5.1.  It's fully functional and you can 'play' with all of the new functionality and see how this version of CICS will transform the way you think about your applications.  For more information you will need this link:

Thanks again to the lovely customers and IBMrs I met in Slovenia.  I had a lovely time and wish you all the best in your CICS work

The bat phone

"Holy smokes batman, CICS has a problem what should we do"
"Easy robin ... ... Call the bat phone"

This is the CICS out of hours support phone.   CICS is a high quality product and doesn't have a lot of problems. Getting a problem happen out of hours is fairly rare.  However since CICS powers most financial institutions businesses when this phone rings the problem could be very urgent.  IBM provides 24x7 support to our customers. This week I will be the person answering this phone.  There are 2 ways this could go:
  1. I end up with no sleep and am very grouchy (no change there then)
  2. No one rings! 

Actually the most interesting thing that I have learnt is that older phones have an INCREDIBLE battery life.  I have had this for 4 days now and it has not needed a charge!  

Tuesday 2 April 2013

Decoding encryption on slashdot

For this years April Fools Day joke www.slashdot.org decided to 'encrypt' all posts.  Here is an example of the encrypted text:
Na nabalzbhf ernqre jevgrf"Nf Qryy'f (QRYY:ANFQND TF) obneq erivrjf guerr pbzcrgvat cebcbfnyf sbe gnxvat gur pbzcnal cevingr, vapyhqvat n $24.4 ovyyvba qrny yrq ol sbhaqre naq PRB Zvpunry Qryy naq Fvyire Ynxr Cnegaref, gur pbzcnal unf naabhaprq vg vf ragrevat gur 
I decided that as obviously this was a joke it wasn't going to be encrypted with anything difficult, thus if I couldn't crack it in my lunch hour then I should hang up my boots.

Finding a way in

The first step in solving any problem is to find something to latch onto.  For jigsaw problems this is often to find the corner or side pieces to build the frame.  For this puzzle I thought could I find an plaintext word that might have been used in the ciphertext.  'Most' slashdot posts start with:
beltsbear writes"Following a reasonable view of drug patents, the Indian courts have decided that making small changes to an existing 
 The interesting bit is that the story starts with writes.  If this is true of the encrypted version then it would mean that f('writes') = jevgrf  where f is the encryption algorithm

Pulling it apart

Both the words contain 6 characters.  I wondered if this was a simple encryption algorithm like a ceaser shift.  

ABCDEFGHIJKLMNOPQRSTUVWXYZ
                      |-----------------------| (13 CHARACTERS)
Each letter was simply shifted 13 spaces across.  This is known as a ROT(13) algorithm.  It requires no key.  Plenty of online tools exist to decode such text.  thus:

Na nabalzbhf ernqre jevgrf"Nf Qryy'f (QRYY:ANFQND TF) obneq erivrjf guerr pbzcrgvat cebcbfnyf sbe gnxvat gur pbzcnal cevingr, vapyhqvat n $24.4 ovyyvba qrny yrq ol sbhaqre naq PRB Zvpunry Qryy naq Fvyire Ynxr Cnegaref, gur pbzcnal unf naabhaprq vg vf ragrevat gur 
became
 An anonymous reader writes
"As Dell's (DELL:NASDAQ GS) board reviews three competing proposals for taking the company private, including a $24.4 billion deal led by founder and CEO Michael Dell and Silver Lake Partners, the company has announced it is entering the 

Going back to work

This wasn't difficult but I did enjoy pulling the puzzle apart and figuring it out.  At least I don't have to give up the day job

Monday 25 March 2013

Give me your money!!!!

My wonderful wife Amy @alyates is running the race for life this year.
Amy and me in the forest

She runs the race in memory of my mum and my step mum who have both had battles with cancer.  I'm not going to talk at length how bad cancer is and how a cure is just around the corner.  We all know the former and I don't know enough about the latter to have a reasonable opinion.  However I would like to think that people might want to spare some spare change and through it at her just giving page.

Or you can simply text:
AMYY83 £1
to
70070

to donate via your phone.  SMS donations are also linked to that page.

Ask the bill payers permission, don't spend your last £1 here etc.  But if you can spare a little cash and help us eradicate this terrible disease then Amy, me, Cancer Research UK and cancer sufferers past present and future will all be greatful

Monday 25 February 2013

Losing Weight

I am trying to lose weight.  Being a nerd being able to track my progress fascinates me so I keep a good spreadsheet up to date showing my progress.  In the interest of openess I am going to make that information public.  Obviously I will not be making my spreadsheet publicly editable but I am happy to share the result.  This post will automatically update whenever I get weighed and upload the new weight.

Why am I doing this?
  1. I believe in honesty and transparency.  
  2. It keeps me honest (If I feel people could be tracking me I am more likely to keep going)

Friday 22 February 2013

Being productive

I hate spending the day working hard and then realising that I have actually accomplished NOTHING:
My to do list was as long as it was in the morning
My inbox was even fuller
I was frazzled!

I was working longer and harder each night just to try and start the next day with a clean slate, my efforts were always in vain.  I looked on-line and being the natural northern skinflint tried to find some useful resources that might help me out.  YMMV but they might help you too.

How to live on 24 Hours a day

This book is free on amazon kindle, if you don't have a kindle then you can download the free app for your phone/tablet or there is web application that you can use.  Although the book is old, the points made are still relevant.  One of the main focuses of the book is that if you want to do something then you can always make time for it, if it's important enough then the phrase "there aren't enough hours in the day" will cease to apply.  I know I have used this phrase before, in particular while watching stupid TV programmes.  I had to ask the question, is what I want to achieve more important than watching TV? If yes then my priorities are wrong.

Bit Literacy 

Again another free e-book, This book shows how digital embodiments of physical objects causes us to become overloaded.  Take music as an example. We used to buy music on CD, Cassette, vinyl etc but now buy it digitally, because we no longer have a physical 'thing' to organise we tend to make multiple copies, have disorganised filing structures etc.  Ask a vinyl collector where his copy of tubular bells is and he can find it.  How many digital users could do the same.  The same paradigm applies to email, calendar, to do lists etc.    Mark Hurst (author) has finally got me to the point where I have a ZERO length inbox.  twice a day (no more) I go through my email and ruthlessly use one of three actions against it.
  1. Do it and Delete it
  2. File it (into a place which is indexed)
  3. Save it as a to do with a start date
Now my inbox is free I am no longer drowning in digital email.  I can see the new stuff and I can action it accordingly.  I now longer and constantly interrupted by having to firefight my inbox.  The same applies to my personal email too. 

How to be a productivity Ninja

Some very good tips in here (a lot shared in the other sources) that I agree with.  Especially around the matra of just getting stuff done.  Don't moan and winge about it just do it and then "It's done".