<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>The blog of James Oliver</title>
 <link href="www.jamesjo.co.uk/atom.xml" rel="self"/>
 <link href="www.jamesjo.co.uk"/>
 <updated>2015-10-17T15:31:09+00:00</updated>
 <id>www.jamesjo.co.uk</id>
 <author>
   <name>James Oliver</name>
   <email>hello@james12802.com</email>
 </author>

 
 <entry>
   <title>LD32 - An Unconventional Weapon</title>
   <link href="www.jamesjo.co.uk/blog/2015/04/19/ld32-an-unconventional-weapon.html"/>
   <updated>2015-04-19T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2015/04/19/ld32-an-unconventional-weapon</id>
   <content type="html">&lt;p&gt;I did it! I made a game in 48 hours! Although there are no sounds. Or graphics. Or enemies. But you can make a little red square jump up and down!&lt;/p&gt;

&lt;p&gt;Okay so it’s not really a game but I am sooooo pleased that I got anything done. It’s the first game I made ever, using a language I barely know in 48 hours. Time was the biggest constraint and I didn’t really start until something like 1pm on Saturday. In the end I only spent about 8 or 9 hours out of the 48 available actually working on the game, but life gets in the way. Those few hours were spent rummaging through the HaxeFlixel API and related documentation. One major time sink was getting OGMO tile maps to import successfully. &lt;/p&gt;

&lt;p&gt;Over the next few weeks I want to complete my game and actually make it fun to play. Anyway here it is - &lt;a href=&quot;http://ludumdare.com/compo/ludum-dare-32/?action=preview&amp;amp;uid=36289&quot;&gt;“The Pen Is Mightier”&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>LD32 - A 48 hour game jam</title>
   <link href="www.jamesjo.co.uk/blog/2015/04/18/ld32-game-jam.html"/>
   <updated>2015-04-18T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2015/04/18/ld32-game-jam</id>
   <content type="html">&lt;p&gt;The &lt;a href=&quot;http://ludumdare.com/compo/&quot;&gt;32nd Ludum Dare&lt;/a&gt; game jam has started this weekend and I am taking part!&lt;/p&gt;

&lt;p&gt;I have followed the competition for a few years now, but have never felt good enough programming wise to take part - but this time I do and I’m going for it! For those that don’t know, the LD game jam is held 3 times a year and features a compo and a jam. A week before it starts, competitors vote on a large list of possible themes, with the winning one revealed at the start of the competition - 9pm American, which works out at 2am here!&lt;/p&gt;

