Category Archives: Stuff

End of week 1 review

So this was my first week working full-time for Bauer remotely.

The stomach bug that hit me last weekend has laid siege to the household. My fiance has come down with it, it has laid waste across our social networks and only towards the end of this week am I feeling the tight grasp release…

This has meant I have not been working as effectively as usual and added to the fact that starting to work remotely after mostly being in the office for the last 18 months is disorientating. I don’t hear any gossip anymore, I don’t even see any people besides family members on an average day unless I have a delivery.

The internet was a little flaky mid-week, but that seemed to clear up overnight. It wasn’t helpful feeling low and getting frustrated with repeated dropped terminal connections.

It is now Friday and I am feeling a lot better than the start of the week and I am starting to get back into the swing of working remotely again, perhaps it was helped by the innovation day. Hopefully this bodes well for the coming months.

I just ordered a new UPS for the office and wondered if I should get a second for the downstairs router. It took me a couple of seconds before I realised that wouldn’t be as useful as I’d want as I have a powerline ethernet bridge connecting my office to the router. In the event of a power cut, this would be rendered inoperable until the power is restored.

Anyway… We’ll see if I can complete the office redecoration over the weekend and take the pictures required for the working from home agreement.

Going full-time

Some of the people that follow me on Twitter or Facebook may be aware that my contract came to its completion at the end of April.

I like working for Bauer; the people are friendly, my boss is a techie and I respect him, there are enough resources to allow me to geek out at scale and enough projects that life is never boring, so I let it be known that I would be interested in considering a full-time role with the company.

My start date was set for the day after the bank holiday and I hurriedly set to work to fix up my office. I almost managed it…

Alas the best laid plans of mice…

Over the weekend I came down with a stomach bug which knocked me for six. I still haven’t finished everything in the office, but I am not far off… something for the next weekend.

DevOps and the future

DevOpsWe have come to a turning point in the evolution of the DevOps movement.

The big consulting companies have ran with the concept and built big expensive packages aimed at corporations; there are SaaS companies trying to carve out territory based on the tool chain and there are small DevOps consultancies that will go into a company and try to help them adapt their processes to be more DevOpsy.

We have the tooling side pretty much sewn up. This isn’t a bad thing. The problem we now have is the culture side; the people problem. We still are thinking in the concept of traditional organizations; of rigid hierarchies and top-down management and people mostly just being inter-changeable cogs in a giant machine.

We need to address this.

Organizations are getting bigger and more distributed. As this happens the communication overhead increases. Traditional solutions of adding a manager or team leader to a team to act as a single point of contact is starting to become inefficient when it comes to larger organizations. Each level of abstraction adds overhead, reduces transparency and reduces efficiency. We need a different way of working.

I don’t have the answers yet, but I am trying to understand the problem.

10 New year’s resolutions for IT pros

1st of January

Self Improvement is a hard thing to do at the best of times. Putting pressure on yourself to change at the start of a new year is probably not the best of ideas, but we do it anyway (much like choosing to run Windows 8).

So without too much additional preamble here is my list.

  1. Backups – We are all guilty of not taking adequate backups… or often in my case taking adequate backups but not automating them or keeping them organised. This doesn’t need to be a big complex system, it could just be a cron job tar’ing up the important data, encrypting it and uploading it to the cloud.
  2. Improve security – There are still a lot of us choosing to not embrace TLS for their services and with StartSSL and LetsEncrypt offering free certs and PositiveSSL (I get mine via Namecheap) being pretty cheap, there is no excuse. In addition to this why not use this time to start using keypairs for your SSH (Microsoft announced SSH support back in June)  for secure access to your systems.
  3. Stop procrastinating – We all have these little things we have put off; fixing that computer in the corner, cleaning the office, learning a new language or framework or perhaps asking that girl at the coffee shop out. The first step in getting stuff done is to just fscking start it… and then continue doing it. I just wish I could take my own advice…
  4. See the world and meet new people – I know many of us are most comfortable when it is just ourselves and our computers, but if we are to grow as people we need to experience new things and be exposed to new ideas. Perhaps goto a usergroup (I sometimes goto some of the London DevOpsy ones and PHP:East Midlands) or perhaps a conference or two.
  5. Be more polite – We all get stressed from time to time and in our quest for efficiency we can forget how we are coming across. It probably isn’t helped by the fact that many of us communicate better with a machine than face to face. Like any skill we can hone it and become more adept at it.
  6. Be more organised – We often complain that there are not enough hours i the day but conversely know people that seem to manage to accomplish so much. It generally comes down to two things: being more organised and prioritising what is most important.
  7. Spend time with people that matter (and less time with the people that don’t) – As you get older you come to understand some of the decisions you have made in life didn’t always align with your current values. I doubt that when I am old and grey and laying on my deathbed that I will say ‘I wish I had worked more’. More likely I will lay there wishing that I had spent more time with the people that were important to me. Why wait for this time when you can do something about it right now?
  8. Get more sleep – Lack of sleep can affect your health, your stress levels, your effectiveness at work and indirectly the people you live and work with. Do the world a favour and don’t shortchange yourself on your rest.
  9. Eat healthier – Your body works better if it has the right fuel. Over the past couple of years I have come to understand I can’t just keep abusing my body and I am trying to turn my health around a little… unfortunately, I haven’t found this trivial with spending 13 hours a day out of the house and commuting 250miles a day…
  10. Exercise more – Spending hours a day sitting on your arse isn’t ideal from a health perspective. I try to get up at least once an hour and stretch my legs and get out for a walk at lunch – I say try because sometimes this is easier said than done…
  11. (Bonus) Learn to be content with your life – We all have things we regret doing; choices we made; opportunities that we passed up; girl friends we haven’t got over etc. We might also be looking forward to certain events in the future…
    We need to stop living in the past and live in the now. The future hasn’t happened yet and the past is gone and can’t be changed. We need to live in the moment; embrace it and let the past go.

