darkflib.github.io

Site Reliability Team Lead at News UK

View on GitHub

Going Fulltime

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.

Read More

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.

Read More

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?
Read More

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.

Read More

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.

Read More

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.

Read More

Gravatar

I recently implemented gravatar on a site for a friend and he was worried about the security of the 3rd party service.

Read More

Learnings Part 4

9) Business decisions should not be taken personally.

Getting fired always hurts one way or another. It hurts you - you wont be getting paid for that job any more. It hurts your boss - It isn’t pleasant knowing you are putting someone in that position and it hurts your colleagues.

Read More

Learnings Part 3

6) You don't need to suffer in a job

It has taken me a long time to realise it, but the most important things in life are not how much money you bring home or how many hours you spend at work. You wont be lying on your deathbed thinking “I wish I had spent more time at work”.

Read More

Is Coding Art

I was recently asked this question and after lengthy contemplation I have to argue that as most people practice it no, it is not art.

Read More

Life And Work

I currently have just under a month left before I leave Synety. I haven’t yet got anything concrete lined up, so I am looking at options…

Read More

Mopsa Rip

Last Friday I was getting Mopsa one of Sam’s owls in from the weathering when we were both startled by one of the ferrets jumping at the bars.

Read More

Uk Registry Notice

I just received this notice, it doesn’t affect me directly, but is certainly interesting in that it may mean a lot of premium .uk domains being up for grabs soon…

Nominet, the .UK registry, has introduced a new Data Quality Policy. This policy requires that both the registrant name and address be verified against a third-party data source. For each domain registration or update, Nominet will try to validate the registrant name and address using their own data sources. If Nominet is not able to complete this validation, they will ask the registrar to have the data verified. Domains that do not complete the verification within 30 days will be suspended and can no longer be renewed or transferred.
Read More

Thoughts On Incubators

I recently saw a video that essentially said that we don’t need incubators anymore; that they don’t really give people what they need; that people can work from their kitchen because they have broadband at home.

Read More

How Much Is Too Much

I’ve worked for a number of start-ups and so far have seen about half of them fail. I don’t see this as a personal judgement, more about it being the nature of start-ups.

Read More

10 Predictions For 2014

1. Bitcoin and other virtual currencies will become more widespread

There is a lot of momentum behind virtual currencies at present and while there is a lot of hype, there is some real progress being made.

Read More

Banks 2 0

Just a brain dump after a conversation with a friend:

Friend: How widespread do  you think this will become? Friend: i.e., in our 60's, do you think we'll be able to buy  groceries with BTC ? Friend: or something similar Mike : bitcoin will die in a year or two... something else will replace it... Friend: you think!? Mike : the problem with BTC as it stands is that it is being hyped too much... Mike : it is a bubble... Mike : but you can't tell when it will burst Friend: i'll agree Mike : it might be tomorrow... it might be a year from now... Mike : but it is paving the way for what will come afterwards... Friend: just getting really tired of USD Mike : and it will usher in a new world where many virtual currencies all co-exist... Mike : where the actual currency it is stored in is transparent to you, since your bank balances them... buying and selling to try to make the best return for you... Friend: i doubt that..the bank would never give you anything good...but i'm cynical about banking Mike : you will probably see a single value... a USD equiv most likely... that you own... Mike : which will fluctuate day to day as exchange rates change and banks buy and sell your currencies in the background Mike : these aren't traditional banks... these are banks 2.0

Will there be risk? Yes, we are talking about systems where people can game them, where hacking will be a serious risk, where anonymity is valued.

Read More

Scaling Featureswitches

I was recently helping out a friend’s company to scale out. This details some of the issues that were faced when scaling out the code for the feature switches.

Read More

Decoupling Processes For Fun And Profit

I’ve been working with a friend on the architecture of a new app. It is designed to scale out horizontally and to have less points of failure. To this end we have tried to keep all processes decoupled by using a message bus (specificly RabbitMQ)

Read More

Burnout Is A Security Issue Too

If we define security using the CIA triad of Confidentiality, Integrity and Availability and apply it to staff in your organisation, then burnout is a failure in at least Integrity and Availability.

Read More

Post Ignite Stuff

I’m not going to talk about the content of the ignite too much in this post as you will soon be able to watch the video on vimeo (I’ll link when available), mostly my feelings about it.

Read More

Devopsdays Positives

I prefer to get the negatives out of the way first (You can find them in the previous post) since it is these we can learn so much from (and turn them into positives in the process)

Read More

Blog Rot

I don’t update this blog as much as I probably should. I tend to throw my thoughts onto twitter or facebook (twitter more professional career stuff and facebook more personal stuff - not that it was planned that way).

Read More

Hosting Infrastructure

I’ve worked for/with many companies over the years - many of them start-ups and from time to time I get asked where I host my own projects or have I got any experience with x company.

Read More

Web Developer Tools

