Saturday, November 9, 2019

Tech Topic Connection

Data Management in Information Technology
            Data can be entered into a computer in many ways.  After this data is entered it needs to be ordered and managed to meet the requirements of the user.  As we progress to the future with most data being entered into computers for use with data collection software, it is important to have the data managed in a way to make it easily assessable.  Data management is essential to structure and growth of information technology and computer science.  In this paper I will explain how data management has been used across all aspects of information technology, modern computer systems and how it has evolved over the years as computers have developed
            Computer data storage is a technology consisting of computer components and recording media that is used to retain digital data.  It is a main function and important component of computers.  Data management arose in the 1980s as technology moved to random access storage (also known as random access memory).  “Random access memory (RAM) is a type of electronic storage technology that provides fast data access to support essential computing tasks” (2014).  When a user enters a command via input devices such as the keyboard or mouse, the CPU interprets the command and instructs the hard drive to load the required data into the RAM in order to make it accessible. RAM offers faster read/write speeds than any other type of storage technology used in personal computers (2014). 
            There are many different computer programming languages that produce various kinds of output to a computer with a set of instructions.  Data manipulation language (DML) is a computer programming language used for adding, deleting and modifying data in a database.  A DML is often a sublanguage of a broader data language such as SQL, with the DML comprising some of the operators in the language (Chatham, 2012).   Structured Query Language (SQL) is a widespread data manipulation language which is used to retrieve and manipulate data in a relational database.  A relational database refers to a database that stores data in a structured format, using rows and columns (2019). 
            Many types of database management software have been developed over the years.  Within the realm of database management software, common applications like MS Access, Visual FoxPro or SQL help to handle different kinds of data within their respective databases or data containers. Apart from just taking in data, data management software often contemplates other long-term goals, such as comprehensive security for data, data integrity and interactive queries. Data management software may also look at the life cycle of data to provide security in all phases: during the generation of data, during data storage, and during eventual data disposal. Data managers may need to set time frames for data life cycles in order to control the maintenance burden on a system and to answer key questions about data security and compliance with standards or regulations pertinent to an industry or field (2019).  I recently had the chance to use Microsoft Access to prioritize my daily task.  I prioritized the tasks as high, medium and low for my daily tasks.  I found that Microsoft Access files are large and can be multiple gigs. 
            Data management can be used for in different aspects such as network architecture, management and security.  “Military keeps records of millions of soldiers and it has millions of files that should be keep secured and safe. As DBMS provides a big security assurance to the military information so it is widely used in militaries” (Sharma, 2017).  A company being able to have their data stored in a secure database is essential to the security of important information.  A Integrated database system which was an early network database management system which was used most by industry.  “The network database model allows each record to have multiple parent and multiple child records, which, when visualized, form a web-like structure of networked records. In contrast, a hierarchical model data member can only have a single parent record but can have many child records” (2019). 
            There are many ways for individuals and companies to store and manipulate their data.  Each needs to choose the type of database management system that best suits their task.  Together with the advancement of database software and security practices, data can be kept in good order and secure.  Making the way for a “Big Data” present and future.

Tuesday, November 5, 2019

Network Security

Network Security
            As most of our communications and actions continue to venture online, privacy and security is an important topic to regularly think about.  Keeping the information that one puts in their personal network and outside of their personal network secure as possible is good practice for users of today’s computers.  This can be done by having knowledge of what threats are out there and what others can do to get access to this information.  Organizations and individuals need to be cautious of how vulnerable their information and system can be to outside threats and protect them with their best foot forward.
            We use computers for different activities in our lives.  In the first quarter of 2018, “U.S. adults spent three hours and 48 minutes a day on computers, tablets and smartphones” (Fottrell, 2018).  Having a stable knowledge of how to protect this time from security breaches is important.  A security breach is a case of unauthorized computer access to a person’s private email or social media (Vahid & Lysecky, 2017).  We do things on our computers in our free time and for work that we would like to be only seen by authorized individuals.  When a company’s system is compromised for by a security breach it is possible for the company to lose money in hidden cost such as loss of business, impact on negative on reputation, and employee time spent in recovery.  The financial damage caused by a data breach now cost companies an average of $3.86 billion a year (Weisbaum, 2018). 
            Today there are many different types of attacks that can be executed, and the use of the ping command is one of them.  “The ping command is a Command Prompt command used to test the ability of the source computer to reach a specified destination computer” (Fisher, 2019).  Using the ping command many hackers like to execute the attack known as denial of service.  A distributed denial of service (DDoS) attack is a malicious attempt to make an online service unavailable to users, usually by temporarily interrupting or suspending the services of its hosting server.  Unlike other kinds of cyberattacks, DDoS assaults don’t attempt to breach your security perimeter. Rather, they aim to make your website and servers unavailable to legitimate users. DDoS can also be used as a smokescreen for other malicious activities and to take down security appliances, breaching the target’s security perimeter.
