Week 4: Research Methods

This week we have been asked to discuss one of the potential research methods that we can choose.

Divided into teams we have topics to discuss under the following headings:

Secondary Research

  1. What is it ? (Short description of how it works)
  2. What kinds of questions/problems might it be useful for?
  3. How could it be used in IT research (try to think of an example)?
  4. What are the strengths of the approach?
  5. What are the weaknesses of the approach?

What is Secondary Research?

To define Secondary research we first need to understand what is primary research. Primary research involves the generation of data, it is typically original research and involves the collection of data and its analysis by the researcher who conducts the research and collects the information.

Secondary research is the re-analysis of data collected in a primary research study, either using different statistical methods but often to answer a different question to the original primary research.

There are similarities to Meta-Analysis Research Methods, both use primary sources of data but with different outcomes. A meta-analysis usually evaluates and collates the result of numerous primary research into the same question and produces a type of ‘Summary’ of all the primary research, where secondary research is usually answering a different question to the primary research.

In this case the data collection is not the responsibility of the researcher, the researcher is using existing, previously collected and published data. i.e data from primary research.

Secondary research is often the first step in a primary research study. Has the question already been studied in previous primary research? We want to prevent the re-discovery of what is already known.

The growth of the web and databases has now provided virtually unlimited access to primary sources of data.

Key Differences between Primary Research and Secondary Research

Primary Research Secondary Research
Research is conducted first hand to obtain data. Researcher “owns” the data collected. Research is based on data collected from previous researches.
Primary research is based on raw data. Secondary research is based on tried and tested data which is previously analyzed and filtered.
The data collected fits the needs of a researcher, it is customized. Data is collected based on the absolute needs of organizations or businesses. Data may or may not be according to the requirement of a researcher.
Researcher is deeply involved in research to collect data in primary research. As opposed to primary research, secondary research is fast and easy. It aims at gaining a broader understanding of subject matter.
Primary research is an expensive process and consumes a lot of time to collect and analyze data. Secondary research is a quick process as data is already available. Researcher should know where to explore to get most appropriate data.

www.questionpro.com/blog/secondary-research/

What type of questions/problems might it be useful for?

Anything really, any question that can be asked based on the available data already collected. Any questions/problems that exist for which an answer can be extrapolated from previous existing data.

How can it be used in IT research?

An example of use in IT would be researching how the population accesses the internet. The government’s already collected census data could be analyzed to see percentages of population with fibre/copper/satellite connection to the internet.

Search engines and social media are massive collectors of data, this data is bought and used by other IT companies to target marketing and advertising.

Advantages/Strengths of Secondary Research

  • the data is already available for analysis
  • less expense
  • less time consuming
  • the primary data has often been reviewed by peers

Disadvantages/Weakness of Secondary Research

  • the data is by definition old, it may not be up to date
  • the credibility of the data must be carefully evaluated, is it believable and valid.
  • quality of secondary research is dependent  on and may be lower than primary research
  • the data was analyzed for a purpose not necessarily the same purpose as the secondary research, this could affect the quality

Lab 2: Elastic Block Store

AWS storage is in 3 flavours:

  • Instance storage, the boot disc of an instance which disappears when the instance is terminated
  • Elastic Block Store, a volume that can be mounted in the same AZ
  • S3, storage available anywhere

AWS persistent cloud storage, Elastic Block Store (EBS) is network attached storage which can be accessed by EC2 instances.

The data persists, so it is independent of the life of an instance.

Size varies from 1GB – 16 TB.

It is durable storage due to automatic replication in the AZ and snapshots which can revert back to a previous version.

This Lab shows us thes ease of creating and accessing a EBS volume from an EC2 instance.

Task 1: Create a new EBS volume

The Lab created a new EC2 instance for us “Lab” in the us-east-1a AZ. Simply clicking on the volumes, create volume links, choosing a disc type, size and AZ created a new storage volume.

my ebs volume

Task2: Attach to an Instance

Again simple steps to attach the volume to an EC2 instance.

Task 3: Connect to the instance

Using PuTTy and a private key for authentication, I connected to my Lab EC2 instance via secure SSL.

Task 4: The File System

Next step was to use the PuTTy linux console to use some linux commands to create the file system and directory structure.

These are the basic commands used:

  • mkfs = make file system
  • mkdir = make a directory
  • mount = mounts the directory and also allows the instance to mount the volume at start up
  • df = disk file system, summarises the available disk space
  • sh =  executes a command
  • cat = displays a file