Microservices payload design

There are a lot of people talking about microservices at present. I understand it is fashionable and a lot of people are trying to get rich from consulting in the domain, but a lot of the things I hear are just plain wrong or bad practice.

People are just throwing microservices out there with little consideration of any of the basic requirements of operations. No idea of how they will monitor them; no concept of of how they can debug them and no regard as to how they upgrade them.

I came from a dev background and over time migrated into operations. I dislike fragile, hard to debug components.

I have learnt the hard way just how difficult a distributed microservice architecture can be – but it is still (when designed correctly) a better choice than a hulking monolith of code.

I like my payloads to be debuggable. For this reason I like JSON as a interchange format. It isn’t the most efficient representation format but can be easily human-parsed and is supported by most languages.

I like to know how long a request has taken through the system so I put a uuid and microsecond timestamp when every request is first seen. I also like to know how long each step takes so I also append a timestamp and additional id for every process the request passes through.

Doing these in a uniform way allows you to take a payload from anywhere in the system and be able to use the same tools to perform basic analysis.

It can bloat the payload a little, but being able to see at a glance how quickly each worker is dealing with requests, how long each request takes end to end and what bottlenecks you are seeing allows you to define and keep contracts with your service consumers and detect potential failures before they happen and automatically trip circuit breakers to mitigate some of these issues.

I don’t have all the answers, but this is starting to work well for me.

Just say no

Some time back I became aware that I said “Yes” to too many things. I liked to please people and taking on additional burdens didn’t seem like it was much of a problem.

If I was great in managing my time and nothing outside of my control came to upset the balance I would have been fine, but I wasn’t. I was in some ways as far from great time management as the North pole is from the South – literally poles apart.

Like any habit, it only becomes so if you actually do it. I have made it my goal to say no and mean it at least once a day when people ask me for stuff.

So far it is definitely helping. I have less things on my task-list and I seem to be making a dent in some things I haven’t even looked at for months. Once you start seeing progress you start to feel happier about it and it starts to become a positive feedback loop – Bonus!

I just hope I can keep it up for the next 40 days or so, so it becomes an automatic habit.

What are you waiting for?

Are you waiting on a lightening strike?
Are you waiting for the perfect night?
Are you waiting till the time is right?
What are you waiting for?

— Nickleback, “What are you waiting for”

It seems that a lot of people are waiting for the perfect moment, and up until recently I too used it as an excuse.

That is all it is; an excuse. The time will never be perfect in your mind. There will always be something that is sub-optimal, so get off your arse and just do it. Use what resources you have right now to do the best you can and improve on it later, but just get something out there.

I have literally wasted years by not following through on ideas. Many of which I have seen other people succeed with just a year or two after I didn’t even bother to try. If I had done something rather than clicking through to the next funny cat picture, like a rat pushing a bar for the next food pellet, I would certainly be in a better position than today. I might not have succeeded, but I would have at least tried and whether I failed or succeeded I would have got the experience that only trying provides.

Email overload

Ask anyone that has been online with the same email address for more than a few years and you’ll rarely hear them say that they have no issue with spam.

The truth is that as soon you start to use an email address for anything like everyday use, you will start to accumulate spam and other unwanted messages.

Email itself is kinda broken this way. The costs of sending are that small that it profits people to send out millions of untargeted emails in the hope that they get a response from that fraction of a percent that might bother to read it.

There have been a number of attempts to redress this balance but none of them have caught on outside of a tiny audience.

Personally I gave up trying to fight it head on. I use a lot of spam filtering and manual white and blacklisting which makes email usable for me, but for everyday use I use instant messaging to communicate with collegues, email only being used for big messages or forwards from other people – and I like it this way.

If something is urgent, then email is useless, the feedback loop is too open. It needs to be something more immediate in response. IM works here and for when it doesn’t work for one reason or another, I use Textsecure a secure SMS replacement app for android.

This isn’t perfect, but it is working for me so far.

Bi-phasic sleeping

Now that I don’t have to get up for work at a fixed time, my body seems to be heading towards a biphasic state; which I am told is natural for humans and what our ancestors did.

Typically this means that I go bed about 10 or 11pm and sleep for a few hours; typically 1.5-3 hours correlating to 1-2 REM cycles. Get up and work for a few hours and then head back bed for another REM cycle or sometimes 2 if I am really tired. This means I am naturally getting 4.5-6 hours sleep a night and not feeling particularly tired at the end of it.

I have to admit, this is a nice state to be in some respects, but it isn’t helpful in others as I am out of sync with my girlfriend who is on a fixed schedule with regards to uni.

Moving on

After tomorrow I wont be an employee of Synety anymore.

In some respects this is a good thing; I wasn’t in a good place head-wise, but I will miss the place.

I am thankful for my time there, I have learnt a lot about myself and faced many challenges I hadn’t faced before in my career.

I might not have agreed with every decision that was made, who does, but I liked the company. I liked the people I worked with, and I enjoyed most of the work. I just needed a change; a break from the stress.

Synety itself is fast paced. It has needed to be to grow as fast as they have, but that speed of change takes it toll. While I could have coped with it had I not had other stresses in my life at the time, for me it was just too much.

You don’t realise it at the time, but stress changes you. It upsets your health. It upsets your relationships with friends and family and left unchecked it will change you as a person.

I wish them well in their future business dealings, but for me it is on to pastures new.