The Ping of death (PoD) attack is attack in which an attacker attempts to crash, destabilize, or freeze the targeted computer or service by sending malformed or oversized packets using a simple ping command.  While PoD attacks exploit legacy weaknesses, which may have been patched in target systems. However, in an unpatched system, the attack is still relevant and dangerous. Recently, a new type of PoD attack has become popular. This attack, commonly known as a Ping flood, the targeted system is hit with ICMP packets sent rapidly via ping without waiting for replies. To avoid Ping of Death attacks, and its variants, many sites block ICMP ping messages altogether at their firewalls. However, this approach is not viable in the long term (n.d.). 
Computer systems are vulnerable to many different security threats.  “On-line systems and telecommunications are especially vulnerable because data and files can be immediately and directly accessed through computer terminals or at points in the telecommunications network” (Laudon & Laudon, 2007).  Computers have security holes and vulnerably but human interaction through social engineering and phishing has become popular.  According to a 2018 study, 17 percent of people fall victim to social engineering attacks and 83 percent of all companies have reported that they experienced phishing attacks (Lopez, 2019). 
Social engineering entails tricking people into giving their confidential information or manipulating them to do something.  There are many types of social engineering attacks with email spam and phishing being a couple examples.  Phishing is typically done when someone is manipulated to login to a site such as their banking account.  This is typically done by a fake email sent to the victim asking them log into the fake online banking account, the attacker then has access to the information needed to access the real account.  People are vulnerable to phishing attacks because phishing emails and websites are well put together to look identical to the real bank.  When the phishing attack is executed, the individual can see money come out of their bank account unexpectedly.  A way for people to not be victims of phishing is by not opening links in emails and be cautious of all communications received. 
Social engineering manipulation has been around for a long time, but it is still a way an attacker uses to get important information.  Employees at a company can receive e-mails from attackers acting like a potential customer or current employees.  The emails may come through an exact email of a supervisor asking for the password to the system as if they forgot the password.  The manipulation can give the attacker access to all the important documents and information in the company’s computer database.  If an employee is asked for important information such as a password, they should go directly to that person to give the password.  Businesses should do continuous education of potential social engineering attacks.  Spending a small amount of money for training of potential attacks can go a long way in the long term.
There are many ways for an attacker to access an individual or company’s private information.  As computer usage continues to increase and new attacks continue to be made, being cautious is a good first step to privacy protection.  Unauthorized access to private information can put stress on individuals mentally and financially on companies.

Computers in the Workplace

                                      Computers in the workplace
