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

A while has passed

Posted on March 24, 2008 by Andy Callaghan.
Categories: Work.

Here’s the thing… I’ve been busy of late, very busy. 

Unfortunately, this blog has suffered because of it! Anyway, rant over!
Another thing… I didn’t get past the second interview with Google (yeah, I may as well use names now!). They didn’t attribute this decision to my phone interviews – I had performed well at this stage I was told, but instead it was my work experience that brought me down. 
The second phone interview was much harder than the first. The first was really just to make sure that I was breathing and not a complete idiot. However the second interviewer asked a question every minute, and were all like as such:
 - Why did Google buy Google Earth?
 - What would you do with 5,000 computers and 5 paid engineers?
Personally, I’m not that this is the actual reason. I have plenty of experience in the IT workplace, and definitely more than than most of the peers on my course. SO! I think it was more down to my lack of age, rather than experience.
Despite all of this, Eli Lilly have very nicely kept my pending job for my as a Technical Analyst at Erl Wood. Today I had a familiarisation day which went well, and have given me a lot more confidence in what I’ll actually be doing there!
My exams start next week, but I will hopefully post a bit more frequently that once every two months!

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. 

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

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!

MacBook is on the way

Posted on October 23, 2007 by Andy Callaghan.
Categories: Apple, News, Work.

Yes, I’ve finally gone and done it… I’ve bought an Apple MacBook.

The deal was far too tempting and actually not as expensive as I once thought.
Picture of a open white Mac Book

For just over £700 I’m getting:

  • A White MacBook 2.2Gz Intel Core 2 Duo, 120Gb, 1GB etc..
  • A 8Gb powder blue iPod Nano

The only reason why I got another iPod was because Apple have a special offer for University students — a £79 mail-in /online rebate when you buy a Nano. Then I got a further student discount to the Mac latop – just over £50.

Although, even after all these discounts and rebates I just about blew my entire term student loan forking out for the laptop. No food for me for a little while then.

Buying my MacBook got me thinking about Apple’s future as the main competitor to Microsoft (well, 7% market share is still competing… right…). News came yesterday of Apple’s impressive forth-quarter fiscal profits; Up nearly 100% from the same quarter last year. With increasing choice, more-than-tempting student offers, complete interoperability with Windows and Linux with BootCamp and sheer the style and sophistication that Apple’s products carry, it’s no wonder why they’ve had such a good year.

In contrast, Microsoft however have had a mixed year. They have just agreed to comply with the EU ruling with regards to monopolistic methods (after about 4 years and countless appeals later). Their new Vista OS has not made a dent in the percentage of use world-wide as server administrators refuse to deploy it over worries over security. The new version of the Zune media player (that noone actually owns) has failed to impress.

Are the tides starting to turn perhaps?

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!

Facebook App v1 complete

Posted on June 15, 2007 by Andy Callaghan.
Categories: Work.

After a good coding session, I've completed version 1 of the Microplop.com Feed App.

This is it's main canvas page:

As you can see, the layout is not completely polished, but it does the job quite nicely at the moment.

Here is a use of FBML, the Facebook markup language:

microplop-facebook-feed-2.png

Tacky, I know.

Here is the settings page.

This is  where the true desiging comes in: Left nav canvas.

Left navigation - Microplop.com Facebook Application 

This appears in the profiles of the users who add the application. 

… and so do this – the wide nav canvas.

Wide navigation canvas - Microplop.com Facebook Application 

I will soon release this as a Movable Type plugin, so that blog owners can install it on their webserver, and have a permanent presence on Facebook.