That Horrible Question: "Where Do You Want To Be In 5 Years?"

Written by Ashley Broadley on Thursday, 6th October 2011 at 13:45

As a person in somewhat of a minor position of power within the company that I work for, one of the responsibilities I have been charged with is recruiting new developers. I recently hired a junior who, when meeting the CEO for the first time after a week of employment, was asked the question "Where do you want to be in 5 years?". I hate that question. I really don't think you can get a good idea of a candidates future prospects from any answer they could give. 

I remember being interviewed for my first position in my chosen industry, and I still remember the answer that I gave when asked the worlds most horrible interview question. My answer went a little something like this:

"I guess in 5 years time I'd like to be in a position where I'm leading a team and able to help lesser experienced developers become great."

It's not an in-depth answer, but I thought it addressed my (then) current state of mind really well.

I answered that question before I had ever been employed in my chosen industry. I'd been using PHP for 2, maybe 3, years in a non-commercial environment. I had no experience of OOP, or any design patterns. No server management experience, and I definitely had zero experience of managing people.

When my junior was asked that question I started to think about the answer I gave and where I've ended up almost 5 years after being asked that very question. It seems that I had very clear aspirations when I first started out. I hope I still do. 

I think if I'm ever asked that question again, my answer will be "In 5 years time I want to be sat off the coast of Monaco on my £100million yacht drinking expensive Champagne from a Diamond encrusted Champagne Flute while surrounded by a hundred attractive, scantily clad women."

What do you think of the question "Where do you want to be in 5 years?"?

Tags: #interview, #question, Comments: 3


Git Tip: Creating Zip Of Changed Files

Written by Ashley Broadley on Friday, 30th September 2011 at 13:10

A lot of my current projects in my new job require making changes to files where the main application isn't cloned from a repository. To combat the problem of having to upload each file that's changed between release tags, I used the following to create a zip file of all the changed files:

git archive --format zip -o changed.zip HEAD `git diff --name-only HASH`

Replace HASH with the version you last used to update your live application and the end result will be a zip file called 'changed.zip' which contains all of the files that have changed since the changeset you specified in HASH.

All done. Simples!

Tags: #git, #protip, Comments: Be the first!


A Voyage Of Discovery - Git - Starting A New

Written by Ashley Broadley on Sunday, 21st August 2011 at 10:23

As a continuation of my "A Voyage of Discovery" series, I'm also going to delve into the power that is Git. Git is what's known as a Distributed Version Control System, similar to Mercurial. As I mentioned in a previous post back in September last year, Git is something that I've not had a chance to really get to learn about. So I'm taking this opportunity to document the things that I learn about, mainly for my own reference.

For this mini series, I'm going to be using Github to begin with, then I'll move on to setting up a remote git server and using that as the centralised location for our repos. Also, for reference, I think it's worth noting that I'm running Ubuntu 10.10 on a laptop. To complement one of my Phing articles, I'm going to be using the build files in the examples there as the file I want to track.

Is It Running Yet?

Git installation differ depending on what OS you're running, but I choose to do it via the command line. So to install Git I run:

ashley@laptop:~$ sudo apt-get install git-core git-doc git-gui

Let the package manager install everything and you're done. It's that simple.

Git-What?

Github. It's an online git repository hosting website. It's free for personal and open-source projects! So first of all you should sign up there. 

Ok, so once you're signed up with Github, we can now set up our SSH Key so we can actually commiunicate with our repository. To start you need to have an SSH Public and Private Key. Thankfully, these are pretty easy to create. On the CLI, run the following and just press enter when it asks you about the location to save:

ashley@laptop:~$ ssh-keygen -t rsa -C "me@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ashley/.ssh/id_rsa): 

It'll now ask for a passphrase. You don't need to enter one, but I highly recommend it. 

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ashley/.ssh/id_rsa.
Your public key has been saved in /home/ashley/.ssh/id_rsa.pub.
The key fingerprint is:
04:a6:0b:df:52:ab:d4:9d:43:01:57:6d:62:29:85:c8 me@example.com
The key's randomart image is:
+--[ RSA 2048]----+
|     .+oo+oo     |
|     oEoo.+ o    |
|  . . . oo o     |
|   o = = .       |
|    = + S        |
|   . o   .       |
|    .            |
|                 |
|                 |
+-----------------+

What you need to do now is add your public key to Github. 

So, to add your public key to Github, simply open the file '~/.ssh/id_rsa.pub' in your favourite editor and copy the contents to your clipboard. Now navigate your browser to Github and login. From here click on Account Settings -> SSH Public Keys -> Add another public key. In the dialog that appears, give the key a name, for example "Me@HomeLaptop", then paste the public key into the big text area. Whatever you do, DO NOT, alter the contents of that box at all. If you malform your public key, it won't work. Save the public key and we're sorted.

Now we can test our SSH Key by doing the following:

ashley@laptop:~$ ssh -T git@github.com

It will ask you to set up the RSA fingerprint between your machine and githubs servers.

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? 

If the connection was successful, you'll get a response with the following:

Hi ls12styler! You've successfully authenticated, but GitHub does not provide shell access.

If you see the message above with your username instead of mine, then it means we've got the green light and we're almost ready to rock. We've just got to set a couple of global config options. So in your terminal do the following:

ashley@laptop:~$ git config --global user.name "Ashley Broadley"
ashley@laptop:~$ git config --global user.email "me@example.com"

Once you've done that, we're all done. Next time we'll be going through the basics of using git.

Tags: #git, #dvcs, #github, Comments: Be the first!


I'm Disabled!

Written by Ashley Broadley on Thursday, 26th May 2011 at 15:25

Ok, I'm not actually disabled... Well, not officially. And I'm pretty sure my friends would say that I'm mentally disabled for not getting myself looked at sooner.

I'm not really sure why I'm writing this to be honest. I think I want to keep this updated with the progress of fixing all the injuries I've sustained while snowboarding.

To start, I guess I should really list the injuries I've sustained and am planning on/getting fixed.

Dislocated Acromioclavicular (AC) Joint

You can read about what the hell the AC joint is on Wikipedia. It basically means I've dislocated my clavical from my actual shoulder. It looks just like this x-ray

It's not painful. Although it does start to ache after doing exercise. And it is no way near as strong as it used to be. Although I do quite like freaking people out by showing it to them. It kinda looks like a little golf ball under my skin.

As of this moment, I've been to see a specilist who recommended having surgey to fix it. Apparently, it's a pretty simple operation, details of which can be found here. The procedure is called the "Open Weaver-Dunn". Basically, I get sliced open, holes drilled into bones, artificial ligaments threaded through such holes, screws screwed into said holes, then sewn backup again. The opertion will put me in a sling for 6 weeks and physiotherapy for 6 months. I went to see ther specialist back in April (I think!) which was when I signed my life away and agreed to have the surgery done and I haven't yet had any correspondance from the hospital regarding dates or anything. The specialist did say that the waiting list was between two and three months, so I should be getting something through shortly. 

Hopefully I'll haven something to update this with soon, and I'm sure I'll update this post with all the news that comes my way.

Knee Problems

Many people might read that title and think "Oh, I bet that's just bad knees...". Well, news for you! It's not. Unfortunately. 

I did this injury back in November 2010, at Mt CasVegas, before I went to Scotland. Two weeks before in fact. I did it by going off the side of a kicker (ramp) and dropping onto both my knees from about 6ft in the air. Needless to say, that was poainful. In hindsight I should have gone straight to A&E to get it checked out, but hey ho, you live and you suffer learn.

I've not actually been to have this injury checked out just yet, but it's definitely on my list of "things to do sooner, rather than later". So I'll have to update when I actually know whats going on.

Tags: #fail, Comments: Be the first!


Installing APC

Written by Ashley Broadley on Thursday, 26th May 2011 at 08:43

After migrating all of our developmetn websites to our new development server, I totally forgot to install apc on the server. The install is pretty simple, although I did run into a slight problem. 

To install APC, you simply run:

me@development:~$ sudo pecl install apc

When installing this time around, it seemed I was missing some Perl ReGex library. This is the error(s) that I received:

In file included from /tmp/pear/temp/APC/apc.c:44:
/usr/include/php5/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory
In file included from /tmp/pear/temp/APC/apc.c:44:
/usr/include/php5/ext/pcre/php_pcre.h:37: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/php5/ext/pcre/php_pcre.h:38: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/php5/ext/pcre/php_pcre.h:44: error: expected specifier-qualifier-list before ‘pcre’
/tmp/pear/temp/APC/apc.c:393: error: expected specifier-qualifier-list before ‘pcre’
/tmp/pear/temp/APC/apc.c: In function ‘apc_regex_compile_array’:
/tmp/pear/temp/APC/apc.c:454: error: ‘apc_regex’ has no member named ‘preg’
/tmp/pear/temp/APC/apc.c:454: error: ‘apc_regex’ has no member named ‘preg’
/tmp/pear/temp/APC/apc.c:455: error: ‘apc_regex’ has no member named ‘nreg’
/tmp/pear/temp/APC/apc.c:455: error: ‘apc_regex’ has no member named ‘nreg’
/tmp/pear/temp/APC/apc.c: In function ‘apc_regex_match_array’:
/tmp/pear/temp/APC/apc.c:487: error: ‘apc_regex’ has no member named ‘preg’
/tmp/pear/temp/APC/apc.c:487: error: ‘apc_regex’ has no member named ‘preg’
/tmp/pear/temp/APC/apc.c:488: error: ‘apc_regex’ has no member named ‘nreg’
/tmp/pear/temp/APC/apc.c:488: error: ‘apc_regex’ has no member named ‘nreg’
make: *** [apc.lo] Error 1
ERROR: `make' failed

I did a quick search using aptitude for 'pcre' and I found the package 'libpcre3-dev' which wasn't installed, so I installed it:

me@development:~$ sudo apt-get install libpcre3-dev

Then I ran the apc install again, and hey presto it worked!

Tags: #apc, #php, #ubuntu, Comments: Be the first!


|1||2|