Why did we start at IPv4? What happened to IPv5?

Posted on April 29, 2009 by Andy Callaghan.
Categories: Internet, Uni, Work.

On looking at the various protocols in network communication, the most puzzling version numbering is with IPv4 to IPv6 without version 5, 3, 2 or 1. Most people believe that IPv5, 3, 2 or 1 were not even developed, but this is not true. This article aims to clarify the history of IP and answering potentially difficult about the version numbers.

Why did we start at IPv4?

When the internet was known as ARPANET – a US government research project, the TCP protocol had a lot more functionality than what we are now used to. The research scientists that developed TCP were designing it for not only host-level point-to-point transmission but also for encapsulation and routing across the ARPANET network. After the scientists realised that they were using the one protocol for too much work on the network, they decided to fork the encapsulation and routing to another protocol called the Internet Protocol, IP. But by this time, the researchers had done enough work on this protocol for it to be deemed in its third version, so was informally known as IPv3. After the full TCP/IP stack had been fully developed as we now know it, further work had been completed on IP and so was called IPv4.

What happened to IPv5 then?

Soon after this, IPv4 was standardised by the IETF. Many different scientists and professionals alike noted that IPv4 would not scale well as it was in the future, and so in the 1970s work on the next version of IP was started, the Internet Stream Protocol (ST). The ST protocol was designed to be the connection-oriented complement to IPv4 and used the same link-layer framing as IPv4. ST used the same addressing scheme as IP and was always intended to run concurrently with IPv4. The researchers were attempting to ue a connection-oriented IP so that real-time internet applications such as VoIP, multiplayer gaming etc. will have more latency garuantees and be generally more reliable than IPv4.

The development of IPv6

ST was considered a great advance at the time against IPv4, but at the same time as ST was being developed, so was IP next generation (IPng). IPng was developed in 1994 and was aware of the dwindling address space offered by both IPv4 and IPv5/ST, and so used a 128-bit addresses for destination and source which offers a much broader availability of addresses. The IPng protocol was therefore seen as future proof in the eyes of research scientists and the industry in terms of solving the IPv4 addressing problem, so IPng was adopted as the next defacto standard of IP. IPng was given the version number IPv6, as a direct future replacement for IPv4 in the RFC in 1996.

Post taken in part from CS revision Wiki at Microplop.com.

Computer Science wiki for Revision now up!

Posted on April 28, 2008 by Andy Callaghan.
Categories: Uni, Work.

Yes revision has begun, and I had a novel and possibly unique idea in regards to a wiki – I could use it to formalise my revision work, by slowly adding my work up as a wiki.

Okay. Maybe it’s not too unique then, but it sure as hell is helping me revise.
Anyway, the link is here and at the top left of the layout on this page.
Computer Science at Microplop.com

In the matter of only 2 hours…

Posted on February 12, 2008 by Andy Callaghan.
Categories: Rant, Uni, Work.

I have been looking frantically for ‘internships’ for my next University year. I spend a year in the computing industry working for a real company on a real project, earning real money and hopefully setting me up for my career after I leave Uni.


I originally applied to (a very large non-Microsoft company) – as you do. Being my super-duper numero-uno choice for a placement, I applied for their Software Engineer intern in London on their first day that they started accepting applications – 1st November ‘07. Look at me trying to be organised! 

After a good month of no response from them, I was forced to begin looking elsewhere for placements.

I picked a local company to Reading that specialise in financial institution web design (banks basically) which I’d prefer not to name in case i get sued for libel or something. When they gave a set of guest lectures, they appeared to be a young but relatively experienced web company which was uber-local to the University – perfect!

After applying to their intern scheme, and a few emails between me and a big cog in the company, I’d secured an initial interview. After this first interview I believed I performed reasonably, and when they offered a second ‘more formal’ interview, I thought it could only mean good things.

The second interview then passed, and they told me that they would get back to me with a decision by the end of the month (January). 

29… 30… and the 31st of Jan passed and no response – I feared the worst. 

These fears were confirmed in the worst possible way by me discovering that one of my course
acquaintances showed me his acceptance email from them. Not the best way to find out you don’t have a job…

Shortly after I got feedback from the internship officer at Reading. She said that the company could not fault my interview, but only said I ‘had asked for too much money during the interview’. Bullplop! They asked me what the average internship wage was, in which I responded with £14k minimum (which is coincidentally what the Big M offer…), and the offer that came through as acceptance was for £13k. Rudeness!

Anyway, I digress… After this setback, I was forced yet again to rethink my options, and after a meeting with my internship officer, she secured me an interview with a large pharmaceutical company based in the States, but with offices near Reading.

After the painless interview, I believed that I had performed well (but I thought the same before). My placement officer told me that the decision would be relayed to me later in the evening of the interview (last Wed).