I rarely have to touch HTML and CSS the majority of the time - one of the things that comes with being an infrastructure engineer and dealing with back-end systems on a day to day basis. However, when I do need to build something, it is often that I don’t have all the pieces needed to do so. Perhaps I don’t have the images or text and have to use placeholders for them.

Read More

Qwikshortener On Github

I have OpenSourced the original code for my tinyurl system. It has been clocked at 200 requests/second on the 256Meg Cloud Servers on Rackspace Cloud and is fairly simple to extend.

Read More

Rock Cakes

I don’t follow recipes well, I use my eyes to see how stuff looks and if I feel it needs some more liquid or is too fluid I compensate.

Read More

A Look At The New Rackspace Cloud

I have been very lucky to be included in the first rollout of the new rackspace cloud and while it has been live (to me) for a few days, I have only just had a few minutes to have a play with it.

Read More

Lessons I Learned From Building Startups

Sysdom isn’t my first startup, it isn’t even my second, but comes some way down the list at 3 or 4 (or 8 or 9 depending on whether you want to count startups that I didn’t have equity in). In that time I have made mistakes (oh so many mistakes), but I have learned from them and tend to make completely new mistakes the next time around. ;)

Read More

Mongodb Journalling

A quick one if you are wondering about MongoDB and Journalling (especially on Debian/Ubuntu from the MongoDB repo) .

Read More

Mongo Benchmarking 1

These aren’t perfect benchmarks - far from it in fact - but I just wanted to get a rough idea of the relative tradeoffs between fsync and safe over normal unsafe writes…

Read More

Bash Tip 1

Often when operating on the commandline you may want to re-execute something with elevated privileges. There is a shorthand way to do this rather than either cutting and pasting or retyping the line.

mike@mike-P35C-DX3R:~$ updatedb
updatedb: can not open a temporary file for '/var/lib/mlocate/mlocate.db'
mike@mike-P35C-DX3R:~$ sudo !!
sudo updatedb

Read More

Case Study Optimising A Cloud Application

I was recently brought in to examine the infrastructure of a small startup. This wasn’t anything really special, I do it quite often for various reasons. What was different was that they didn’t have issues with scaling out particularly - they had that working well with their shared nothing web application and mongodb backend. What they were having issues with was their infrastructure costs.

Read More

Rackspace Huddles

I’m not a Rackspace expert - far from it, however I do use the Rackspace cloud often, both as a personal customer, a business customer and for various clients. I will try to lay out how I believe it all works and how this impacts you the end user.

Read More

Fastcgi Php And Supervisord

Nginx wont auto-spawn workers if they don’t exist so you do need to start them outside of Nginx. Many people use the spawn-fastcgi script or some other startup script to do it, but the smart people use a process monitor.

Read More

Gearman Coalescing With The Unique Id

Many people on both the mailing lists and across the net seem to be slightly confused as to the coalescing features of gearman. I will try to explain what it is and how it works here…

Read More

Gearman Admin Interface

I have recently been playing with gearman for a big project for one of our clients here at Sysdom. Getting it up and running was super easy, but we needed to integrate monitoring into our admin pages, so here is a little piece of code to get you up and running…

<?php
error_reporting(E_ALL);

Read More

Why A Sysadmin

I never intended to become a system administrator out of choice, it just kinda happened. What follows is a rough account of my history of computers since around 1995. I omit mentions of specific companies I worked for and with and any systems I owned prior to 1995 (of which there were many, but no PC compatibles). This isn’t a perfect recount, some details are lost in the mists of time, but I hope it gives you the gist of it all.

Read More

Dc Appliances

Those that know me know that I to get myself a boat soon. While this isn’t definite, it still makes no sense to buy new equipment that is unusable on a boat due to such undesirable features such as power consumption, size etc.

Read More

Printable Ceo Tasks Up Organiser

I’m trying a new way to manage tasks, I am hopelessly disorganised at times and while I have tried computer based systems I find that I just don’t work the way they want me to. Paper is better, but unless I can keep it organised I just end up with a massive pile of notes sticking out the front of my keyboard, but paper does seem to work better…

Read More

Geek Work

This isn’t aimed at any one person, but it explains my thoughts on how geeks (especially me) work…

Read More

Technology Happiness

It has been said that “Science and Technology bring nothing to human happiness” and that “many of us are unable to perform even the simplest tasks to maintain the complex machines we depend upon for eating, communication, working and entertainment” and while to some extent they are true, we are only looking at part of the picture… Let us explore these ideas from the two extremes. I personally would define technology as any development stemming from the human mind that makes life easier or gains us abilities that we alone do not possess and science is a process to try to understand the underpinnings of the world. While not the same, they do overlap and compliment each other - using scientific theories to develop better technology and building technology to better hone scientific theories. (Note that religion doesn’t enter into this.)

Read More

Failure

It used to be that I was afraid of failure. It wasn’t something I was born with it just tended to evolve over my life. I was fairly risk-averse depending on what was put on the line.

Read More