Mounted directory

This shows the original 8GB instance storage and the new 1GB EBS volume.

file created and written to

And secondly a new file.txt (with some text written to it) in the EBS volumes data-store directory.

Task 5: Create a snapshot

A snapshot creates a copy of the volume at an instant in time. This allows backup and restoring a volume if the disk dies. The snapshot can also be copied and shared to create multiple volumes.

A simple click and create task, not forgetting the tag to name the snapshot.

I was then able to remove the file.txt from the original volume. Linux commands again:

  • rm = remove

deleted file

Task 6: Restore the snapshot

Again a simple task to create a new volume from the snapshot, create the directory structure and mount the volume from the instance. Now I can see the file that was backed up and recovered using the snapshot functionality.

final volumes

Critical Thinking

This Lab introduced us to the EBS persistent storage in AWS. I could create any number of persistent storage volumes and attach them to compute instances. This way any data stored will persist when an instance is terminated and can be accessed again, as well as being backed up.

One great feature of the Lab is the connection to the instance using PuTTy and secure SSL. Entering command lines using a linux based console is a rewarding experience for one so used to interacting with a GUI.

 

AWS Lab 1: Amazon EC2

The Amazon Elastic Compute Cloud (EC2) is the service which will allow the creation and deployment of server instances as we need them. This lab will be an overview of the process of creating, resizing, managing and monitoring a server instance.

Task 1: Launch an instance

A few straight forward steps to create a basic web server.

  1. Choose the image: We get to choose the OS the instance runs, various linux and windows versions are available, some on the free tier. We could also look in the marketplace and buy propriety software from other vendors.
  2. Choose a type: the virtual “physical components”, the CPU, memory and storage
  3. Configure the details of the instance: this step involved setting a few details, choosing the network which was created by the lab, enabling termination protection (useful as any data will be lost when the instance is terminated) and copying a linux script to install and start the apache web server and create a simple web page.
  4. Add Storage: a network attached virtual disc for our instance
  5. Add a tag: to identify and assist in looking for the specific instance
  6. Configure a security group: a virtual firewall with rules to allow access to our server. In keeping with the minimal permissions paradigm we have deleted the SSH access rule. Not needed, so better security.
  7. Reviewed and Launched

Screenshots of the running instance:

instance details

running:

running instance

Task 2: Monitoring

status checks

This demonstrates  the available monitoring facilities for the created instance. From the AWS status checks which automatically monitor the hardware and software, to the CloudWatch metrics which graphically show how our instance is performing.

There is also a system log which allows some trouble shooting of an instance start up and a screen shot to view the “actual” machines screen.

Task 3: Security Group

Straight forward adding an inbound rule to allow all traffic from the entire world to access our web page on the http protocol and port 80.

Hello web server

Task 4: Resizing

What happens when the workload on the machine changes? Nice and simply we can simply increase the physical characteristics and storage capacity of our machine, by changing to a bigger (or smaller) instance type and adding all the storage we need.

Task 5: Limits

Just a quick peek at the default limits to the number of instances we can create, lower numbers of the bigger, more powerful machines which consume more of AWS resources.

Task 6 : Termination Protection

It works, we can’t accidentally terminate an instance, this would result in loss of any data stored on the instance, so a good idea to turn on protection when launching any machines.

terminate

Critical Thinking

This was a straight forward lab to follow with no issues in the completion of the lab.

The number of choices available when choosing an Image and an instance type is mind boggling and in real time deployment would require a little more planning to determine which to initially choose, the more powerful instances come at a price.

But the AWS does make the scaling process easy, it is very straight forward to manually increase the capacity of the instance.

Termination protection should probably be turned on by default to protect any data stored on the machine from accidental deletion.

26/03/2019

The Project

We were introduced today to the projects for the remainder of the Web course.

We have finalised and submitted our practice project and await the feed back from our tutor.

The next stage of the project is to develop the information architecture for a new website. The berry growers of Nelson wish to showcase and sell their produce directly to anyone visiting the new site.

Based on the practice project and previous web site designs, I have a template for the required information architecture and will be able to build this up over the next week or 2.

We were also introduced to our third project. This involves research into emerging web technologies and implementing them in some fashion.

Difficult to choose a web technology to discuss, especially looking at the implementation which could be a challenge way over my head. So I will need to choose a technology which I can implement based on the time available and my skills.