Computers have helped advance the production of many industries, specifically manufacturing and production.  “An important component of industrial computers is the programmable logic controller, or PLC, used to automate production and processes. In recent years, improved PAC, programmable automation controller, technology has been developed” (2019).  PCL’s have been used to automate production equipment such as robotic devices, assembly lines.  The PLC also is a fault device that tells the human when a production equipment has faulted and needs attention. 
“The PLC receives information from connected sensors or input devices, processes the data, and triggers outputs based on pre-programmed parameters.  Depending on the inputs and outputs, a PLC can monitor and record run-time data such as machine productivity or operating temperature, automatically start and stop processes, generate alarms if a machine malfunctions, and more. Programmable Logic Controllers are a flexible and robust control solution, adaptable to almost any application” (Unitronics, 2019).  The PLC receives the information from the input of a human from the Human Machine Interface (HMI).  The HMI can be simple displays, with a text-readout and keypad, or large touchscreen panels and they enable users to review and input information to the PLC in real time.
It was from the automotive industry in the USA that the PLC was first used to increase productivity.  Before PLC’s, the change over to new yearly models was a longer process.  The industrial PC as we know it today appeared in the 1980s.  Industrial computers are more rugged than home computers, designed for use in environments that may be hot, cold, dusty, or wet, and their software does not require updating as frequently (2019). 
The advancement of computers in the manufacturing industry has brought about conversation of job loss for humans to robots.  “Approximately 50% of Flex’s manufacturing processes are already fully automated. Automation enables a level of accuracy and productivity beyond human ability—even in environments that would be considered unsafe for humans. The new generation of robotics is not only much easier to program, but easier to use, with capabilities like voice and image recognition to re-create complex human tasks. Another advantage of robots is that they do precisely what you ask them to do – nothing more, nothing less. And while automation eliminates some of the most tedious manufacturing jobs, it is also creating new jobs for a re-trained workforce” ("Five Trends For The Future Of Manufacturing", 2019).
Computers in the manufacturing industry have made factory jobs easier for the humans that work on the factory floor.  I have worked in multiple factory setting in the last 15 years and I love how computers have cut down on the physical work.  I currently work at a solar panel manufacturing factory and the process it takes to make the solar panels would not be possible without computers.  Computers helped greatly with my job as a manufacturing operations technician, in that most of my job is to monitor and troubleshoot robots.  I have seen how the amount of less physical work makes my co-workers and myself do less physical work which leads to less stress on the body as people get older.  




Traveling Through a Network

Ping and traceroute are useful tools for viewing and troubleshooting internet connections.  “A computer communicates via the Internet by sending a packet, containing information like an address for a destination computer, the data size, and the data itself” (Vahid, F., & Lysecky, S. 2017).  I used ping and traceroute to see the results of three different websites, google.com, smh.com.au, and ameblo.jp.  These websites are based in three different countries, United States, Australia and Japan respectfully. 
When I used the ping command I was presented with multiple lines of output.  Ping gave me the domain name and corresponding IP address of the destination I entered.  It also gave me details of the echo replies received from the destination, statistics showing what happened to the packets and the range of round-trip times to receive echo reply.  The results I received from the three different websites in different countries the millisecond for roundtrip for the foreign websites (smh.com.au and ameblo.jp) was faster then google.com. 
When I used the traceroute command I was presented with another display of multiple lines of output.  The information given using traceroute was different then ping and provides more detail.  The extra amount of information given in the traceroute command is the exact routes taken to each server.  The relationship between the roundtrip time and geographical location is not exactly related.  The road trip time is determined on the number of routers between me and the target.  Ping and traceroute commands can be used to troubleshoot internet connection problem.  Traceroute being of good use because it is helpful to tell where the network connection slows, and congestion occurs (2019).  Knowing when and where a time out occurs can be useful in troubleshooting an internet connection.  Receiving a time out or error response can happen for multiple reasons.  If a timeout is received the host maybe down or unreachable at the time.  The ping command can also be disabled by the host system administrator.
Here are screenshots of me using Ping and Traceroute for two different websites in two different geographical locations (google.com and smh.com.au).  First example is using PING.


These second screenshots are using Traceroute






Documenting a Day



