Round Bordered Proflie Picture 2018 256

Paul Hodgson

  • chat-200x200

    Live Chat v ChatBot Systems

    Chat isn’t the future of revenue generation and customer engagement, it’s here now and you are missing out if you are not using it.  In coaching the next generation of entrepreneurs,  they recognise that this is the future of customer interaction.  As a result, I’ve been looking at what type of chat works and potential […]

  • ibooksauthor200x200

    iBooks Author, iBooks App & JAMF Pro – Caching Issues Solved

    I’ve been producing some interactive iBooks as a part of my day-to-day work and distributing them to institutionally owned iPads and Macs via a JAMF Pro cloud installation.  In the process we would produce an iBook then duplicate it and update the content for another purpose; the most efficient way when dealing with a great […]

  • css3-200x200

    HTML List Numbering using CSS

    Coding lists to appear in HTML, with nested numbering cannot just be done in HTML with nested HTML tags to more than one level. Suppose you wanted this: 1. TITLE 1.1 Description 2. TITLE 2.1 Description 2.2 Description 2.2.1 Description 3. Title You need some CSS to achieve that 2.2.1 format. And here it is: […]

  • css3-200x200

    Changing the Mobile Menu Icon Colour for Themify Themes using CSS

    View the site and use WordPress – Customize. In Custom CSS enter the following: #menu-icon { color: #ffffff; } #ffffff is the Hex colour code for white, you can use anything you wish, this site is a good reference: Then publish. Note: This affects the whole site and not any single page or post.

  • Hiding Background Slider Navigation for the Themify Ultra Theme using CSS

    Hiding Background Slider Navigation for the Themify Ultra Theme using CSS

    View the site and use WordPress – Customize. In Custom CSS enter the following: .module_row .row-slider-dot, .module_row .row-slider-arrow{ display:none; } Then publish. Note: This affects the whole site and not any single page or post.

  • apple-watch-200x200

    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 […]

  • dvd-200x200

    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 […]

  • google-glasses-200x200

    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 […]

  • forums-200x200

    Forums: Rhymes of History

    In ancient Greece, the Agora was “the area in the city where free-born citizens could gather to hear civic announcements, muster for military campaigns or discuss politics” (Mark, 2009).  The effect of those ancient Rhymes of History forums at the time was limited geographically, however, the messages and discussions spread globally and remain relevant in today’s society […]

  • ipad-200x200

    Tablets in the Classroom

    Tablets in the classroom enhance… Presentations become interactive when every student has the use of a tablet in the classroom allowing engagement by different media. Course Resources can be much more varied than textbooks.  Mobile apps, rich multimedia and interactive books can all be used to enhance the student experience. Instant Communication, or feedback, is […]

  • ebooks-200x200

    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 […]

  • clamxav-200x200

    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 […]

  • dropbox-200x200

    DropBox, this may be goodbye

    I’ve been a paying DropBox user for a few years and have regularly sung its praises and recommended it to others, I tried all the major cloud storage systems and always came back to the DropBox apps for performance and usability. Last week I decided that I need to be able to edit documents on […]

  • microoft-lumia-535-200x200

    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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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, […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Wireless Network Modes

    A wireless network can operate in one of two modes: infrastructure or ad-hoc. Infrastructure mode implies that each host that is connected to the network via the wireless device uses network infrastructure for services whereas ad-hoc mode implies that network services are provided by the host itself. For example, in infrastructure mode on a network […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Network Adapters

    A network adapter or network interface card/controller (NIC) may be wired or wireless and allow a network device to communicate with other devices and applications on any accessible internal or external network connection, Kurose & Ross (2010). On wired NICs there are different types of connections; however the standard is generally now an RJ45 type […]

  • 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 […]

  • Multicast

    Multicast is intended to keep the computing overhead on the source computer and network at a minimum by passing the data onto other hosts for duplication and distribution, where necessary, and implies that a data set only needs to be sent once from the host (potentially the system can have multiple data hosts contributing to […]

  • 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 […]

  • 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) […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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. […]

  • 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 […]

  • Circuit and Packet Switched Networks

    A circuit-switched network is one where there is a dedicated connection between source and destination, such as a telephone line designed to handle voice calls, which is dedicated to a particular single application for the duration of the activity. These were designed in the late 1900s, according to Copeland (2000), however in computer networks a […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Virtual Reality Techniques in Browsers

    It is not accurate to state that the uses of virtual reality techniques are non-existent in the user interface of Internet browsers. There are moves in the standardisation of such techniques in areas such as X3D “an XML-based language for representing 3-D objects and scenes” Chapman & Chapman (2009, p710) where browsers, with the advent […]

  • 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. […]

  • Hypertext Links to Facilitate Memory & Understanding in Education

    The subject of hypertext links to facilitate memory and understanding in education is not a new argument and my research of two opposing views, Bra (2000) and Brusilovsky & Pesin (1998) where they discussed “adaptive hypermedia” in the content of hypertext links within publications, were at odds. Bra (2000) quoted Brusilovsky & Pesin (1998)’s results […]

  • 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 […]

  • 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. […]

  • 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 […]

  • X3D

    X3D is “an XML-based language for representing 3-D objects and scenes” according to Chapman & Chapman (2009, p710) and as such is very well suited over the Virtual Reality Modelling Language (VRML) to Internet applications for three reasons, according to Bullard (1999) as quoted by Cover Pages (2006), why VRML did not succeed in its […]

  • 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) […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Operational & Decision Support Databases

    Operational databases are designed to follow processes dictated by their objectives according to business rules. In essence this means that operation databases follow prescribed procedures and produce and store data that fulfill the operational business objective. Operational data changes constantly (and therefore does not exist in a single state for a long time), is low […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Star Schemas

    Star schemas are a common data model used in data marts and warehouse databases where a central table of “facts” is used which are viewed in terms of dimensions (a perspective on a given fact, such as time) and each dimension table contains the attributes of that dimension. For example, if a fact was a […]

  • 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 […]

  • JavaScript Validation of Form Fields: Email Address

    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”> <html xmlns=””> <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({ // if no invalid characters then pass validation alert(“The email address you have entered has been validated successfully”) return (true) } […]

  • JavaScript Validation of Form Fields: Integers

    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”> <html xmlns=””> <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 […]

  • XHTML Document Object Model (DOM)

    We have seen from our discussions last week that standardisation brings about great advantages in terms of cross-browser compatibility however browser developers maintain differences in those standards for competitive and other reasons. The XHTML Document Object Model (XHTML DOM) is no different this respect and the W3C (2005) define it as “a platform- and language-neutral […]

  • 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 […]

  • Is JavaScript Irrelevant?

    In a web environment, JavaScript enables the publisher to perform certain in-page interactions, validations and calculations in the client-side browser that are not as easy to achieve on the server side with the same performance and interactivity that the user experiences. None of these functions are essentials for a web site to function however more […]

  • 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 […]

  • 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 […]

  • Internet Governance

    Governance of the Internet, and therefore eCommerce as they inextricably linked, until the mid 1990s was largely based with bodies in the United States (US) as those systems were developed originally for the use of academia and military in that country. Since then, global widespread adoption of the system for eCommerce has presented many issues […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Is HTML Dead?

    HTML was developed as a standardised approach to information mark-up and new versions have certainly been developed over the years to increase complexity, readability and to take account of the increasing use of graphics and presentation techniques. However if we compare XHTML, which the World Wide Web Consortium has focussed its effort on since 1999, […]

  • The Deep Web

    The Deep Web was estimated at “500 times as much information as traditional search engines ‘know about’” Kay, R. (2005) and that Google’s index of 8.2 billion web pages was “the tip of the iceberg” with the Deep Web accounting for over 840 billion pages from the top sixty Deep Web providers alone and growing […]

  • 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 […]

  • 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 […]

  • E-Commerce: Small v Large Business

    When e-commerce was in its early days, it paid dividends to be the first company to make the move online according to Laudon & Traver (2010, p117), whether large or small. However in today’s complex e-commerce world with many companies vying for position in an effort to be found in searches of any kind, technique […]

  • Google v Bing

    On first viewing, Google’s home page differs greatly from Bing’s; Google still has its clean white background with logo and search box, obviously still influenced by Marissa Meyer (Laudon & Traver (2010)), whereas Bing’s home page is dominated by a high quality photographic image.  It is interesting to note however that Google have added the […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Open Database Connectivity (ODBC)

    Open Database Connectivity (ODBC) is an operating system, programming language and database independent Application Programming Interface (API). ODBC allows database management systems to be accessed by any application using the SQL language without regard to how the data is being handled. This is performed by the use of a database driver, which acts as middleware, […]

  • 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 […]

  • 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. […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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 […]

  • 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) […]

  • 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 […]

  • Video Game Ratings

    In the UK we have a rating system for electronic games and this is overseen by the communications regulator OFCOM however games are awarded classifications by the same body that classifies movies, the British Board of Film Classification (BBFC), however this body only examine games if they have “human sexual activity” or “gross violence”. A […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Software Piracy

    Dorrell’s article on Copyright Levies (2005) summaries copyright tax law and the issues with decriminalising piracy as “free for personal use” and the difficulties in policing this in addition to how commercial use may be decided upon and calculated and distributed. Having said that, from the perspective of a piece of information or a product […]

  • 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 […]

  • Lessons Learned from Therac-25

    The death or serious injury of 6 people by Therac-25 was caused, as concluded by Nancy Leveson’s (University of Washington) commission, by Atom Energy of Canada Limited’s (AECL) “bad software design and development practices” in addition to institutional flaws. The issues with Therac-25 were not a single event, they occurred over a period of time […]

  • Electronic Monitoring of Employees

    In the 1920s Frederick Taylor first considered the use of observation (time and motion) to assess an employee’s ability at work in order to increase efficiency and reduce wastage (cost). Taylor monitored workers’ actions and drew conclusions regarding their quality and speed as to whether the worker in question was positive or negative (when compared […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Computer Industry Regulation

    Professions such as medicine, law, finance and others (especially in more advanced economies) that may have an impact on society as a result of their actions have been documented over the centuries and their codes of practice have been modified and legally adopted by their members in order to provide a framework of responsibility. Such […]

  • Turing Test

    This Turing interrogation was demonstrated, without the mention of Turing, in the movie Bladerunner (1982) where simulated people (“replicants” with advanced artificial intelligence), in addition to real people, could be subjected to what was termed a “VoiceComp” test where a series of linked questions were asked of the test subject in order to provoke subconscious […]

  • 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 […]

  • Hashed v Indexed Database Files

    Using a random (hashed) file allows access a specific master entry according to the value of the entry’s search field (or master key) directly regardless of the location in the data. Hashes usually use a division-remainder algorithm to determine a record’s position (records with same position are grouped in lists). Using an index file is […]

  • 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 […]

  • 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 […]

  • Chess Board Algorithm

    The basic data structure for representing a board configuration during a chess game as homogenous in order that it was possible to identify all 64 squares (8 x 8) uniquely by row and column.  However during a chess game it is possible for any chess piece of any colour to be in any square and, […]

  • 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 […]

  • Machine Language

    Machine language is a group of commands executed by the central processing unit (CPU) and is the lowest-level representation of a computer program. It is easily understood by the CPU and is often represented in binary or hexadecimal digits, making it extremely difficult for humans to read quickly (if at all). Assembly language is similar […]

  • 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 […]

  • 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 […]

  • Structured Programming Paradigm

    The structured programming paradigm (languages such as Pascal) is one where code is laid out as a series of instructions or statements and does not usually redirect to other areas of code (single use, single routine) and give a higher importance on logical flow over data whereas the object orientated programming (OO) paradigm (languages such […]

  • 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 […]

  • Big-O notation and traditional grade school algorithms for addition and multiplication

    Big-theta notation is used in the analysis of an algorithm to give an estimate of run-time complexity and hence a measurement of performance.  An algorithm to add two numbers together each having N digits assuming Hindu-Arabic positional notation of digits can be written in many ways, two amongst them being; by splitting the digits into […]

  • 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 […]

  • Recursitive Procedures

    A recursitive procedure is one in which a number of passes, depending the problem itself, are made in order to reach a solution to a problem where the results of the process immediately preceding the process being considered are used to complete the current process. A famous example of a recursitive procedure is the Fibonacci […]

  • 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 […]

  • 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 […]

  • 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 […]

  • Home Network Design

    On a daily basis I use Windows Vista Business on a part dynamic, part static TCP/IP based network with DHCP controlled by a Netgear Router on a 5Mbit WAN cable connection, which offers the LAN (up to) a gigabit Ethernet connection and IEEE 802.11n (Wireless-N) connections. There are 2 x 2TB (Terabyte) Buffalo TeraStations (Linux […]

  • 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 […]

  • 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 […]

  • 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 […]