At 9pm I checked my inbox, and not only found a ‘Congrats’ email about the previous pharmaceutical company, but also a response from (a very large non-Microsoft company) !! WOOP WOOP! I saw it and literally leapt into the air in celebration.

The email explained that I wasn’t suitable for the Software Engineer internship, but the Associate Product Manager job was! This intense job allows an intern to direct the shape a handful of their products: released, unreleased, free, or multi-billion dollar a year – It’s all the same!
I am understandably ecstatic at the prospect of this, and I can’t wait until I have a chance to show off what I can achieve for the company.

Updates will follow, I guarantee.

Andy Callaghan: Pythonian

Posted on December 8, 2007 by Andy Callaghan.
Categories: Rant, Uni, Work.

I have recently found myself deviating away from C and C++ towards a newer, cleaner, smarter and much less annoying programming language - Python.


I was knocked back from it’s sheer simplicity in code and the vast selection of built-in libraries for easy programming. For example this one line of python code broadcasts a web-server on port 8000:
python -c “import SimpleHTTPServer;SimpleHTTPServer.test()”
From Gary Robinson’s Rants

Ridiculous! And how about this… completely tokenise a string, one line:
“Hello my name is Andy”.split(’ ‘)
This one may not seem too amazing; php has the explode() function which basically does the same, but this very piece of code took me well over 50 lines of C code to do exactly the same thing. 

Also Python natively supports Regular Expressions, whereas it would have to be a dodgy undocumented class add-on for C++.

This is exactly why I have chosen to do my next piece of Compilers coursework in Python. We are to construct a compiler that has an input of a self-defined language, use Lex (or equivalent) to produce perform lexicographical analysis and tokenization, Yacc (or equivalent) to produce the parser for the language, and my brain (or equivalent, i.e. Google, Wikipedia et al.) to produce efficient assembly language for the input source.

Just starting this coursework in C++, would involve extensive research to discover how one would accomplish the first two stages, let alone the last – and evidently most important one.

However in Python, I have imported the built-in Lex and Yacc tools, written 62 lines of code and the code already tokenizes and parses my custom language. All that’s left is the funny error messages (see below) and assembly code production.

Funny compiler error messages in Python
I’m never turning back. 

There go my printer credits…

Posted on December 2, 2007 by Andy Callaghan.
Categories: Rant, Uni.

My XML coursework is finally done. As I couldn’t get any work done at home, I went into Uni from 5 on Saturday…

… at 2am, I finally left with the coursework done. I walked back home feeling zombified with companion from exceedingly drunk Union-ites. This is a screeny of my report properties:

Document properties of XML report

Yes… that’s 6 hours 2 minutes and 58 seconds of editing! Ouch.

During printing the 23 full colour pages of the report, my printer credits plummeted…

The fall of computer credits...

Coursework Hell, Convex Hull.

Posted on November 23, 2007 by Andy Callaghan.
Categories: Rant, Uni, Work.

I feel overwhelmed that my Convex Hull algorithm coursework is complete.

We got just over 4 weeks to complete this work, but along with another 4 pieces of coursework that were due in before this one — most people didn’t start until the last week, and are therefore unable to get anything complete in time. Luckily, I started this work a week before we were to hand it in, and handing it in 5 days late… oops.
Due to no one handing the work in on time, a lot of jiggery pokery has been happening behind the scenes to make sure that we don’t get marked down for the late hand-in.
I implemented the entire program in C++ using classes, but not to the best effect I could have done. I also had to use Divide and Conquer methods to optimise the algorithm execution and show of that I can code it…
It was also the first project that I’ve ever implemented in Xcode – Mac OS X’s development program. I was quit surprised at the relatively shallow learning curve of using the IDE, but the compiler errors from gcc which I’ve used before in KDevelop, were not as useful as they could have been. It didn’t help that I upgraded to Leopard half way through development — I got a lot of linking errors when I did…
Well, if you’re just reading this to get the code, here it is:
Report:
Divide and Conquer Report – 9 pages – 107.6 kB
Code:
Complete Xcode Project – 522.3 kB
Convex Hull – Class Implementation – 18.4kB
Convex Hull – Main function – 1.61kB

Reading University’s secret shame…

Posted on November 8, 2007 by Andy Callaghan.
Categories: Funny, Play, Scoop!, Uni.

Take a look at this picture:

Reading University - Black Hore House

This picture was taken swiftly by me on an open day.

Could prospective undergraduates and parents then have a completely different view on the University’s on-campus hotel, ‘Black Horse House’ ‘doubling up as a brothel?

Only time will tell…

Buried in coursework

Posted on November 7, 2007 by Andy Callaghan.
Categories: Uni, Work.

I probably shouldn’t be writing this, but never mind!