A possible choice would be a Chatbot, a functionality that is coming to more and more websites as the AI and machine learning technology is growing fast at the moment.

19/03/2019

Magic does exist, or maybe this web app development just all seems magical.

2 hours in class yesterday, spent the time twiddling my thumbs and trying to fill in the time with other stuff. The website I have build in Laravel needs to be uploaded to a server, a 50Mb folder uploading at kb’s per second, it feels like the dark ages of modems and copper wire.

The tutor has provided us access to his server and we can upload our websites and they are then publicly available.

newsimland.com/~Stewart-Metcalfe

The files have all been uploaded, but still need a few tweaks to get the site working.

  1. The public folder from Laravel needs to be moved to the public_html folder in my main folder, no problems here.
  2. The paths from this public_html index.php page to the files are now incorrect and the website throws  errors because it can’t find the next file it needs. A quick fix by changing 2 lines of code to add the /landon_app3/ path to the route.
  3. The “home” page has now loaded correctly but any attempt to navigate to another view throws the next error – a permissions error writing to a log file. This turned out to be a permissions error on the server, we have limited access to our tutors server so we can’t break it, a little fixing the write permissions by our tutor fixed this error.
  4. Loading the database onto the server. Currently the database is located on my local machine, so using the phpMyAdmin GUI in Xampp is was able to export the contents and structure of my database to a .sql file. This was then uploaded to the server and extracted on the server with the following: mysql -u -p < /path/stedb.sql and now I have a database on the server which my app is set up to interact with. But only after a further code modification, the .env (environment) file in the laravel directory needs to be edited to point to my database on the server and my credentials on the server.

Feels great to open a webpage that I created and watch it work in real time with information on a database, that does feel magical.

 

 

Week 3: Research paradigms

Research paradigms introduction