10 Things Any Newbie Web Developer Should Know

I’m not saying that a newbie should know all these off the bat. It takes years to be proficient in the majority of these, but just knowing what they are and why they are important will put you a couple of notches higher than most other newbies.

Read More

Break The Shackles

“The few own the many because they possess the means of livelihood of all … The country is governed for the richest, for the corporations, the bankers, the land speculators, and for the exploiters of labour. The majority of mankind are working people. So long as their fair demands - the ownership and control of their livelihoods - are set at naught, we can have neither men’s rights nor women’s rights. The majority of mankind is ground down by industrial oppression in order that the small remnant may live in ease.” — Helen Keller, 1911

Read More

Why I Seldom Code Anymore

I enjoy coding. It allows me to scratch personal itches and depending on who you ask I am pretty good at it… but I rarely do it anymore.

Read More

Who Am I

  • I am a geek
  • I have wrote a lot of software
  • I have been interviewed on radio and podcasts
  • I have worked for some big companies
  • I have worked for some start-ups, some that succeeded
  • I am a tree-hugging hippy

Do any of these really tell you who I am? I don’t think so. Each of them touches on a facet of my life or who I am without really telling you anything about me, but on a daily basis people jump to conclusions from this much information or less - kinda sad really… :(

Read More

Online Businesses

Many people at one time or another have the idea of setting up an online business. Taking control of your future and reaping the rewards for your own hard graft is great, but not everyone knows what they are doing…

Read More

Bricks And Water

Many people that know me know that I am hoping to get my boat this year. Some people ‘get’ why I want to move onto one, but many don’t…

Read More

22

[yframe url=’http://www.youtube.com/watch?v=u6XAPnuFjJc’]

Read More

Romannumerals

I needed a function to convert dates to their Roman numeric equivalents. The rules are pretty easy to understand so I thought I’d knock up a function.

function numerals($num) {
//You are free to use this function under a BSD license
//essentially cost free, no code taint,
//but you must leave my copyright in.
//(c)MMXI Mike Preston mikepreston.org
$out='';
while ($num > 0) {
    if ($num >= 1000) {
        $out.='M';
        $num=$num - 1000;
    } else if ($num >= 900) {
        $out.='CM';
        $num=$num - 900;
    } else if ($num >= 500) {
        $out.='D';
        $num=$num - 500;
    } else if ($num >= 400) {
        $out.='CD';
        $num=$num - 400;
    } else if ($num >= 100) {
        $out.='C';
        $num=$num - 100;
    } else if ($num >= 90) {
        $out.='XC';
        $num=$num - 90;
    } else if ($num >= 50) {
        $out.='L';
        $num=$num - 50;
    } else if ($num >= 40) {
        $out.='XL';
        $num=$num - 40;
    } else if ($num >= 10) {
        $out.='X';
        $num=$num - 10;
    } else if ($num >= 9) {
        $out.='IX';
        $num=$num - 9;
    } else if ($num >= 5) {
        $out.='V';
        $num=$num - 5;
    } else if ($num >= 4) {
        $out.='IV';
        $num=$num - 4;
    } else {
        $out.='I';
        $num=$num - 1;
    }
}
return $out;
}

Test Code

echo "<pre>Test Start\n";
echo numerals(1) . " - 1\n";
echo numerals(4) . " - 4\n";
echo numerals(5) . " - 5\n";
echo numerals(9) . " - 9\n";
echo numerals(10) . " - 10\n";
echo numerals(40) . " - 40\n";
echo numerals(50) . " - 50\n";
echo numerals(90) . " - 90\n";
echo numerals(100) . " - 100\n";
echo numerals(400) . " - 400\n";
echo numerals(500) . " - 500\n";
echo numerals(900) . " - 900\n";
echo numerals(1000) . " - 1000\n";
echo numerals(2000) . " - 2000\n";
echo numerals(1999) . " - 1999\n";
echo numerals(2001) . " - 2001\n";
echo numerals(2010) . " - 2010\n";
echo numerals(2011) . " - 2011\n";

Read More

Rise Of The Machines

Next step, to get it listed on the electoral roll:

A form was reportedly posted to a car park ticketing machine at Dorset's Moors Valley Country Park. Addressed to 'The Occupier: Pay on Foot Shelter', the machine now faces prosecution - with a fine of up to £1000 and a criminal record if it fails to fill in the form. To the amusement of staff at the park, they are now figuring out what to put as its job, language and religious beliefs.

http://uk.news.yahoo.com/38/20110311/tuk-why-you-may-be-confused-by-the-2011-107bc4a.html

Read More

Blog

I seriously considered importing my old blog here but have now decided not to.

Read More

Blog Stuff And Facebook Integration

When I looked at starting a new blog I didn’t want a repeat of my previous blogs. I still have the majority of the posts from them all and two of them are still up as I believe many of the posts are still useful to people, but one of the main reasons I stopped posting on them is due to the amount of comment spam I got.

Read More