&lt;p&gt;The compo is a solo event of 48 hours where you must make everything yourself - the characters must be drawn by you, the music composed by you (random sound generators are allowed like &lt;a href=&quot;http://www.bfxr.net/&quot;&gt;Bfxr&lt;/a&gt;) and  the actual game must be made by you (game engines such as &lt;a href=&quot;http://unity3d.com/&quot;&gt;Unity3D&lt;/a&gt; or &lt;a href=&quot;https://www.yoyogames.com/studio&quot;&gt;GameMaker&lt;/a&gt; are allowed). The jam allows teams to enter and gives them 72 hours to create a game, they can also use existing assets such as music and graphics.&lt;/p&gt;

&lt;p&gt;I will be using the &lt;a href=&quot;http://haxe.org/&quot;&gt;Haxe&lt;/a&gt; programming language and the &lt;a href=&quot;http://haxeflixel.com/&quot;&gt;HaxeFlixel&lt;/a&gt; framework along with the &lt;a href=&quot;http://www.flashdevelop.org/&quot;&gt;FlashDevelop&lt;/a&gt; IDE. For graphics I will be using &lt;a href=&quot;http://pyxeledit.com/&quot;&gt;PyxelEdit&lt;/a&gt; and the &lt;a href=&quot;http://www.ogmoeditor.com/&quot;&gt;OGMO&lt;/a&gt; title editor to create the tile map. Sound will be created with &lt;a href=&quot;http://www.bfxr.net/&quot;&gt;Bfxr&lt;/a&gt; and I will use &lt;a href=&quot;http://distractionware.com/blog/2013/08/bosca-ceoil/&quot;&gt;Bosca Ceoil&lt;/a&gt; for music.&lt;/p&gt;

&lt;p&gt;As this is my first time entering don’t expect great things &lt;em&gt;from me&lt;/em&gt; in just 48 hours, I am new to Haxe as well so I will be learning as I go! Good luck to all those taking part!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Happy New Year</title>
   <link href="www.jamesjo.co.uk/blog/2015/02/04/happy-new-year.html"/>
   <updated>2015-02-04T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2015/02/04/happy-new-year</id>
   <content type="html">&lt;p&gt;As the title says, Happy New Year! I hope you had a good 2014, I sure did. After completing my first term, sorry &lt;em&gt;semester&lt;/em&gt;, of University and having a month off over Christmas I’m feeling pretty good.&lt;/p&gt;

&lt;h2 id=&quot;end-of-semester-review&quot;&gt;End of Semester Review&lt;/h2&gt;
&lt;p&gt;I really enjoyed my first 3 months of Computer Science and University life. The first term consisted of 4 units with two of them solely assessment based and the other two a mix of both assessments and exams at the end of the year. &lt;/p&gt;

&lt;h2 id=&quot;the-fun-ones&quot;&gt;The fun ones&lt;/h2&gt;
&lt;p&gt;The most fun and interesting units were an Intro to Object Orientated Programming and Foundations of Computing. The OO unit was my first proper foray into the world of Java as well as the IDE &lt;a href=&quot;http://www.bluej.org&quot;&gt;BlueJ&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;As a University, Kent is very proud of BlueJ - they have the &lt;a href=&quot;http://www.cs.kent.ac.uk/people/staff/mik/&quot;&gt;creator&lt;/a&gt; of the software as a Professor of Computer Science and lecture. They also have several lecturers who have written text books specifically for it - which of course is required reading ;p. It has been interesting taking my somewhat limited knowledge of other OO languages like Python and Ruby and applying it to Java.&lt;/p&gt;

&lt;p&gt;Foundations of Computing is basically maths. This unit began by bringing those who didn’t do A-level maths (me) up to speed and went from there. This has been by far the most difficult unit, but I have learnt so much. &lt;/p&gt;

&lt;h2 id=&quot;and-the-less-fun-ones&quot;&gt;And the less fun ones&lt;/h2&gt;
&lt;p&gt;The other two units of term one were Computer Systems and People and Computing. Computer Systems covered the basics of the inner workings of computers through their hardware, OS and networking. This pretty much covered the stuff I covered at college - going into more detail on the actual function of operating systems (especially UNIX) and general history.&lt;/p&gt;

&lt;p&gt;People and Computing is a more ethical and group working unit. I am not the biggest fan of group work in general but the unit made people to work together to create a technical solution to a problem in the local area as well as debating over ethical issues.&lt;/p&gt;

&lt;h2 id=&quot;friends-and-societies&quot;&gt;Friends and Societies&lt;/h2&gt;
&lt;p&gt;I met my main group of friends through the original &lt;a href=&quot;http://jamesjo.co.uk/blog/2014/09/28/freshers-week.html&quot;&gt;CS meet-up&lt;/a&gt; back in freshers week and others in the various geeky societies I joined. The people I met at SFX and AGS came together to form a weekly D ‘n’ D session - my first real game of D ‘n’ D! Hopefully a combo of people from these groups will be my house mates in the second year ;p.&lt;/p&gt;

&lt;h2 id=&quot;term-two&quot;&gt;Term Two&lt;/h2&gt;
&lt;p&gt;I started back at the end of January with four more units - Further Object Orientated Programming, Foundations of Computing 2, Web and Databases and Human Computer Interaction. I’ll keep you posted on how these go!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Freshers Week!</title>
   <link href="www.jamesjo.co.uk/blog/2014/09/28/freshers-week.html"/>
   <updated>2014-09-28T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/09/28/freshers-week</id>
   <content type="html">&lt;p&gt;This September, I became a University student as did tens of thousand others around the UK and the hundreds of thousand other across the globe. As &lt;a href=&quot;http://jamesjo.co.uk/blog/2014/04/20/universty-application.html&quot;&gt;earlier stated&lt;/a&gt;, I went to the University of Kent in Canterbury.&lt;/p&gt;

&lt;h2 id=&quot;arrivals-day&quot;&gt;Arrivals Day&lt;/h2&gt;
&lt;p&gt;After not really packing for a whole week, it was a bit of a mad rush on the morning of Saturday the 20th! My Mum helped me pack clothes and stuff I hadn’t even thought of like loo roll, kitchen stuff and even socks! The campus opened for freshers at 8 and with us leaving at 2ish, we arrived there about half four. I signed in, collected my key fob and headed to my accommodation.&lt;/p&gt;

&lt;h2 id=&quot;tyler-court&quot;&gt;Tyler Court&lt;/h2&gt;
&lt;p&gt;My accommodation was in one of the three Tyler Court blocks and as requested (due to my CFS/ME) I was on the ground floor. My whole family helped me move all my stuff into my new digs. My PC, posters and teddy bears all went in. After everything was in, I realised that I didn’t have that many worldly processions. After unpacking we popped off the the city to help me get my bearings and to grab some essentials&lt;/p&gt;

&lt;h2 id=&quot;flat-mates&quot;&gt;Flat Mates&lt;/h2&gt;
&lt;p&gt;We returned to campus and I waved off my family (My Mum was pretty upset). It was difficult for them because it would all be the same, minus me. For me it was all brand new and exciting. And it really was. Over the weekend I remained fairly close to my room. I introduced myself to the other flatmates, and promptly forgot their names!&lt;/p&gt;

&lt;h2 id=&quot;cs-on-facebook&quot;&gt;CS on Facebook&lt;/h2&gt;
&lt;p&gt;Before coming to Kent, I was encouraged by one of the lectures to join the “Computer Science Freshers Group 2014” on Facebook. I’m not a huge fan of Facebook and hadn’t really used it since year 10 (5 years!) but I signed up anyway (with a small nudge from my Mum!). The group was very friendly with the majority of the users being freshers to be, a couple of lectures and about a dozen current students.&lt;/p&gt;

&lt;h2 id=&quot;for-us-by-us&quot;&gt;For us, By us&lt;/h2&gt;
&lt;p&gt;One of the students proposed that because the whole week all scripted and planned by the Uni for the students, wouldn’t be good to have an event for the students by the students - and most said yes, including me. The meeting was scheduled for the Sunday evening in Origins Bar.&lt;/p&gt;

&lt;h2 id=&quot;the-meet-up&quot;&gt;The Meet Up&lt;/h2&gt;
&lt;p&gt;After spending most of Sunday hiding/chilling in my room, I was looking forward to the meet up. At Kent all the colleges have their own bar/cafe with a related name e.g. Darwin has Origins and Turing has Hut 8. Darwin is right next to Rutherford so a quick walk and I was there. I nervously walked in and order a drink - cola (my Mum would be proud) and checked Facebook. “Look for the Hats!”&lt;/p&gt;

&lt;h2 id=&quot;hats&quot;&gt;Hats?!&lt;/h2&gt;
&lt;p&gt;The message left me felling a little confused. Hats?! Scanning the room, I saw two guys in t-shirts one with a top hat and the other with a pirate hat. I guess I found them! They were tucked away in the corner and I sat next to them and engaged in the usual awkward small talk. As more CS students arrived people got more chatty and I met several guys, one of whom who stayed in the block opposite. We soon out grew the corner so we opted to move to the other side of the bar and about 40 freshers relocated.&lt;/p&gt;

&lt;h2 id=&quot;i-belong&quot;&gt;I Belong!&lt;/h2&gt;
&lt;p&gt;The relocated group shuffled around and most sat next to someone new. I though I new a guy in the corner, but I wasn’t sure - but he sure recognised me! We met at the interview day back in March - he was the impeccable dressed guy, while I was in a t-shirt and jeans! As the evening when on people got know each other and their inner geek was reviled - mostly through the form of geeky jokes and even one about GitHub! That’s when I started to feel like I belonged there.&lt;/p&gt;

&lt;h2 id=&quot;actual-freshers-week&quot;&gt;Actual Freshers Week&lt;/h2&gt;
&lt;p&gt;The actual week was pretty relaxed with a few CS lectures as an introduction to the course, the lectures, what was expected of us and what we expected of them. There were a few events and of course the Freshers Fayre towards the end of the week. Over three days every club, sport, society, religion and random group of people got their chance to attract new, unsuspecting freshers to join their ranks. &lt;/p&gt;

&lt;p&gt;I, of course signed up for SFX (Sci-Fi, Fantasy and eXtreme cult), AGS (Adventure Gaming Society) and TinkerSoc (Tinker Society). SFX is watching films and shows which fit those categories, AGS is board games - so every thing from Monopoly up to and beyond D’n’D and TinkerSoc is the Universities Maker Space. I am a big guy, so by the end of the week I had 3 flyers from Rugby and 2 from American Football! I did some more socialising over the week, including going clubbing(!) and getting to know my flatmates more.&lt;/p&gt;

&lt;h2 id=&quot;into-the-breach&quot;&gt;Into the Breach!&lt;/h2&gt;
&lt;p&gt;And that was it for my first ever week at University and I can’t wait for it to start proper!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Long time, No type</title>
   <link href="www.jamesjo.co.uk/blog/2014/09/12/long-time-no-type.html"/>
   <updated>2014-09-12T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/09/12/long-time-no-type</id>
   <content type="html">&lt;p&gt;Hey! Long time, no type. Where have you been? What have you been doing? And why haven’t you posted anything in AGES?!&lt;/p&gt;

&lt;h2 id=&quot;ages&quot;&gt;Ages&lt;/h2&gt;
&lt;p&gt;Wow! April was my last post and quite a lot has changed since then. I returned to college after the Easter break, with same lofty goal of 3 Distinction Stars. Just like the year before, the staff were not prepared and assignments were given out in the wrong order or not even written! Despite this I finished the year with the amazing grade of D*D*D*!! &lt;/p&gt;

&lt;p&gt;This is the BTEC equivalent of A*A*A* so I’m feeling pretty great about this - not only did I reach my goal but because of my hard work I am also being awarded Kent’s Scholarship of Academic Excellence which I feel a just reward for working so bloody hard.&lt;/p&gt;

&lt;h2 id=&quot;priorities&quot;&gt;Priorities&lt;/h2&gt;
&lt;p&gt;In order to achieve this high grade, I had to put in a lot of effort and a lot of extra time. Unfortunately this meant other activities suffered. Sadly one of these was the database a fellow student and I were creating for a local musician. We were both very disappointed to have to leave the project unfinished, but my University placement had to come first.&lt;/p&gt;

&lt;p&gt;Perhaps, sometime in the near future, I may write a little post-mortem on the project and what went wrong (so others and I don’t make the same mistakes).&lt;/p&gt;

&lt;h2 id=&quot;summer&quot;&gt;Summer&lt;/h2&gt;
&lt;p&gt;After breaking up just in time for my birthday in early July, I had a lovely long and restful summer. I spent the majority of the summer recovering from the crazy college year, gaming and generally taking it easy. As I type this, summer is nearing the end with just a week until I head off to Kent and the excitement of University life. Oh and the madness of freshers week!&lt;/p&gt;

&lt;h2 id=&quot;more&quot;&gt;More?!&lt;/h2&gt;
&lt;p&gt;I really enjoy blogging and I have plenty more to type, so I will be updating this blog at least once a month (more or less depending on the quantity of course work) with both technology stuff and University life from a computer scientist’s perspective.&lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>University Application</title>
   <link href="www.jamesjo.co.uk/blog/2014/04/20/universty-application.html"/>
   <updated>2014-04-20T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/04/20/universty-application</id>
   <content type="html">&lt;p&gt;I love IT. I am currently studying IT and when I’m done, I want to become a programmer. So, the next logical step in my IT journey is to go university. &lt;/p&gt;

&lt;p&gt;There are so many universities in the UK and yet I could only apply to five, which then they had to whittled down to just two choices - a firm and an insurance choice. That’s a hell of a lot of pressure to put on someone to chose where they want to spend the next 3 (or more) years of their life. &lt;/p&gt;

&lt;h2 id=&quot;ucas&quot;&gt;UCAS&lt;/h2&gt;
&lt;p&gt;In the UK, potential university applicants have to go through the Universities and Colleges Admissions Service - known as &lt;a href=&quot;http://www.ucas.com/&quot;&gt;UCAS&lt;/a&gt;. The process usually begins towards the first year of Sixth form (I was about 17). About that time, you are encouraged to start thinking about what you want to study at uni and where. &lt;/p&gt;

&lt;h2 id=&quot;open-days&quot;&gt;Open Days&lt;/h2&gt;
&lt;p&gt;Once you have an idea of at least where you want to go - you need to book open days with the universities. These days are often held in the summer holidays and generally include a tour of the campus, accommodation and the course related facilities. When I was in the first year of Sixth form, I only looked at one university - the relativity local &lt;a href=&quot;http://www.uea.ac.uk/&quot;&gt;University of East Anglia&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;uea&quot;&gt;UEA&lt;/h2&gt;
&lt;p&gt;I went to the UEA open day as Norwich is only about 2 hours away, so it wouldn’t be too long to drive home when I needed to and by this time I had decided to pursue a carer in IT, rather than &lt;a href=&quot;http://james12802.co.uk/blog/2013/09/09/hello-world.html&quot;&gt;Forensic Science&lt;/a&gt;. UEA also have fairly reasonable entry requirements for their Computer Science course - ABB, as well as a foundation course. &lt;/p&gt;

&lt;p&gt;This foundation course had much lower entry requirements, allowing students who didn’t do great at A-levels an extra year before the degree started for them to be brought up to speed on all things Comp Sci. &lt;/p&gt;

&lt;h2 id=&quot;results-day&quot;&gt;Results day&lt;/h2&gt;
&lt;p&gt;But things didn’t go to plan. After sitting the exams for both Biology and Chemistry, I was quietly confident and thought I had passed - even going as far to hope for a B. But I shouldn’t have been. Results day was awful. &lt;a href=&quot;http://james12802.co.uk/blog/2013/09/09/hello-world.html#a-levels&quot;&gt;Really horrible&lt;/a&gt;. From previous posts, you know that in the end I found my way onto a BTEC IT course at the local college. &lt;/p&gt;

&lt;h2 id=&quot;college&quot;&gt;College&lt;/h2&gt;
&lt;p&gt;Before starting the BTEC Level 3 IT course, I made it clear to the tutors that I wanted a course which would challenge me while still being interesting, and for the most part the first year was. We did Event Driven Programming (VB.NET), spreadsheets (this time VBA), web (way more boring than I thought) and other less exciting units. In the second year we lost two tutors and the remaining two had their hours cut.&lt;/p&gt;

&lt;h2 id=&quot;year-2&quot;&gt;Year 2&lt;/h2&gt;
&lt;p&gt;The second year was meant to be tougher and more technical than the first, but it wasn’t. We had lost the only tutor with basic programming knowledge - so interesting units like ASP were dropped. They were replaced with mediocre units which I had no intrest in - like another, simpler web development unit, animation and multimedia.&lt;/p&gt;

&lt;h2 id=&quot;application&quot;&gt;Application&lt;/h2&gt;
&lt;p&gt;I was bored. And couldn’t wait to move on (I still can’t). My UCAS application process began in early October. Many forms needed to be filled covering personal details, previous qualifications, a personal statement and most importantly which universities you had chosen. I have always struggled with writing and spelling my whole life, so the prospect of writing a 46 line, personal statement to sell yourself to your desired university was horrible. &lt;/p&gt;

&lt;h2 id=&quot;personal-statement&quot;&gt;Personal Statement&lt;/h2&gt;
&lt;p&gt;My Mum has always helped me with my English homework - spellings when I was in Junior’s School and in Secondary School it was essays, book reviews and the like. Her help ranged from simply proof reading my work to getting involved with sentence structure and even typing for me. There is simply no way I would have passed my English GCSE without her help and guidance. And there would be no way I would able to write this blog to this standard. &lt;/p&gt;

&lt;p&gt;So when I was presented with the challenge, she was the first person I turned to. We discussed topics which needed to be covered such as my interests, why I wanted to do Computer Science and my hopes for the future. She and I drafted a statement which we then bulked out, I then added technical details and statements tailored to what they wanted to read. By the time we had finished, we had quite a Personal Statement - so much so my tutor said it was the best one he had ever seen in his 10 years of teaching!&lt;/p&gt;

&lt;h2 id=&quot;choosing&quot;&gt;Choosing&lt;/h2&gt;
&lt;p&gt;After that it was the simple matter (hahaha) of choosing which university. Certain universities didn’t rate a BTEC diploma as highly, while others wanted A-level maths on top of the BTEC diploma - which my college didn’t offer. I originally wanted to go where my friends were going, but as it got closer to the deadline they were still undecided and I just wanted to get my application sent off.&lt;/p&gt;

&lt;h2 id=&quot;five-becomes-one&quot;&gt;Five becomes One&lt;/h2&gt;
&lt;p&gt;I choose all K’s and L’s - King’s College London, Kent, Liverpool, Lancaster and Leicester. These all wanted roughly the same grades and King’s and Leicester aren’t too far away so I could come home in about an hour. King’s then changed their entry requirements and now needed and increased their entry requirements from a C at maths GCSE to a B. I booked visit days with all of the universities but King’s was where I wanted to go. So I enrolled on to a GCSE maths course and had to choose a uni for my insurance choice. &lt;/p&gt;

&lt;h2 id=&quot;kent&quot;&gt;Kent&lt;/h2&gt;
&lt;p&gt;The first visit day I went on was to the &lt;a href=&quot;https://www.kent.ac.uk/&quot;&gt;University of Kent&lt;/a&gt; in Canterbury. I went primarily to see what it was like with the view of it being my insurance choice. As well as showing off the uni, they also wanted to interview me. I was completely blown away by the uni - the staff, the facilities, the year in industry and the high praise from current and ex students. By the end of the day I &lt;em&gt;knew&lt;/em&gt; this is where I wanted to spend the next few years of my life!&lt;/p&gt;

&lt;p&gt;Once I was home, I selected them as my firm choice and sent the application then and there. I was over the moon when they said they would love to offer me a place, grade dependant of course, and I can’t wait to start there in September!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>What is Heartbleed?</title>
   <link href="www.jamesjo.co.uk/blog/2014/04/11/what-is-heartbleed.html"/>
   <updated>2014-04-11T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/04/11/what-is-heartbleed</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;http://heartbleed.com&quot;&gt;Heartbleed&lt;/a&gt;. It’s all over the news and has the internet in a frenzy, as users rush to change their passwords and update security measures. Heartbleed is a vulnerability in OpenSSL’s implementation of the SSL protocol  - but what &lt;em&gt;actually&lt;/em&gt; is Heartbleed?&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
	&lt;img src=&quot;/assets/images/heartbleed-logo.jpg&quot; /&gt;
&lt;/p&gt;

&lt;h2 id=&quot;step-back&quot;&gt;Step back&lt;/h2&gt;
&lt;p&gt;In order to understand what Heartbleed is, you need to understand what is involved when a user and server interact securely. You, the user, want to access a service provided by a server which encrypts all communication between the two. There are many different ways of implementing this form of security through the industry standards of Transport Layer Security (TLS) and its predecessor Secure Socket Layer (SSL).&lt;/p&gt;

&lt;h2 id=&quot;openssl&quot;&gt;OpenSSL&lt;/h2&gt;
&lt;p&gt;One incredibly popular implementation of these security protocols is the open source OpenSSL. OpenSSL implements both TLS and SSL and is the standard encryption method used by both &lt;a href=&quot;http://www.apache.org/&quot;&gt;Apache&lt;/a&gt; and &lt;a href=&quot;http://wiki.nginx.org/Main&quot;&gt;nginx&lt;/a&gt; web servers, which make up just over 2/3 of web servers used.&lt;/p&gt;

&lt;h2 id=&quot;heartbeat&quot;&gt;Heartbeat&lt;/h2&gt;
&lt;p&gt;To communicate securely using TLS, the server and client must exchange several messages before mutual trust is achieved. This initial messaging takes time and increases server load, so the negotiation process is done as little as possible. There are many reasons why a negation may need to be recommenced including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Packets of data often get lost or corrupted on their way to or from the server&lt;/li&gt;
  &lt;li&gt;The server could be come overwhelmed with request - dropping the TLS connection &lt;/li&gt;
  &lt;li&gt;The client could close out of their browser - ending the TLS session from their end&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To reduce the number of negotiations between server and client, “Heartbeats” where implemented in OpenSSL. These “Heartbeats” send “keep-alive” messages to the server polling whether or not it is there. The client asks the server at regular intervals “Are you still there?” and (if there) the server responds appropriately.&lt;/p&gt;

&lt;h2 id=&quot;heartbeat-extension&quot;&gt;Heartbeat Extension&lt;/h2&gt;
&lt;p&gt;When the client sends a “Heartbeat” message it consist of a payload and a header - which contains info on the size of the payload. For example a “Heartbeat” could be sent with:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;header: 14, payload: &quot;james&#39; payload&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The webserver receives the message and saves both the payload and the header in its memory. The server responds with a “keep-alive” message, but first an OpenSSL library reads last 14 characters the server stored in its memory and then sends the message to the client. These 14 characters should be the contents of the payload and if they are, connection continues. &lt;/p&gt;

&lt;h2 id=&quot;heartbleed&quot;&gt;Heartbleed&lt;/h2&gt;
&lt;p&gt;Now we have the basics down, back to the heart (;p) of the matter. Heartbleed or CVE-2014-0160 is the name of fatal flaw which results in the &lt;strong&gt;OpenSSL library not checking that the “heartbeat” payload size actually corresponds with length of data being sent.&lt;/strong&gt; When a user creates a “heartbeat” message, they can state in the header that the payload is of any size up to 64 kilobytes regardless of the payloads true size. &lt;/p&gt;

&lt;p&gt;This means I could send my “heartbeat” again, but this time with the header of 65535 while keeping the payload the same. When the server responds it would collect the last 65535 bytes of data and send this to the client responsible for that “heartbeat”. This means that I would receive:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&quot;james&#39;-payload&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As well as 65521 bytes of extra data, which could potentially contain sensitive data such as user names, passwords, random rubbish, private keys and even the admin’s recovery question! This attack can be preformed over and over, granting the client more of the server’s memory with more sensitive data being reviled each time. The Heartbleed attack is can be preformed completely anomalously and undetectably.&lt;/p&gt;

&lt;h2 id=&quot;flip-it&quot;&gt;Flip it&lt;/h2&gt;
&lt;p&gt;The Heartbleed attack can be flipped on its head with a malicious server attacking a client. A server would be say the size of its “stay-alive” payload is 65535, resulting in the client’s web server leaking 64 kilobytes of data back to the server. This is less likely to result in the leaking of usable data and can’t be done anomalously. &lt;/p&gt;

&lt;h2 id=&quot;fix-it&quot;&gt;Fix it&lt;/h2&gt;
&lt;p&gt;The Heartbleed attack can be fixed by updating both client and server versions of OpenSSL, revoking TLS keys and regenerating with a new and patched version of OpenSSL and clients should change passwords &lt;strong&gt;once&lt;/strong&gt; the service has updated their OpenSSL version.&lt;/p&gt;

&lt;h2 id=&quot;check-it&quot;&gt;Check it&lt;/h2&gt;
&lt;p&gt;You can check if any sites you use have been effected by using the &lt;a href=&quot;https://lastpass.com/heartbleed/&quot;&gt;LastPass Heartbleed&lt;/a&gt; tool, which will show if a password change is recommend as well as when to do it.&lt;/p&gt;

&lt;p&gt;Let me know what you think of the article in the comments section bellow - suggestments and improvements are very welcome. &lt;/p&gt;

&lt;h3 id=&quot;further-reading&quot;&gt;Further Reading&lt;/h3&gt;
&lt;p&gt;Most of my understanding of Heartbleed came from these sources and I recommend reading the following for even more info:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;dr jimbob’s amazing &lt;a href=&quot;http://security.stackexchange.com/questions/55343/how-to-explain-heartbleed-without-technical-terms&quot;&gt;answer on security.stackexchange&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Wikipedia’s &lt;a href=&quot;http://en.wikipedia.org/wiki/Heartbleed&quot;&gt;article&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Heartbleed’s &lt;a href=&quot;http://heartbleed.com&quot;&gt;official site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   <title>How to blog with Jekyll (on Windows) - Part 2</title>
   <link href="www.jamesjo.co.uk/blog/2014/04/08/how-to-blog-with-jekyll-on-windows-part2.html"/>
   <updated>2014-04-08T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/04/08/how-to-blog-with-jekyll-on-windows-part2</id>
   <content type="html">&lt;p&gt;Right, Part 2. In the first part we covered the installation of Jekyll and it’s dependencies, we changed the system’s path variables and preformed a super quick test to check that everything was working okay.&lt;/p&gt;

&lt;h2 id=&quot;check&quot;&gt;Check&lt;/h2&gt;

&lt;p&gt;In this part, we will create the actual Jekyll blog. Lets just double check that everything is properly installed. Now I’m sure that it’s all installed and working fine, but lets just check.&lt;/p&gt;

&lt;p&gt;Open up a terminal and enter:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;jekyll
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And like last time it should print out some basic info on Jekyll.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-cmd-j.png&quot; alt=&quot;Jekyll&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now that we are sure that it’s all installed and working, lets get on with it!&lt;/p&gt;

&lt;h2 id=&quot;directory&quot;&gt;Directory&lt;/h2&gt;

&lt;p&gt;First, navigate your way to the directory in which &lt;em&gt;you&lt;/em&gt; store your git projects. Mine is aptly named “GitHub” and is located on the C drive. It doesn’t really matter where your blog is located, just as long as you know where it is for later.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-github-folder.png&quot; alt=&quot;GitHub&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Fire up powershell, navigate to your git directory and enter the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;jekyll new test-blog
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-jekyll-new.png&quot; alt=&quot;Jekyll New&quot; /&gt;&lt;/p&gt;

&lt;p&gt;That command generated a new directory called “test-blog” and within that folder all the standard folders and files required for Jekyll. Now enter:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;jekyll serve
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now open up your browser and navigate to:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;localhost:4000
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-test-blog.png&quot; alt=&quot;Test blog&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;done&quot;&gt;Done&lt;/h2&gt;
&lt;p&gt;And that’s it. You now have a very basic Jekyll blog running locally on your machine. In the next part we will cover adding content to your new blog and in the later parts will cover theme customisation as well as site deployment.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Batteries NOT included</title>
   <link href="www.jamesjo.co.uk/blog/2014/03/24/batteries-not-included.html"/>
   <updated>2014-03-24T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/03/24/batteries-not-included</id>
   <content type="html">&lt;p&gt;It’s the classic line on the box of most of the electric toys of my childhood. “Batteries NOT included.” &lt;a href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt; is often said to be the language which comes with batteries included. And it does. &lt;/p&gt;

&lt;h1 id=&quot;the-batteries&quot;&gt;The batteries&lt;/h1&gt;
&lt;p&gt;The standard installation of Python (2.x and 3.x) comes loaded with extras like IDLE and the extensive Standard Library. This library contains everything (well nearly everything) from advanced maths to Internet Protocol processing to communicating with the OS and even importing &lt;a href=&quot;http://xkcd.com/353/&quot;&gt;antigravity&lt;/a&gt; - these four only scratch the surface of what the library contains.&lt;/p&gt;

&lt;h1 id=&quot;but&quot;&gt;But&lt;/h1&gt;
&lt;p&gt;Yeah, there is a but. There is no way to install any extra packages. I know! In a language which claims that the batteries are included. (Yes, I know Linux and Mac can just use the command prompt, so once again this probably isn’t for you guys either.)&lt;/p&gt;

&lt;h1 id=&quot;pip&quot;&gt;pip&lt;/h1&gt;
&lt;p&gt;pip is Python’s package manager and it acquires these packages from the Python Package Index. Once installed pip is super easy to use. To install Flask you simply enter:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pip install Flask
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And that’s all well and good once it’s been installed, but the problem is getting that far on Windows. pip is a pain in the bum to install and even requires an older package manager (easy_install) to install it!&lt;/p&gt;

&lt;h1 id=&quot;pip-win&quot;&gt;pip-Win&lt;/h1&gt;
&lt;p&gt;The wonderful people over at &lt;a href=&quot;http://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows&quot;&gt;StackOverflow&lt;/a&gt; pointed me towards &lt;a href=&quot;https://sites.google.com/site/pydatalog/python/pip-for-windows&quot;&gt;pip-Win&lt;/a&gt;. pip-Win is&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;a tiny Python Package manager that is super easy to install. It automatically installs pip and virtualenv on Windows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;pip-Win is easily installed from &lt;a href=&quot;https://bitbucket.org/pcarbonn/pipwin/downloads/pip-Win_1.6.exe&quot;&gt;this&lt;/a&gt; .exe (links to BitBucket download). Once installed you can chose between each version of Python installed. From there, you just treat it like a command prompt. If you wanted to install Flask then:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-pipWin.png&quot; alt=&quot;pip-Win&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Hit Run, bringing up this command prompt:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-pipWinC.png&quot; alt=&quot;pip-Win Command Propmt&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And that’s it. Flask is now installed. pip-Win makes it incredibly easy to install extra packages, creating a level playing field with those Linux guys!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>How to blog with Jekyll (on Windows) - Part 1</title>
   <link href="www.jamesjo.co.uk/blog/2014/03/20/how-to-blog-with-jekyll-on-windows-part1.html"/>
   <updated>2014-03-20T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/03/20/how-to-blog-with-jekyll-on-windows-part1</id>
   <content type="html">&lt;p&gt;So, here it is. My “How to” on creating your very own Jekyll blog. Now, this is for Windows so if you are on OSX or Linux there are official tutorials from &lt;a href=&quot;http://jekyllrb.com/docs/installation/&quot;&gt;Jekyll&lt;/a&gt; (and come, if you’re on Linux you should know how to do this stuff ;p). &lt;/p&gt;

&lt;h2 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Jekyll is built on Ruby - so naturally, Ruby is required. As I have &lt;a href=&quot;http://james12802.co.uk/blog/2014/03/14/whats-with-the-new-site.html&quot;&gt;stated before&lt;/a&gt;, I know very little Ruby and as I am running Windows, it is not pre-installed. I went through various methods of installing Ruby and acquiring all the necessary Gems, but to no avail.&lt;/p&gt;

&lt;p&gt;Fortunately for me, &lt;a href=&quot;http://www.madhur.co.in/&quot;&gt;Madhur Ahuja&lt;/a&gt; clearly knew the pain I was suffering and created an all-in-one download - &lt;a href=&quot;http://www.madhur.co.in/blog/2013/07/20/buildportablejekyll.html&quot;&gt;PortableJekyll&lt;/a&gt;, which contains everything:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Ruby 2.0&lt;/li&gt;
  &lt;li&gt;Ruby DevKit&lt;/li&gt;
  &lt;li&gt;All the required Ruby Gems&lt;/li&gt;
  &lt;li&gt;Python 2.7.5&lt;/li&gt;
  &lt;li&gt;Git 1.8.3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now the last two I had already, but to have all the Ruby stuff, setup and in one place is just awesome! To download PortableJekyll &lt;a href=&quot;https://www.dropbox.com/sh/40l6mgbl1ce2kej/lF6ykQxt9d&quot;&gt;click here&lt;/a&gt; (it takes you to his dropbox).&lt;/p&gt;

&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;
&lt;p&gt;Once that zipped folder has downloaded, extract the contents using your favourite file archiver *cough* 7-zip *cough*. Now drag the extracted file to the C:\ drive	and place it there. Done. I told you it was awesome!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-C-drive.png&quot; alt=&quot;My C drive&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Once the folder is in place, you need to add a few lines to the PC’s Environment Variables - specifically adding the paths of Jekyll, Ruby, the devkit and Python. Once the paths have been added, you can call and use these programs anywhere on your system. &lt;/p&gt;

&lt;p&gt;Go Start -&amp;gt; Control Panel -&amp;gt; System and Security -&amp;gt; System. You should now see system specs and other info on your machine.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-system.png&quot; alt=&quot;What you should be seeing&quot; /&gt;&lt;/p&gt;

&lt;p&gt;On the left hand pane, click “Advanced System Settings”, which will bring up the following screen.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-adss.png&quot; alt=&quot;Advanced System Settings&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now click on the “Environment Variables”.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-env.png&quot; alt=&quot;Environment Variables&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then scroll down until you can select the system variable “Path”. Select “Path” and click edit - opening the following screen.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/screenshot-path.png&quot; alt=&quot;Path&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now enter the following while leaving the rest of the path unchanged:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;C:\PortableJekyll\ruby\bin;C:\PortableJekyll\devkit\bin;C:\PortableJekyll\git\bin;C:\PortableJekyll\Python\App;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now, if you chose to put the PortableJekyll folder in another drive like D:\, then just change the C to a D! &lt;/p&gt;

&lt;p&gt;Once entered click OK, OK and OK.&lt;/p&gt;

&lt;p&gt;Open up a CMD or Powershell and enter&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;jekyll
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It should then print out the Jekyll help screen, listing all the commands available.&lt;/p&gt;

&lt;h2 id=&quot;done&quot;&gt;Done&lt;/h2&gt;
&lt;p&gt;That’s it, you now have Jekyll and all its dependencies installed and ready to go. I will be following this up with the second part, going over actual creation of a static blog, theme installation and customisation as well as deployment.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>What's with the new site?</title>
   <link href="www.jamesjo.co.uk/blog/2014/03/14/whats-with-the-new-site.html"/>
   <updated>2014-03-14T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/03/14/whats-with-the-new-site</id>
   <content type="html">&lt;p&gt;Hello! As you should have noticed, things have changed around here - hopefully  for the better. Apart from the nice new colour scheme and layout (thanks to &lt;a href=&quot;http://github.com/swanson&quot;&gt;Matt Swanson&lt;/a&gt; for his awesome theme &lt;a href=&quot;http://github.com/swanson/lagom&quot;&gt;“Lagom”&lt;/a&gt;) this blog has changed from simple HTML pages with Bootstrap’s CSS, to the incredibly  powerful and yet simple &lt;a href=&quot;http://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Jekyll is a static blog generator, written in Ruby (I know(and if you don’t, look left ;p)) created by GitHub’s co-founder, Tom Preston-Werner and I think the following quote from Jekyll’s &lt;a href=&quot;http://github.com/jekyll/jekyll/blob/master/README.markdown&quot;&gt;README&lt;/a&gt; sums it up perfectly:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Jekyll does what you tell it to do — no more, no less. It doesn’t try to outsmart users by making bold assumptions, nor does it burden them with needless complexity and configuration. Put simply, Jekyll gets out of your way and allows you to concentrate on what truly matters: your content.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, be under no illusion that I program in Ruby or have any knowledge of said language. In fact, my entire Ruby knowledge can be simple summed up by the following:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;Hello World!&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;And I don’t &lt;em&gt;really&lt;/em&gt; know if that was right!&lt;/p&gt;

&lt;p&gt;Another big change is that this is hosted by the wonderful people at &lt;a href=&quot;http://github.com&quot;&gt;GitHub&lt;/a&gt;, instead of running on off my &lt;a href=&quot;http://raspberrypi.org&quot;&gt;Raspberry Pi&lt;/a&gt; using the lighttpd server. This has many advantages over the humble pi including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;My blog benefits from their Content Delivery Network&lt;/li&gt;
  &lt;li&gt;My blog also benefits from their DOS protection&lt;/li&gt;
  &lt;li&gt;My blog will always be online - when it was hosted on my Pi, I had to turn it off each night and back on again in the morning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main advantage is that it will be much less work (yes I am super lazy). Before, each post had to be written, transfered and formated as a HTML file, linked correctly with tagging, transferred to my Pi and then hosted. This meant I actively avoided posting, as it just wasn’t worth it!&lt;/p&gt;

&lt;p&gt;Now all I have to do is write a post in my favourite document markup language - MarkDown, push it to GitHub and BOOM. &lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;It’s &lt;em&gt;really&lt;/em&gt; that simple. So expect a “How to create a Jekyll blog” post soon, as well as many more and more frequent posts - ranging from my life to tech and back again.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Hello Jekyll!</title>
   <link href="www.jamesjo.co.uk/blog/2014/03/13/hello-jekyll.html"/>
   <updated>2014-03-13T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2014/03/13/hello-jekyll</id>
   <content type="html">&lt;p&gt;Hello Jekyll! This is the first post on my new Jekyll powered, GitHub hosted blog using Matt Swanson’s awesome Lagom theme!&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;Hello Jekyll!&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>The fall</title>
   <link href="www.jamesjo.co.uk/blog/2013/11/29/the-fall.html"/>
   <updated>2013-11-29T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2013/11/29/the-fall</id>
   <content type="html">&lt;p&gt;I was in Year 7, the first year of secondary school and as my Dad liked to say – I was a small fish in a big pond. I was in a form with a few of my friends from primary school and everybody stuck in groups of people they knew. For the first few months we did every lesson as a form – and again sticking in our groups. Science, IT and Maths were my favourite subjects while English, Drama and PE where my most hated. At break times we played ‘it’ and slowly started socialising with other groups through the game.&lt;/p&gt;

&lt;h2 id=&quot;drama&quot;&gt;Drama&lt;/h2&gt;
&lt;p&gt;After the October half-term, the more academic lessons were now based on ability instead of just who was in your form, which meant the classes got shuffled around while lessons like drama and RE remained as form lessons. Drama was on a Thursday, second period so it started at 10 and finished at 10:55 giving us a 15 minute break before the third period. The fourth period was Music, which started at 12:05 and ended at 1:00 for lunch. One Thursday, in drama (you guessed it) I had a fall.&lt;/p&gt;

&lt;p&gt;The lesson started like any other, with me and my mates lining up outside with the rest of the class and wishing we could be anywhere else (even an English lesson) but here. The room we did drama lessons in was the old school dining room and had a laminate floor, so when we went in we all had to take our shoes off but leave socks on. On that day the drama teacher was being observed by the head of drama (job creation or what) and another member of staff.&lt;/p&gt;

&lt;p&gt;The lesson plan was to act out a scene in slow motion and then present it to the class at the end of the lesson. We broke off into groups of friends and boys being boys, decide that we wanted to act out a fight scene in slow motion. The plan was to act out a car crash with occupants of each car fighting each other in slow mo. So, naturally, we started with the fight scene – except we didn’t want to do slow motion, we just wanted play fight. So we did! A few minutes in, we took it up a level and went Jackie Chan on each other – adding kicks to our respective arsenals.&lt;/p&gt;

&lt;p&gt;Kicking, in a play fight, in socks, on a laminate flooring was not a good idea (I see that so clearly now) and a few seconds later I slipped over backwards. Bang. Everything went black. When I open my eyes my mates were standing over me looking down, checking I was okay. I must have been out for only a few seconds and not one of the 3 members of staff saw anything. I told them I was fine but I had a killer head ache.&lt;/p&gt;

&lt;h2 id=&quot;concussed&quot;&gt;Concussed&lt;/h2&gt;
&lt;p&gt;The next thing I remember was sitting in the car with my dad as he drove me home at the end of the school day. He asked me how my day went and I said something like “Good, I think. I can’t really remember”. We got home and I got talking to my mum after about 10 minutes she realised something wasn’t right with me. The more I spoke to her, the more we realised that I could remember very little about my school day. After a while I remembered my fall and not much else. After half an hour of getting in, we were off to the hospital.  &lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Hello World!</title>
   <link href="www.jamesjo.co.uk/blog/2013/09/09/hello-world.html"/>
   <updated>2013-09-09T00:00:00+00:00</updated>
   <id>www.jamesjo.co.uk/blog/2013/09/09/hello-world</id>
   <content type="html">&lt;p&gt;Hello! I’m James, but you already know that. You may know that I’m an IT student with a love of technology and computers. You may also know that I’m at college. What you may not know is that I’m on the second year of that course at the local college - which I attend 3 days a week. I spend half of one of the days off working as an IT tech at a local school. The other day is spent as work experience, creating a database for a local business. Oh, and in any spare time I get I am teaching myself a-level maths.&lt;/p&gt;

&lt;h2 id=&quot;health&quot;&gt;Health&lt;/h2&gt;

&lt;p&gt;What you won’t not know is that I am not one of the most health young men you’ll meet. I have many illness and conditions including; Depression, Chronic Fatigue Syndrome, Insomnia and Acne. I suffered badly with asthma when I was younger, but as I have grown, I seem to suffer less and less with it. I have been depressed and chronically fatigued for about 5 1/2 years and medicated for depression for nearly 5.&lt;/p&gt;

&lt;h2 id=&quot;school&quot;&gt;School&lt;/h2&gt;

&lt;p&gt;At school I was a bright kid, who loved science and IT but hated English. Half way through year 9 I was put forward for a dyslexia test, which revealed the source of my struggle with the English language. I struggled to spell simple words and wrote about 4.6 words a minute. I was, however an avid reader and was (according to the test) reading 4 years above my age. Over the years my spelling has improved but I still struggle, often spelling the same word 5 different times on the same page. Most of the while I forget to add the “m” in James! I always say “You know you’re dyslexic if MS Word’s spell checker &lt;b&gt;and&lt;/b&gt; Google can’t tell what you’re trying to spell!”&lt;/p&gt;

&lt;p&gt;Due to my CFS and depression I missed lots of school and a fair amount of my GCSEs. I worked bloody hard when I was in and did lots of self study and got great grades in the sciences (including a* in biology), IT (of course!) but not so great in English (c in English lit, but surprisingly a b in English Language). I stayed on at school to do my a-levels - biology, chemistry, physics and IT with the end goal of becoming a forensic scientist (I know, I watched way to much CSI). When they said a-levels were a step up from GCSEs, they weren’t joking - it was more like a huge leap.&lt;/p&gt;

&lt;h2 id=&quot;a-levels&quot;&gt;A-levels&lt;/h2&gt;

&lt;p&gt;I struggled through the first year of a-levels, but had to drop physics as I didn’t have enough breakes in my timetable for my CFS. I enjoyed the 3 remaining subjects but prefered biology. IT at a-level was a huge waste of time - opening word and memorising excel macros for a 4 hour observed test. I studied hard (as my CFS would allow) and was fairly confident before taking the exams. I even felt confident come results day. But after getting the results, I felt awful. I had failed chemistry beyond belief, scraped through IT and just passed biology. &lt;/p&gt;

&lt;p&gt;By this time my carer choice had changed to a programmer as over the summer I taught my self to program in python. I was distraught as I needed 3 a-levels to go to uni to do computer science (CS). There was 1 week until school stated again, so I rang up the local uni to see if 2 a-levels were enough, but they said that 3 were required as a minimum. &lt;/p&gt;

&lt;h2 id=&quot;back-to-school&quot;&gt;Back to School&lt;/h2&gt;

&lt;p&gt;I returned to school a day before the term stared and found a course that wasn’t full so that by the end of the year I would have 2 full a-levels and one as-level. I chose psychology - I had many sessions of Cognitive Behavioural Therapy over the years, so I thought it was a good choice. I started school the next day and the first lesson was psychology. I sat in a class room with complete strangers who were all a year younger than me. The teacher presented an introduction to the course, where she told the class that in the exam students would be penalised if they made spelling errors.&lt;/p&gt;

&lt;p&gt;It felt like a day in hell. I came home devastated and was sure I would never be able to go to uni. My Mum said that there is always another way and she encouraged me to look up other ways to do the course. I found another course at the uni which allowed people that didn’t quite achieve what was required to enter a CS course. This course was a year long intro to SC and upon completion, you would have the requirements to enter their CS course.But even this required a-levels. Upset, I went to bed early. When I awoke the next morning my Mum had found an IT course.&lt;/p&gt;

&lt;h2 id=&quot;college&quot;&gt;College&lt;/h2&gt;

&lt;p&gt;She had been searching for several hours and found BTEC level 3 IT Extended Diploma, the equivalent of 3 a-levels, at the local regional collage. I booked a meeting with the course tutor for the next day and skipped school to meet him. I explained to him that I didn’t want to do another pointless IT course. I told him I wanted programming, networking, hardware and most of all for it to be interesting. By the end of the meeting I had signed up for the course which started a week later.&lt;/p&gt;

&lt;p&gt;The first year of the course was great, challenging and most of all fun and interesting. During school I missed out on more than just the education. I missed out on all the socialising and kept only 2 friends, 2 best friends through out my time at school. By the Easter holiday I had made 2 more.&lt;/p&gt;

&lt;h2 id=&quot;year-2&quot;&gt;Year 2&lt;/h2&gt;

&lt;p&gt;I passed the first year with flying colours - Destination star in all 8 units. I started the second year about a week ago.&lt;/p&gt;
</content>
 </entry>
 
 
</feed>