A Research Paradigm is “a set of beliefs, values, and assumptions
that a community of researchers has in common regarding the nature
and conduct of research.” (http://www.jstor.org/stable/3700093 )

We have been asked to choose a scientific paradigm and:

  • describe it
  • explain what it is used for (with an example)
  • write why you like it/don’t like it

During class we were introduced to the following different research paradigms:

  1. Classic Scientific paradigm
  2. Social Science Paradigm
  3. Post-Modernist Approach

and these were discussed in some depth by our tutor. The difficulty now arises in investigating one of these different paradigms suggested.

From my reading of an article by P Taylor et al, Educational Research Paradigms: From Positivism to Pluralism, (https://researchrepository.murdoch.edu.au/id/eprint/36978/) and R Johnson et al, Mixed Methods Research: A Research Paradigm Whose Time Has Come, (http://www.jstor.org/stable/3700093 ) I have identified the following scientific research paradigms:

  • Traditional
    • Positivist Paradigm
    • Post-positivist Paradigm
  • New paradigms
    • Interpretive Paradigm
    • Critical Paradigm
    • Postmodern Paradigm

I will discuss the Positivist Paradigm, which on the surface seems to equate to the Classic Scientific Paradigm. I think the Post-positivist paradigm equates with the Social science paradigm and the Post-modernist approach equates to the combination of the 3 newer paradigms.

The Positivist Research paradigm

Positivist research is considered to be Quantitative research as opposed to the other paradigms which are qualitative methods.

It involves the investigation, confirmation and prediction of laws and patters of behaviour. This method is very useful in the study of the physical and natural sciences.

In this paradigm the researcher is completely separate from the entities/objects studied. The researcher remains neutral/objective and eliminates any personal bias and remains detached from and uninvolved with the objects studied.

A good example of this would be the study of the planets and stars by numerous astronomers such as Gallileo, and there ultimate conclusion that the earth and planets revolve around the sun.

Why I like this

I enjoy this approach, as the researcher remains completely (hopefully) unbiased and neutral regarding the research.

And ideally the research findings will not be pre-empted/anticipated by what the researcher expects to find.

This research method is well-proven and has resulted in the finding of vast amounts of what we know today.

 

18/03/2019

Routing Laravel part 2

So far I have figured how to use a simple navigation bar to send a URL to Laravels router and the router then displays a web view.

This doesn’t quite fit the MVC model needed to build a more advanced web app. The Navigation needs to go via the router the not directly to a view , but instead to a controller. The controller then decides which view and how to display the view depending on the function (with or without parameters) that needs to display.

For my test app, I have so far built a Contents Controller and a Client Controller to direct which view to display.

3 hours later: I have a basic home page using a layout template in laravel with a navigation bar. The Navigation bar goes via a router and controllers to display the necessary view, a good basic start to MVC routing and navigation using Laravel.

I have continued to work with Laravel, and a Tutorial on Lynda.com, and this introduced me to developing a database using mysql and connecting to this database with the laravel app. Work in and outside of class has been focused on this tutorial and learning to work with the laravel framework.

Compared to the WEB development course last year, the framework system seems to seamlessly connect to the database with very little effort and much less coding, the pleasures of working with code libraries. Someone else has developed the underlying php code which runs the laravel framework and a relatively few simpler commands allows the app to send and receive data from the database and use this data to display on the browser.

At this stage, I think I will take a risk and a gamble and continue to use the laravel framework in this course. Our next task will be to develop a web app using either a framework like Laravel or Meteor or else a CMS (Content Management System) like WordPress. Currently about 25% of websites worldwide are built using WordPress but I have no experience using WordPress to build a site, so using a Framework such as Laravel should be workable.

12/03/2019

Class today

A relatively straight forward theoretical part to the class today.

A brief video introducing, rather reminding us, about the SCRUM and AGILE concepts of project management. These concepts were first introduced to us in first year in the DES class where we learned about product development lifecycles as well as models of product development.

We were introduced to some key concepts:

  • Scrum master: the project manager
  • Product backlog: functionality still to be developed
  • Sprints: parts of the project under development
  • Burndown chart: a chart of the progress to finished product

A brief overview of the milestones for the assignments and then time for practice project work.

The Assignment after class work

I’m focusing on Laravel at the moment, I don’t think Meteor will be useful for this project.

Today I have looked at simple routing in Laravel.

The code is relatively simple for a straight forward router to a simple small website,

Route::get('/index', function () {
	return view('index');
});

This code will find the index page and display the index.php view.

I have also used a basic navigation bar and can now route to 3 views/page using the laravel router. This code navigates to the login view.

<li class="nav-item">
<a class="nav-link" href="/login">Login</a>
</li>

The router is found in a file called web.php, the laravel app knows where to go to find this file and the where to find the different views.

I now have Proof of concept of a simple navigation using a laravel router.

Just for a break and a bit of fun, I have used laravel code and the correct ‘public’ folder to upload images to the web page.

Next task is to work on a basic authentication page

 

11/03/2019

Building features for the website

  1. Routing
  2. Booking system
  3. Authentication for the guides

We need to investigate the 2 frameworks, Laravel and Meteor, and determine whether we can build these features with these frameworks.

So far I have been unable to find a booking system that I can adapt to fit the brief for the website with Meteor.

Meteor also uses a different database system. Laravel uses the well known mySQL which I have used extensively before and I an familiar with the various interfaces. MongoDB as used by Meteor is not a familiar database system.

In class today we were introduced to our tutors server, Newsimland.com. We will be able to upload our website here and will also be able to interact with and generate all the database functionality we need. But it is a mySQL database.

We experimented with SSH, Secure Shell, which gives us a secure method of uploading files to the server using GIT Bash. GIT Bash is a command line console through which we can interact with the server.

We also had an introduction to WinSCP. This is a GUI interface and allows us to upload and edit files on the server.

Altogether an interesting class, especially using a command line console to work our magic.

So far Laravel s coming out tops in the current race for the framework choice – a booking system and a mySQL database.

Week 2: The Truth

The Truth

Very interesting discussion in this weeks class about the TRUTH in all its guises. One might expect that a concept like truth would be easy to define, not quite.

In maths and computing, the truth is binary, something is either True or False, yes or no, black or white, but not in the rest of the world, truth becomes a lot more complex and intertwined with abstract concepts like religious beliefs.

Often the truth is defined by the party with the biggest guns, I beat you so my opinions regarding what is the truth are true and yours are false.

Questions about truth and facts

  •  Is there a difference between ‘knowing’ something and ‘having knowledge’ of something?

Knowledge is an accumulation of information, it implies that one knows some facts about a subject, a purely intellectual process.

Knowing implies a deeper understanding of a subject and more of an emotional connection to the subject and more ownership of the subject.

  • What is ‘truth’?

Truth, in metaphysics and the philosophy of language, is the property of sentences, assertions, beliefs, thoughts, or propositions that are said, in ordinary discourse, to agree with the facts or to state what is the case.” (https://www.britannica.com/topic/truth-philosophy-and-logic)

There is a belief that truth is relative, it depends on the specific circumstances and a personal viewpoint of a given situation. One mans truth is not necessarily believed by all.

An example is the rotation of planets and stars which back in history were believed to revolve around the earth, the established truth at that time. We know know that earth revolves around the sun, the established truth today. But some people believe the “Flat Earth theory” to be true, yet again showing truth is relative, not absolute.

  • What do we really mean when we say something is ‘true’?

When we say something is true we actually mean that according to our own standards, beliefs and perception, that we think a fact/belief/idea is true,

  • Is there a difference between knowing something is ‘true’ and believing that something is ‘true’?

Knowing something is true implies that this “something” is an established fact which has been proven to be true. There is a certainty and confidence that that fact is the truth.

Believing something is true is more opinion based, the “something” hasn’t entirely been proven to be true, but people believe that it is true. One chooses to believe a truth and is often faith based.

  • What is the difference between subjective and objective ‘truth’?

(https://www.researchgate.net/post/Is_truth_subjective_or_objective)

Objective truth: To say that a statement is “objectively true” means that it is true for people of all cultures, times, etc., even if they do not know it or recognize it to be true.

It’s not confirmed by science and depends on personal opinions.

Subjective truth: To say that something is “subjectively true” means that it is true for the person(s) making the judgment, even though it may not be true for others.

This truth is scientifically confirmed and universally accepted.

  • What is a ‘fact’ and can ‘facts’ change ?

From Wikipedia:

A fact is a statement that is consistent with reality or can be proven with evidence. The usual test for a statement of fact is verifiability — that is, whether it can be demonstrated to correspond to experience. Standard reference works are often used to check facts. Scientific facts are verified by repeatable careful observation or measurement.

Facts change all the time as new information is found and new experiments find new or different information.

  • How do we discover if something is ‘true’ or not?

We discover things are true by experimentation, the subjective truth, otherwise a consensus of the majority opinion can be considered the truth (objective truth).

  • “We do not see things as they are but as we are” Anais Nin. What does this mean?

Anis Nin was a french born writer, she also published her diaries and has numerous quotes.

We confuse our perceptions with actual reality, how we see the world and our reality depends, firstly,  our senses perceive stuff, eg a blind person, sees things differently than a sighted person. and secondly, how we perceive a situation and remember it depends on our own personal experiences.

  • “Reality is an illusion, albeit a very persistent one”Einstein. What does this mean?

Reality is not always what we see, but how our perceptions effect the way we view reality

Vase-Face1

Numerous optical illusions show how it is possible to see a different reality, is this a vase or 2 faces?

  • Is there a difference between ‘true’ and ‘valid’? Explain!

Valid refers to the reasoning behind an argument or a fact, the reasoning can be valid but the final conclusion is not necessarily true.

eg. the statement: ‘Cats are mammals, tigers are mammals, therefore cats are tigers’ uses valid premises because cats and tigers are both mammals, but the statement is obviously not true.

Homework: Ontology and Epistemology

  • What is Ontology? How is it relevant to research

Ontology is derived from the Greek words “on” – meaning being, and ‘logia” -meaning. So ontology is the study of being. (www.vocabulary.com/dictionary/ontology) As in Hamlet “To be or not to be”. It can also be defined as  the study of the most general features of what there is, and how the things there are relate to each other in the metaphysically most general ways. (plato.stanford.edu/entries/logic-ontology/)

How does this relate to research? Ontology in research deals with the nature of reality, and reflects an individuals perception  and interpretation of what is a true fact.

  • What is Epistemology? How is it relevant to research?

Epistemology is the study of knowledge from the Greek “Episteme” -knowledge: what we know, how we know it, how we know we know it, and how to keep track of it without driving ourselves crazy. (https://www.vocabulary.com/dictionary/epistemology)

This link is a good description of the 2 philosophies: www.quora.com/What-is-the-difference-between-ontology-and-epistemology/answer/Caroline-Austin-10

  • What is the connection between ontology and epistemology in a research context?

Ontology is the “What there is”, the nature of the world and existence

Epistemology is “How we know it”, the nature of knowledge and how it is acquired

They are both philosophical foundations in ou approach to research.

The following 2 tables from

Demystifying Ontology and Epistemology in Research Methods by Hashil Al-Saadi show the key philosophical research positions in Ontology and Epistemology.

CaptureCapture2
(www.researchgate.net/publication/260244813_Demystifying_Ontology_and_Epistemology_in_Research_Methods)