Documenting a Day
In week two assignment one, I was asked to use four different application software programs to document the events that take place in one day of my life.  These four application software programs were Microsoft Word Processor, Spreadsheet, PowerPoint and Database.  As I explored these four software programs.  I was able to see and understand the different functions of each program.  These programs are setup to use for different task in a work setting or for personal use.
            The first program I used was Microsoft Word Processor.  This program is built with different functions to help type document in the text form.  When I first opened word processor, I was able to start on a blank page.  There are many different options available to modify the text.  These options vary from, text size, text type.  I can make the text bold or italic and even underline written text.  When using word processor for this assignment, I was able to type out the events of my day.  I was also able to make my text look different for some extra effect.  Being able to check the document for spelling and grammar errors (Simpopdf.com, 2019), I was able to check mistakes in my work quickly and easily.  Word processor is good for typing essays and documenting events in plain text.  I made good use of word processor to get my ideas typed out for the rest of my assignment.  The lack of extra features in word processor, makes its use limited when wanting to present more than text.
            Microsoft Excel was the second program that I used to help document a day in my life.  Microsoft Excel is a spreadsheet application which is a common computer application for representing tables of data like text or numbers (Vahid, F., & Lysecky, S., 2017).  Excel allowed me to document and manipulate the number of hours in my day I spent doing each task.  Excel made it easier for me to show how my day was spent in numbers, percentages and a pie chart.  I was able to make use of the function feature which made it easy to calculate all the hours spent doing each task and showing how they all equaled up to 24 hours.  Excel allowed me to show my day well in numbers, but it does not do well with letting the user be creative.  Excel is useful in a business setting to state facts, using numbers and functions to document different things.
            The third program I used was Microsoft PowerPoint.  This application was useful for me to become creative with the documentation of my day.  PowerPoint allows the user to “create a slideshow of text and graphics, often with animation (Vahid, F., & Lysecky, S., 2017).  When using PowerPoint, I was able to add more animation to the documentation of my day.  I was able to add text with pictures and the application made it easier for me to place pictures and text in different locations on each slide.  PowerPoint would be used more for a person who is presenting a presentation to multiple people and want to catch the attention of the audience.  PowerPoint can be used for good presentations, but it also can be more then needed when only needing to document simple things.  I would be too much when writing an essay or showing statistics. 
            The fourth and final program I used was Microsoft Access.  Microsoft Access is a database management system that can be used to organize data to enable efficient information retrieval (Vahid, F., & Lysecky, S., 2017).  I used Access to present my daily task, while also prioritizing them as high, medium and low of importance of my day.  I used Access for a basic feature it has but Access has many great advanced features.  Access can be used as the front end of a program and the back end of programs like Microsoft SQL Server.  While Access has many features, it made good use for the simple task I was doing like prioritizing my day and saving it as a .zip file.


Web/Mobile App Critique

The mobile app I chose to review was Udemy. It is an app based from Udemy.com.  Udemy.com is the world’s largest online learning platform.  I have been using this app for a couple years now, to self-learn things for my future career in IT and computer software technology.  I was first sent to this app from a person online when I first began to study for my ComTIA A+ certification in March of 2018. 
When you first launch this app, you are presented with its well-designed homepage. 
The homepage presents itself with featured course at the top.  As you view the featured page, you can see an option to choose a category of the type of course you are looking for.  The page gives many recommendations for course in different topics.  When you enter this featured page after using the app more than once, you will see recommendations for more courses depending on what you have previously search for.  I like the background images for each course, they are well put together.  On the bottom of the page there is a navigation bar with five different options such as Featured, Search, My Course, Wishlist and Account.  As you select each navigation option you are taken to that specific page. 
On the search page, you are presented with an option to type in what you are looking for on the top of the page.  You are also presented with a list of top searches on the app.  This top search option, lets the user get an idea of what everyone is looking at and gives insight on what is most popular on the app.  After you have entered what you are searching for, you will be shown different courses that are offered in that specific topic. 
There is a feature at the top right of this page, which lets you sort these courses as you like.  You are given different options to sort by such as price, level of course, features and languages.  This option is great, making it easier for the user to find what they are looking for and can distinguish between the hundreds of different courses available.
After a user searches for a group of specific courses in a certain topic.  They can go to a course page which gives details on the course.  On this page you can see an overview of the course. 
This overview has a well put together description of each course and what it has to offer.  There are descriptions of what the course includes with your purchase, what you learn, requirements and description and previews of each section of the curriculum of the course, reviews from people who have used the course and information about the creators of the course.
When a user goes to my courses tab, they are presented with all the courses that they have purchased and how much of the course they have completed.
The app also has a tab called wishlist, which is like the My Courses tab, which has a list of courses they user has added to a wishlist for future purchases.  The account tab is a section in which the user has options to enhance their experience with the app. 
While reviewing this app, I would come across few flaws.  This app is well put together and makes the app easy to use and navigate and gives the user mostly everything they could need and want with an app of this type.
 While using this app for your primary learning tool, it lacks in performance when you are watching videos.  I would recommend that the developers review how the user can navigate the course while watching videos.
