Welcome

True digital professionals are hard to find; those that have experienced all of the tech advances, bubbles, crashes and failures yet have kept their skills up to date, remain focussed on success and can deliver results.  Having worked with tech as a hobby (coding, gaming, graphics) since 1985 and professionally since 1993, my experience is considerable.

Even though I’m 100% employed, I like to keep my skills up to date as a UN Online Volunteer and some projects at no cost for continual professional development.  If you’d like to have a chat about working with me, please contact me.

My Expertise

  • Information Technology with a Masters Degree

    I have a Master of Science (Information Technology) from the University of Liverpool specialising in Web Development, Databases, Networking, E-Commerce, Security and MultiMedia.

  • Energy Efficiency for Domestic Heating

    I qualified with a City & Guilds Level 3 Certificate in Energy Efficiency for Domestic Heating (England and Wales) in 2005 in order to design and participate in the assessment process for these skills.

  • Apple Teacher with Swift Playgrounds

    In January 2017 I completed the Certified Apple Teacher with Swift Playgrounds qualification in all OSX and iOS applications.

  • Electrical Installations

    I achieved an EMTA Award in Domestic Electrical Installations in 2005 and a City & Guilds BS 7671 Level 3 Certificate in the Requirements of Electrical Installations in 2008 in order to design cabled infrastructure for networking and to understand the assessment process for similar qualifications.  

  • Hospitality Educator

    I qualified as a Certified Hospitality Educator in 1996 in the AH&MA professional development programme.

  • Accountant

    I have a BA (Hons) Accountancy & Finance from the UK and trained professionally as a Chartered Accountant.  I’m up to date with all aspects of financial accounting and company law.

  • Drone Pilot

    I’m an experienced, ethical and fully insured drone pilot for gathering media in 4K and high quality photography with GPS and data mapping for marketing purposes and for inspections of impossible or difficult to reach structures, within legal and technical limits.

  • Change / Transformation Manager

    Since starting in tech, every position has involved a large degree of change or transformation to whoever I’m working with, sometimes painfully for those involved.  As a result, complex change is a normal part of life for me.  I’ve learned a great deal about aligning the ultimate objective of the change with proper change management for those involved, especially in getting people involved and working towards the same goal.

  • Product Manager

    I spent 2 years managing an artificial intelligence software product, written in LISP / LISL, for page layout for publications in the publishing industry.  Being responsible for taking it from 1 installation to making new revenue in excess of £100,000, I achieved this target and surpassed it by 1,000%.

  • Webmaster

    I arranged hosting and hand-coded my first HTML website in 1995.  Since then I’ve managed all aspects of many creatively designed, high-performance, secure, e-commerce, SEO optimised and complex web sites with media, copyrighted content and handling the entire workflow.  From 2007 this grew into mobile and database applications.

  • Trainer / Coach / Mentor / Faculty

    I’ve spent over a decade as a visiting and full-time trainer / faculty member at several higher education and professional training organisations.

    I’m fully capable to expert level in under graduate, post graduate, professional and executive education in my specialist areas and am comfortable in face-to-face, blended and online environments with international professionals and students (experience with ~100 nationalities).

    My approach uses enhanced teaching with technology, flipped classrooms and mentoring style for deeper and personalised learning.  Student feedback and ratings are excellent.

  • Director

    I worked in my own companies both running them and working with clients as necessary for many years.  I handled all of the strategy, legal, people management, financial planning and reporting and regularly was hands-on with training and technology matters.

  • Startup Founder

    I have started several businesses.  The earliest one was at the age of 15 as a DJ and since then I’ve started businesses in:

    • training for electrical, gas and oil engineers
    • web hosting, web and mobile applications development and training
    • seo and digital marketing
    • property investments
    • financial projection services
    • startup coaching and investments
  • Head of Information Technology

    I moved into professional information technology as a support engineer dealing with hardware troubleshooting, LAN ethernet based networking, virus / spyware removal and data recovery.  I progressed to management during this time and also started doing some application training in spreadsheets.

  • Accountant & Auditor

    After graduating from University, I trained as a Chartered Accountant in the UK.  This was a useful time and enables me today to fully prepare, audit and interpret financial statements.   Despite this useful time, I found my technology skills appealed to my employer, our clients and to myself more than being an accountant/auditor and despite a useful and happy time with this employer, I decided to focus on technology and moved on.

My Blog...

  • So Long Logmein Free – No Free, No Pro

    News today that LogMeIn have announced, without warning, that their LogMeIn Free service is no longer available from today (here is their blog link).  This was their email: Important changes to your LogMeIn Free and Ignition account. As of January 21, 2014, LogMeIn Free is no longer available. To continue using remote access, you will […]

  • Effective Database Design in Complex Systems

    Effective database design in complex systems is the skilled balancing and compromises taken of three aspects; design standards, processing speed and information requirements (Coronel, Morris & Rob (2009)). Database design standards are subject to the technology used, which dictates required technical standards, and best practices, which is gained by the designer through training, experience and […]

  • Streaming Stored Audio

    Stored audio can be streamed via User Datagram Protocol (UDP) or Transmission Control Protocol (TCP) however the suitability of each protocol greatly depends on the intended application and the network environment. As TCP offers a delivery guarantee however, as with UDP, TCP does not take advantage of throughput or timing services that a transport protocol […]

  • Multimedia v Graphical User Interfaces

    Historically multimedia interfaces were quite different to graphical user interfaces (GUI) and certainly required set of skills with some commonality and some differences. When the personal computer became widespread and GUI’s were first developed (e.g. Macintosh and Windows) these were new and different ways of interacting with the system, software and devices with many different […]

  • Browser Cookies

    Cookies are innocuous text files stored on the user’s computer, accessed via the browser, and referenced by a unique identifier provided by a web site. Over and above the unique identifier the cookie can contain any information that the user has entered in their interaction with the site. Assuming that the user’s browser is set […]

  • Red Queens: DVDs versus Video-On-Demand

    A Red Queen is an evolutionary concept that exists when “a set of interacting species reaches an evolutionary equilibrium at which all their rates of coevolution exactly balance each other.” (Rosenzweig, Brown, & Vicent, 1987).  In technological terms, this means that competing technologies often result in two product leaders that have to run to keep […]

  • UK Data Privacy Law

    UK data privacy law is governed by the Data Protection Act (1998) and its application is overseen by the Information Commissioner’s Office (ICO) who, like other European Union member states, is based on Directive 95/46 of the European Union (Directive 95/46/EC) which is related to the protection of individuals from the misuse of data. There […]

  • Colour Correction in Monitors & Print

    “Image fidelity refers to the ability of a process to render an image accurately, without any visible distortion or information loss.” Silverstein & Farrel (2004) The process of copying a piece of artwork to a computer screen, in its weakest form, would be either translating the image (from email, storage, internet, etc.) from a graphics […]

  • Flashback: A Useful Screen Recording Multimedia Application for Windows

    A multimedia application, as its name suggests, can take many forms and the tools used for deployment often require the use of many tools. Even industry leading applications such as Adobe’s Creative Suite, which attempt to provide all of the tools that the multimedia publisher may need, cannot possibly cover all aspects of what a […]

  • Intelligent Agents

    “The mind is to the brain as software is to hardware” (Rapaport, 1996) In the early days of artificial intelligence, despite hardware needing basic software to operate as the quote above illustrates, intelligent agent implementation attempts were often hardware based where some form of physical sensor and actuator were involved. Over time these became more […]

  • Dynamic Page Capacity Calculations

    Dynamic page capacity calculations are essential to estimate the level of requests than e-commerce system can handle.  As “web traffic is completely unpredictable, which can make it difficult to estimate how much traffic your servers can handle” Posey (2002) it is important that different testing levels are performed to estimate whether your e-commerce system is […]

  • What is a bot?

    A bot is an automated piece of software that is resident on a compromised host which is usually intended to fulfil a purpose that is malicious in intent. The nature of the bot is that the owner of the compromised host is unaware of its existence and it also protects the bot’s controller from identification. […]

  • Private Branch Exchange (PBX)

    A Private Branch Exchange (PBX) is a private network of telecommunications devices that share one or more connections to the public network. Historically a PBX was a collection of physical cables that connected telephones to a switching mechanism that communicated with the public network and this evolved into different types of telecom devices (e.g. fax […]

  • I was just about to leave DropBox

    I’ve been paying for 200GB on DropBox for two years now at $199/year.  I use about 90% of my available space.  I also paid for PackRat, their unlimited undo service, just in case of a disaster.  I really need about 2TB to hold all of my data but that was too expensive (plus my hard […]

  • Message Confidentiality v Integrity

    Message confidentiality is quite different to message integrity as confidentiality implies that the ciphertext has not been read whereas integrity implies that the data has been received as intended (i.e. as it was sent without alteration). As such confidentiality and integrity are mutually exclusive and one can exist without the other. Suppose a message was […]

  • Database Locks

    Locks are used in a database management system (DBMS) to attempt to ensure that no conflicts arise during the processing of data (transactions). Locks are represented by a variable for each piece of data that indicates its current status which informs the DBMS the types of processes (if any) that can be carried out. Taking […]

  • Distributed Databases

    A distributed database is one stored at multiple locations on a network that usually appear to users and applications as a single database. In a distributed database system a user, usually via the application interface, can seamlessly, subject to permissions and locks, access and modify the data in the databases at any network location. In […]

  • Network Address Translation (NAT)

    Network Address Translation (NAT) allows a group of network connected devices behind a NAT capable router to connect to other external network services such as the Internet using a single Internet Protocol (IP) address (i.e. all devices appear to have the same IP address to any external device or service). IF we assume that the […]

  • Data Modelling

    A data model essentially attempts to describe a real life system in simplistic and logical terms with data at its heart. Every system has rules on how data moves and is used but these rules are open to interpretation based on the involvement in the system of the person in question and their own logic […]

  • Database Connectivity with the Internet

    Internet applications have connected to online databases for many years and it is becoming more and more common for sites to connect to databases too to serve their pages through content management systems. As a result database connectivity is an important part of designing any Internet based system. In my experience using MySQL and PHP […]

  • Cross Browser Compatibility

    Geng, S (2010) stated that “it’s important that your website is usable across all major media” however, before it is possible to explore cross browser compatibility issues for a particular web page, it is important to establish the target audience for that web page. Establishing the target audience involves understanding not only their demographic make-up […]

  • Digital Evidence & Forensics

    “Digital evidence is widely regarded by judges, juries and law enforcement as valuable, accurate and impartial” (Kessler (2009)). Locard’s Exchange Principle (1910) states that “every exchange leaves a trace” and is a founding statement of forensic science, digital or otherwise. Forensic evidence to secure criminal a conviction has become commonplace in the last twenty years […]

  • Code Surfing

    Taking JavaScript as our example, at the very basic level, it is possible to require that JavaScript is enabled to view the page and then, assuming this is turned on in the browser, disable the right click option to view the menu and hence the option to view the source code. Unfortunately this protection does […]

  • Problem Solving Techniques

    Although formal problem solving techniques, such as those used in the programming languages SPARK or Ada, have not yet found widespread usage (Glenn Brookshear, J. (2009)) most algorithm developers use informal problem solving techniques, usually concerning the use of test data and considering expected results and adjusting the algorithm as necessary and re-testing. From experience […]

  • Network Monitoring

    Kurose & Ross (2010, p772-774) list network monitoring as covering several aspects of the technical failure, performance and capability including: Failure Detection, Host Monitoring, Traffic Monitoring, Rapid Changes in Routing, Service Level Agreement Monitoring and Intrusion Detection. In recent years with the move away from the dedicated point-to-point large scale networks that were used to […]

  • Hand Coding v Visual Editors in Web Development

    The method used for web page creation and editing is greatly dependent on four major factors; developer experience, web site objective, budget and time. An important additional consideration is how the site will be maintained as it may be handed over to someone who does not have the same skills and experience of the developer. […]

  • Functional Database Dependencies

    A functional dependency exists when one attribute is related to another and one of the attributes determines the other. Functional dependencies can be full, partial or transitive, depending on how the derivation of the attribute in question is formulated. Full dependencies exist where an attribute is determined entirely by another (e.g. a student telephone number […]

  • Microsoft Lumia 535 v iPhone 6 Plus (Seriously)

    It may seem like a strange comparison, but today I was forced to do it.  My iPhone 6 Plus developed a fault and as the only warranty service is at least a couple of hours away from my location, I had to mail it in.  As a result I didn’t receive a temporary replacement and […]

  • If Information Wants to Be Free . . . Then Who’s Going to Pay for It?

    This quote from Kaser (2000) rightly states the position we are in with regard to copyright. Creators of relevant works were largely unprotected by law until 1709 in the UK, when Parliament passed the “Statute of Anne” law protecting copyright of books and other written work, this was adopted in the USA in 1790. This developed […]

  • Database Management System (DBMS) Design

    The starting point of every purchase of a client/server DBMS is to define the objective and design of the whole system as these dictate the considerations required to ensure information system success. This, of course, is always subject to budgetary constraint and acceptable specification and performance compromises often result from the ideal solution. In my […]

  • Web Surfer Identification

    There are many user voluntary and involuntary techniques available to identify web surfers. Every request (click or keystroke) passes not only the information relevant only to that particular request over the web but also some extremely poignant data in the information packet. This allows the resulting server and every server that the information passes through […]

  • Ethical Software Development

    Ethical software development requires the need to consider whether the development may, in the foreseeable future, cause damage or harm, however “software design decisions often depend on more than one ethical issue, possibly conflicting, where the appropriate ethical choice is not always clear cut” (Thomson & Schmoldt, 2001). In the 1970s the difference between developing […]

  • Ebooks – Positives, Issues and Pitfalls

    This blog post explores the progress of technology in education in relation to the learning resources provided for students.  From published paper textbooks that were converted to ebooks, education now looks towards self publication by the subject matter expert.  We have been introducing ebooks into the classroom for some times over traditional paper books.  With […]

  • Asynchronous Transfer Mode (ATM) & Gigabit Ethernet

    In order understand the suitability of high speed network capabilities for videoconferencing applications, we must first establish the general requirements of videoconferencing applications. Draoli et al (1997), admittedly during the early years of videoconferencing when networking was more expensive and less flexible than today (especially when considering “computing power restrictions”), concluded that in a 2-way […]

  • Online Ambush Marketing

    Online ambush marketing has been around since the popular adoption of the Internet in the 1990s and takes many forms of “increasing the chances that you will see the wrong ads at the wrong time without your consent” Laudon & Traver (2010, p480). The term ambush marketing implies that it is seen as a negative […]

  • Dynamic HTML

    According to the World Wide Web Consortium (2003) Dynamic HTML describes “the combination of HTML, style sheets and scripts that allows documents to be animated”. Well implemented dynamic HTML (DHTML) techniques that are cross-browser compatible enhance the user’s experience often guiding them through processes such as forms, navigation and e-commerce by, amongst others, the indication […]

  • TCP Session Hijacking

    Transmission Control Protocol (TCP) hijacking (or TCP session hijacking), which is considered to be a relatively old attack that does not occur a great deal today, takes place when an attacker is able to access information contained in the TCP packet between server and client and thereby take over the connection. Harris & Hunt (1999) […]

  • Cyber Bullies

    Bullying has existed for as long as creatures have had to stake out their place in any social system and before the civilised world started considering equal human rights was treated as a part of life that we just had to deal with. Electronic bullying or cyberbullying is a form of harassment mainly associated with […]

  • Query by Example (QBE) & Structured Query Language (SQL)

    Query by Example (QBE) and Structured Query Language (SQL) are industry standard languages for querying data to obtain information from relational database systems. Query by Example (QBE) was developed in tandem with SQL in the 1970s by IBM (Zloohf) where the technique of using search terms was used to filter data based on data content […]

  • Machine Independence

    Machine independence implies that any program can be used on any machine (regardless of the version, machine language or assembly language). In reality it is used more to mean that a program can be used on two or more machine types but not all machines types. Take, for instance, the Pascal programming language. This is […]

  • Copyrights, Patents & Trademarks

    Copyrights, Patents and Trademarks are primary ways of protecting intellectual property rights however they each serve a different purpose and are enforceable in law in different ways in different countries, especially with regards to software. Copyright was not law, in the UK, until 1709 in the UK, when Parliament passed the “Statute of Anne” which […]

  • Browser DOM Event Handling

    It is in the commercial/success measurement (e.g. gaining market share) interest of browser developers such as Microsoft, Google, Mozilla, Opera and Safari and others for their browsers to be able to understand all code parsed on all web sites and balance this requirement with their own objective; to become the most popular browser. These goals […]

  • Bitmap & Vector Graphical Formats for Web Applications

    There are many widely accepted bitmap and vector based graphical formats for web applications, largely based on the application reading (and displaying) the graphic at the recipient’s end. This is not to say, however, that we are limited to only the widely accepted formats as “you just need a MIME type so that the format […]

  • Personalisation in eCommerce

    Ask an average Internet user to describe what eCommerce means and the response will largely be something along the lines of buying goods online.  This broad definition, however, only begins to describe the systems involved in E-Commerce.  A citation by Goy et al (2007) of the Ameris Glossary of IT Terms (2005) (which is no […]

  • Local v Distributed Databases

    In a local database the data resides in a single location (e.g. a single machine) whereas many locations can be used for a distributed database yet these are presented as a single database to the user/application by the use of a database management system (which also handles any internal complexity). The key advantage of a […]

  • Multiple Simultaneous Connections

    In order to open multiple simultaneous connections to a web site, the browser must be capable of and configured for HTTP 1.1 connections. HTTP 1.1 brings the ability for a browser (or agent) to connect to a web server many times with the objective of increasing performance as prior to this standard HTTP 1.0 (and […]

  • Evaluating A Suitable Database Management System (DBMS)

    In order to effectively evaluate suitable database management system (DBMS) products at the highest level for data warehousing, the following factors must be taken into account: Budget – the over-riding decision, are their sufficient financial resources in place not only to licence the DMBS but also to purchase all of the required hardware, networking and […]

  • Data Warehouse v Data Mart

    The data warehouse versus data mart debate is driven by benefit to the organisation and is often evaluated on the basis of scale. A data mart represents a subset of data whereas a data warehouse represents the organisational or enterprise view as a whole. Essentially the data warehouse represents every information aspect regarding the content […]

  • DropBox Incorporates All Hard Drive Locations Easily With MacDropAny

    Do you, like me, want to have things stored in your huge new DropBox space (or other cloud service) that are not in your DropBox folder?  Meaning you can incorporate other locations on your hard drive or external storage into DropBox, without affecting the space it takes up on your hard drive? Have a look […]

  • Governing for Enterprise Security

    Julia Allen’s 2005 article on the CERT Coordination Center’s web site defines governance for enterprise security as “setting clear expectations for the conduct (behaviors and actions) of the entity being governed, and directing, controlling, and strongly influencing the entity to achieve these expectations.” As my experience focus has largely been on software product integrity in […]

  • Client-Side Versus Server-Side Scripting

    There are various advantages and disadvantages of client-side scripting and server-side scripting. The main advantages of client-side scripting, with scripts such as JavaScript, although JavaScript can be used for server-side scripting (Tmunotein, I (2004)), are performance and usability, whilst the main advantages of server-side scripting are compatibility and complexity. For client-side scripting, once the content […]

  • Triple Data Encryption Standard (3-DES) and Rivest-Shamir-Adleman (RSA)

    Triple Data Encryption Standard (3-DES) and Rivest-Shamir-Adleman (RSA) are encryption algorithms used to transform clear-text communications into “ciphertext” Kurose & Ross (2010, p691) that can be transmitted between source and destination over a network that presents potential security (e.g. eavesdropping) threats whilst remaining confidential and maintaining data integrity. DES uses symmetric key cryptography with a […]

  • Statistical Multiplexing

    Statistical multiplexing, such as used in packet switching, is based on estimations of activity and therefore the likely packets that will take place over a communication medium (Chandra (2003)). As these estimations change over time the communication medium may be used by many packet sources and destinations and the transmission of packets is subject to […]

  • Software Maintenance

    Software maintenance is often overlooked in the design and development process when, due the funds and resources it takes, it should be considered equally as important as design and development. Maintenance is often also taken to mean the alteration of code (or other system parts) to remove bugs inherited from the software design and development […]

  • Routers & Routing Algorithms

    Routers organise and distribute network traffic both with a local area network (LAN) and externally. In order to do this each machine on the network and any access externally must communicate with the router by the use of an IP address. For example, on my home network my router has two IP addresses: an internal […]

  • Quality of Service (QoS)

    “QoS is one of the most important issues in networks in general, and particularly so in the Internet and other IP networks.” CodeIdol Labs (2009). The four pillars of Quality of Service (QoS) are additional components that are added to the existing Internet Protocol (IP) infrastructure to support “perfectly synchronised transfer of packets of different […]

  • Palindrome Algorithm

    Given that a palindrome is a string that is identical when reversed (e.g. “evil rats on no star live”), I have made the following assumptions: The input string will be greater than two characters in length (i.e. 3 or more) to allow only true palindromes The input string can consist of any character, however only […]

  • Video Format Choice

    In order to decide upon the format, encoding, quality, bitrate, keyframes and the method by which the video clip will be viewed in any online media presentation, we must first consider the target audience’s requirements. These requirements are screen resolution, browser requirements, compatibility (e.g. lack of support for Flash on target devices) and bandwidth limitations. […]

  • A Sample Customer Data Protection Policy

    As an ethical company that operates in accordance with data protection and privacy laws and best practises, it is important to us that you feel secure that your personal and sensitive data is in safe hands. Our data collection and retention policies for customer information are fully compliant with national data protection laws and all […]

  • Video Capture Format: Size, Resolution & Frame Rate

    Using Camtasia to capture a thirty second video clip (Camtasia was unable to capture audio) of a television programme playing in actual size mode, which was 746 x 466 pixels in 16bit colour, in iTunes, I published this for various uses that were pre-set by Camtasia and obtained the following results: Use Format Size (Kb) […]

  • Client Buffer

    If the client buffer can contain the whole media and x(t) (Fill rate) is greater than d (Drain rate) then when the request is made for the media, assuming that congestion control on x(t) does not occur, x(t) will be the available connection bandwidth and the media will enter the buffer at this rate until […]

  • JavaScript Validation of Form Fields: Email Address

    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>JavaScript Email Address Validation</title> <SCRIPT LANGUAGE=”JavaScript”> function ValidateEmail(form) { // check for invalid email address format if (/^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$/.test(form.email.value)){ // if no invalid characters then pass validation alert(“The email address you have entered has been validated successfully”) return (true) } […]

  • The ARPAnet Crash of 1980

    The ARPAnet crash of 1980 was a bizarre event as Rosen (1981) stated “network-wide disturbances are extremely unusual in the ARPANET”. The event was caused by a somewhat coincidental failure of an Interface Message Processor (IMP) in two manners which created an unlikely situation and the failure. IMPs were the translation processes on the ARPAnet, […]

  • Web Usability

    An exact widely accepted definition of “web usability” is extremely difficult to provide as it greatly depends on the viewpoint of those undertaking the study. Some researchers examine usability from the perspective of pure design, others from technical elegance and performance when it is evident that a only a properly selected mix of these can […]

  • Google Chromecast, BBC iPlayer and Apple TV

    I received a month ago, in the UK, a Google Chromecast.  I should mention before I begin that I already have an Apple TV.  There are lots of blogs about how Google Chromecast streams media to your TV, if it has an HDMI port, however, and maybe I didn’t research widely enough… The primary reason […]

  • Bye for now Apple Watch

    In summer 2015 I bought an Apple Watch to see what the fuss was about or if there should be more fuss made about it.  I don’t wear a watch normally, I have my phone for telling the time. So, first impressions were that it wasn’t particularly attractive but it was new tech and I […]

  • Helper Applications

    A helper application is “an external program that may be called by a web browser to display content that the browser does not display on its own or by using a plug-in” Chapman (2009, p690). An example of this is when, in some browsers, a non standard web file type is requested for viewing, such […]

  • Clam XAV Mac Anti-Virus No Longer Free, Hello Avast

    I’ve been a personal user of Clam XAV for many years, in fact I think I donated in the distant past.  I didn’t give it a second thought today when it asked me if I wanted to update to the latest version so I was surprised when it then told me that Clam XAV is […]

  • Web Multimedia

    The web (and web multimedia) became commonly used in the early to mid 1990s (in countries with decent communications infrastructures), nearly three decades after the birth of the Internet, largely for viewing text and light graphics due to connection speeds being far removed from what they are today. From my own personal experience, a 14,400 […]

  • Relational Data Model

    “One of the most important applications for computers is storing and managing information” Ulman (1992). Up until 1970, when the relational data model was introduced by E. F. Codd whilst with IBM (although there were a number of publications containing some of the ideas earlier), data models were largely record based (hierarchical and network models) […]

  • Network Link Layer

    The link layer offers services to the network layer that allow delivery of packets from source to destination point to point (hosts, routers, etc.). In effect the link layer ensures (or guarantees) that the network traffic is delivered by controlling the flow of data whilst correcting and communicating errors. The link layer does this by […]

  • What is Information Technology?

    The Information Technology Association of America (ITAA) (n.d.) defines information technology as “the study, design, development, implementation, support or management of computer-based information systems, particularly software applications and computer hardware”. This influential association could be expected to provide one of the most complete definitions of information technology (IT) and while their definition is vague enough […]

  • Solving Computational Problems

    The term solvable is defined, in algorithmic terms, as “a computational problem that can be solved by a Turing machine” (Black, 2004). This means that a solvable problem must follow a certain logical progression with rules or constraints that do not contradict each other (there is a feasible solution) and a solution must me obtainable […]

  • The Domain Name System (DNS)

    The Domain Name System (DNS) is the method by which hostnames are translated into Internet Protocol (IP) addresses in the application layer to enable network requests to find the correct destination for that request. As people, in general, prefer descriptive unique hostnames rather than having to use unique numbers as with an IP address, the […]

  • Safe Harbor Data Protection EU & US

    On the introduction of the European Union’s (EU) data protection laws, e-commerce between the EU and the United States (US) was severely affected as, by EU standards, the US was deemed not to have sufficient data protection laws and therefore data transfer was barred (for many other countries too). This resulted in a system being […]

  • PHP and Security

    PHP was initially designed to script web pages with security as one of its primary considerations, however as it can act either as a common gateway interface (CGI) script on the server-side (e.g. run in CGI mode on some servers) or on the client side to generate content for browsers. PHP has become a popular […]

  • Transport Protocol Services

    Kurose & Ross (2010, p92) list the four classes of services that a transport protocol can provide as “reliable data transfer, throughput, timing and security”. The reliable data transfer service is one that guarantees the delivery of data between source and destination in applications that require such a guarantee. An example of such a data […]

  • Protection of Personal and Sensitive Data

    Personal data generally identifies us (names, date of birth, social security number, address, etc.) and sensitive data could be more generally used to form an opinion about us (religious beliefs, habits, political views, sexual orientation, etc.). Issues of data protection are not limited to those regarding computing technology; the internet, closed systems or the systems […]

  • Microsoft Access Relational Database

    In my personal experience I have never used a Microsoft based relational database except Access when first learning about relational databases. Having been schooled in PERL, I often used flat file for simple databases (therefore an extremely dependent data structure design), MySQL databases for larger web based systems or Oracle for large enterprise based multi-site […]

  • Language Development

    Developments in language are not uncommon, especially with the advent of new technology that enables the entry and production of information faster. The earliest typewriter, first patented in England in 1714 but not used widely until the 18th century, allowed the printing of text on paper and standardised and speeded up the publication process. When […]

  • Mobile Wireless Connections

    It is possible for many types of devices to have wireless connections to the Internet and to physically move in their environment, there is a difference between a mobile device and a mobile connection with the distinction being whether the device uses changing connections to remain connected to the Internet or not. Hence if a […]

  • Network Intruder

    The Domain Name System (DNS) is essential to the correct functioning of the network and the Internet with Kurose & Ross (2010, p135) stating that “if the DNS server crashes, so does the entire Internet!”. This statement relies not only on the assumption that DNS server will not crash but also that the messages being […]

  • Lossy and Lossless Graphical Formats

    Multimedia data is, in this context, any collection of data from images / graphics, video, audio and text and since their widespread use it has been important to use compression/decompression techniques to enable the fastest possible transfer speed over limited (and variable) speed connections whilst maintaining either full quality or acceptable quality to the recipient […]

  • Typed Programming

    A programming language is “typed” if, for one type of data, functions or calculations cannot be performed by another type of data, hence the meaning “type” from data-type rather than type in the written/keyboard sense. For example, “abracadabra” is a string of text and it would not make any logical sense to, say, divide this […]

  • Middleware

    Middleware is software or an entire system of hardware and software that connects components of a system (applications, databases) or entire distributed systems together acting as a facilitator, translator and/or adapter.  The aim of middleware is to allow disparate systems to interoperate with each other as a single system to achieve features that would not […]

  • IPv6

    An area of interest for me is the adoption of IPv6 which “Internet2 is working to realize the potential of IPv6 for the global Internet community.” Internet2 (2010). Without the adoption of IPv6, there will eventually be no possibility to add further network connections to the global Internet, with a direct impact on eCommerce. IPv6 […]

  • Non-Payment in ECommerce

    A supplier has a few remedies available if a customer does not pay for a product however this greatly depends on the nature of the product (whether tangible or intangible) and the means by which it was initially obtained and/or paid for; these are usually set in their procedural policies and often required by them […]

  • JavaScript Validation of Form Fields: Integers

    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> <title>JavaScript Validation of Form Fields: Integers</title> <SCRIPT LANGUAGE=”JavaScript”> function ValidateNumber(number) { // setup list of acceptable characters var Valid = “0123456789”; // setup variable for checking each character var input; // for each character input (up to the length […]

  • Data Mining

    Data mining is the term for the algorithmic techniques, similar to that used in artificial intelligence and other neural networks, used in the automation of data analysis by the use of specialised decision support processes and tools. The aim is to allow the data mining tool to discover relationships and other useful information that can […]

  • The Disruptive Power of Google Glass

    Google Glass was introduced as a beta product in 2013 in to explore the technology’s potential, not as a completed product.  This technology was intended to be the next evolution in mobile computing as a “deeply integrated self-tracking tool” (Johnson, Becker, Estrada, & Freeman, 2014) aimed at the displacement of smartphone and enhancement of smartphone […]

  • SQL History

    The standards associated with the initial versions of SQL added much needed conformity to a specialism that could have become as diverse as programming languages leading to an even greater increased system complexity today; we have to thank IBM in the 1970s for making the first version available in the public domain and for standardisation […]

  • Entity Relationship Modelling & Normalisation

    Entity relationship modelling and normalisation is the second step in conceptual database design, after data analysis and requirements gathering, according to Coronel (2009). Using a “top-down” approach, high-level requirements are developed (business rules, entities, relationships, attributes and keys) and initial entity relationship diagrams drawn followed by normalisation. This is often the starting point to new […]

  • Basic Encoding Rules (BER)

    Basic Encoding Rules (BER), Kurose & Ross (2010, p798-799), ensure that byte streams sent over a network are sent correctly if the object has been defined using ASN.1. The BER encoding of the quoted text would use a 4 at the beginning to indicate that the data is an octet string, followed by a 4 […]

  • Random Nonces

    Random nonces (numbers used once) are used in SSL handshakes to provide protection against the SSL communication being eavesdropped on and replayed. If an attacker was to attempt to record such a handshake and then to replay the signal in the hope of achieving the same response as the original signal then this will not […]

  • Programming Language Levels

    Machine language, also called machine code, is a set of instructions, usually, but not always, represented in binary digits, which presents data to the processing functions of a computer in a way that enables the fastest possible throughput given resources. Low-level symbolic programming, or assembly language, is the next step above machine language where mnemonics […]

  • TCP and UDP Startup

    In the TCP client-server application, the server program must be running before the client, as the client will endeavour to create the connection with the server as soon as it is started. If the server fails to respond to the client when it opens this connection then the connection will fail, causing the client-server application […]

  • Queuing

    The queuing issue is one of “in what order job should be handled” versus “central processing unit (CPU) and memory utilisation” with the objective being to process the queue as efficiently (quickly) as possible (assuming of course that all jobs are processed properly) or to maximise throughput. In a FIFO system, or indeed any singular […]

  • Mainframes

    Many computing professionals over the age of 30 can remember the days of the mainframe at University. Systems that required large specialist air conditioned rooms, support technicians and systems that were, in comparison to the non-technical user base of today, only intended for those with specific requirements who had the skills to use the system. […]

  • Pseudo Code

    Pseudo code is intended to be programming language independent to allow the reader to understand the algorithm without specific programming language knowledge: procedure FlavourConcensus while (no single flavour has been chosen by 10 people) do ( if (this is the first round of questions) then (state that our aim is to reach a consensus) else […]

  • Application Gateway

    An application gateway is used to connect a particular type of application over a network connection to one or more specific hosts that serve the purpose of the application when the router may or may not allow that type of data transfer. Therefore an application gateway working with a router filter could stop a direct […]

What people say about me...

  • "I recommend Paul highly to anyone who is looking for an expert in this field. Paul is a brilliant business problem-solver, and always works through to get the result you need. Nothing gets in the way and he will keep at the issue until it is solved. Paul is a consummate professional and I have been delighted with the work he has done for me - I will always go back to him as my first choice."

    Jonathan Bowman-Perks MBE
    Global Leadership Adviser
    JPA
  • "Paul has made running our web site easy and comprehensible. We are delighted with the service he provides."

    Daphne Taylor
  • "Paul has saved my sanity and business IT systems more than once where other so called experts have failed. He is exceptionally gifted in problem solving, web development, networks, business solutions and above all he is honest.  I can think of few people with his ability, integrity and he delivers what he promises.  I have no hesitation in recommending him to you."

    Dr. Roger Kingston