I’m currently up to my neck in computer science coursework, a total of nine pieces in all.

1st: Essay on trends of computer architecture development (done, tomorrow)

2nd: ‘Disscussion’ to contrast fixed, variable and hybrid length instruction encoding sets. (not started, tomorrow [oops])

3rd: In groups, draw up 4 types of UML diagrams for a made up pesticides company (half done, friday)

4th: Develop and document a graphical implementation of 2D Convex Hull in a language of your choice. (algorithm kinda working, next friday)

5th: Create XML, XSLT and XSD documents for the C++ implementation of MPI + fat report. Goto xml.microplop.com to see it!!! (half done, three weeks left)

6th: Read, discuss and critique a Divide and Conquer algorithm based technical paper. (DONE!)

7th and 8th: Two Career Management Skills coursework peices, about something… I haven’t read it yet…. (two weeks)

9th: Design, develop and document a UK charity website in a team for a real client, using best design principles possible. (Febuary final deadline, but prototype site in 2 weeks)

I think that’s it! Glad to get that off my chest!

Expect to see a fat article on here soon about computer architecture, and the lively and sexy delights of varying instruction set encoding systems!

New host, new version, new job, new uni year.

Posted on September 15, 2007 by Andy Callaghan.
Categories: News, Site news, Uni, Work.

A lot is happening behind the scenes at the moment with my life…

I
have been developing a major project for my sister, involving
e-commerce, secure multimedia downloading and streaming, RSS jiggery
pokery – all under a new CMS called MODx (which is fantastic0.

I have also upgraded my host to a grid based server from Media Temple, as my shared server was starting to feel the load.

I
have been working with the Google Maps API, php and the Sugar CMS to
produce an app involving geo-coding UK postcodes… more later.

…and I’m about to embark on my second year of University after passing with just over 66%! WOOT!

MS Slide7: Go to hell Hull

Posted on June 21, 2007 by Andy Callaghan.
Categories: Microsoft, Uni.

I recently went to a Microsoft event in Reading called SLIDE7. We were informed of the event by a lecturer at the University. It is a Web development day put on by Microsoft, dedicated to students; Or at least I thought it was…

Upon arriving at the event, we passed mild-to-medium security, as each visitor had a unique badge to identify them, and to allow them access to the event. As I am an idiot, I signed up my Hotmail account over 5 years ago, so my badge said (with all appropriate Microsoft branding, of course ;P ) …

Andy Callaghan
Jib Corp.

The day began with a strongly Silverlight themed keynote speech by a senior education guy at MS. We were shown what could only be described as an advert for Silverlight, including skaters, young people, 'Web 3.0', nothing related to Silverlight whatsoever and lots of lovely swirling colours. Pretty!

What I couldn't stand was that at the beginning of the presentation, the speaker personally thanked the University of Hull for various things (I can't remember what now). This is the same University of Hull who have three of the five Software Engineering Imagine Cup invitationals, and stole the title this year away from fellow friends competing in the UK finals. It was so plain to see that some obvious dodging dealings had happened between Ms and Hull over money and Imagine Cup success in exchange for fresh young MS ready clones graduates.

A little birdie told me that the 'reason' why Hull 'win' the IC UK final so much is that their first year Computer Scientist's get taught C# in the first term. Not exactly from basics… At Reading, we got taught C and then C++ which is a lot more solid introduction to good programming skills. C# teaches jack.

Ehem. 

My group of friends then decided to go with the beginner track rather than the advanced track, so we got ASP.NET and more interestingly a mis-titled talk called 'Mobile Web Development' after lunch, which was incidentally extremely nice and was effectively all-you-can-eat, as MS had order about two lunches per person at the event. Woot!

The mobile development talk however was presented by none other than Hull's very own Rob Miles. The lecture was good, but we were all a bit miffed to be taught in effect, by the enemy. Here a picture of the event that the lecturer took on the day of all the attendees in his talk…

 

Microsoft SLIDE7 - Picture by Rob Miles

 

I am the hairy on the 4th row from the front, 3 seats in from the right.

I think this is a good place to point out that in all the talks, something went wrong. Not saying that it's the speakers fault, as I know how hard it is to put on events, but it is sweet to see MS techies squirm as they claim that the application is failing as "it's only an beta version".

At the end of the day we received a surprisingly good lecture about Silverlight. MS plan to make Silverlight compatible with IE, Firefox and Safari on Windows and MacOSX.

At the end of the talk, my friend Ruben asked the speaker "Why are you providing Silverlight support in Linux?", at which point the speaker conveyed that there is simply not enough demand for Linux for it to be worth their while. Fair enough I guess, at least they acknowledged it's existence…

After the Silverlight talk we had a complementary BBQ, and then we all went to the pub and then back home. Good times!