I would also recommend that the app be less promotional on the homepage.  The user is shown many recommendations when they first enter the app which can be overwhelming for many users.
I would also recommend that the search tab have a better background.  It has less animation then the rest of the app.  There might be a reason for this, but this is one thing I noticed while reviewing this app.
This app is one of the best apps I have on my phone.  I use it when I am on the go.  Mostly when I am at work on breaks and away from my laptop.  There are many features that makes this app great.  I can see why it is the worlds largest learning platform.  
I would recommend this app to anyone in the class and beyond that would like to increase their skills in specific subject.  This particularly being college student.  This is great to master skills and these skills can be a great asset to you resume and future job search. 


Programming Languages


Programming Languages
I was given the opportunity to use the website scratch.mit.edu to create a program.  This website gave me a chance to explore the logic of computational thinking with a simple drag-and-drop, block programming language.  I created a short program which has a group of kids interacting at a local basketball court.  While using the website I found some difficulty with the layout.  When I first started developing my program, I did not understand what everything did and how to combine the blocks.  I was able to use the tutorial option to understand the basics of creating the program.  When I began wanting to add characters to my animation, I search the available characters and did not find the characters that I imagined but was able to use the available characters to my advantage as I learned what actions I could do with them.  The browser was a small interface to use, but I was able to find the shrink and expand function to help me see all my actions as I completed them.  
While completing this assignment and using Scratch, I was able to understand how in computer programs, with every input there is an output.  When I added blocks of code such as “when this sprite clicked”, I could add an output action such as “speak hello”.  I was also able to see how many different things a computer program can do, with a collection of statement and inputs and outputs given to the program.  I could see how through programming; computer programs will do only what you tell them to do and being specific is important. 
            As I used Scratch, I could further understand the participation activities 2.8-2.11 and how machine language works.  When connecting my blocks of code in Scratch, I could see how a CPU takes instructions such as input, add, output and stop.  When I added a block of code with an input from the user, it would present an output.  The 0’s and 1’s would not be visible while using scratch because assembly language which is human readable would be converted to machine language runnable by the CPU.  When using Scratch there are options to add premade code-blocks to your code and set them together to make the animation complete actions.  Using a high-level programming language makes this possible because it automatically converts to assembly/machine language before being run (Vahid & Lysecky, 2017).  This was visible while using Scratch because I was able to see that I needed to tell the program to run by pressing the green flag before it ran.  In the participation activity, it was easy for me to see how assembly language would be more useful for hardware manipulation and processor instruction.  The difficulty of a human needing to use machine language with 0’s and 1’s to make a program do what they want it to do can be difficult. Being able to use high-level programming languages such as C++, JavaScript, and Python, programmers can use their program across any type of computer.  High-level programming languages are closer to human languages and further from machine languages (Beal). 
            I found that using high-level programming language such as Python to be easiest.  Being able to type in my own variable names to specify what the variable would mean, makes it easier to understand.  Using multiplication and addition and actual names of variables, makes forming my simpler.  When using assembly language programming, there was more code to write, making for a longer time period it would take to write code.   It would be effective to use assembly programming language with code that must interact directly with hardware such as device drivers, it is also useful for developing new operating system.  High-level programming can be used with many tasks but specifically with building web application and making websites which have many different interactions with users. 
            High-Level programming languages such as Python are most popular because of the readability of the code.  It is popular because programmers can be very creative with their code and being able to put their own spin on the code, makes it more useful. 
            Using Scratch can be a good way for beginners to learn how programming languages work and how code is blocked together to form interaction on screen.  There are many different programming languages that can be used to make a computer do what you would like it to do.  Using high-level programming languages are the present and future of programming for the reason of easier usability and many different options of manipulating computer programs.  My Scratch program is below: