Monday, July 5, 2021

 Tech Topic Connection - History and future of computers

Abraham A. RiveraCorral

INT 100 Fundamentals of Information Technology & Literacy

David Stibbards

July 5, 2021

My chosen topic, History and future of computers, connects with the fundamentals of this information technology course by providing and looking into the history of how computers first were created, and by studying that history experts can predict where computers are headed. 

The history and future of computing is in itself that concept of information technology, it is meant to teach us the means by where computers came from, the reason they were built and how they have changed society as a whole. Without understanding the past and how computers were first made it would be difficult for one to predict where the technology might take us. Understanding the fundamentals of computing, the ones and zeros, once can better understand how computers work, as those fundamentals have not changed much. The course text states that computers originated from telephone switchers in the early 1900’s. Having electricity running through a switch that is in the on or off position, the one and zero, determines where the electricity runs through, that in turn makes the switch complete and action. This action alongside the advancement of smaller and smaller transistors has allowed computers to become tiny, having computers the size of a person's hand be vastly more powerful than the room sized computers of the early days.

My chosen topic relies on the major hardware components and functions of a modern computer system by using it as an example of the advancements made since the first computers. By comparing modern systems with the first computers made one can graph out the advancement of transistor sizes, power consumption and processing power computers have gained through the decades. According to the IEEE the number of transistors in a system has increased 10 to the 7th power since 1970, this puts the growth into perspective as it can give us a prediction to the future of computing.

My chosen topic uses programming languages and program execution methods as a way to determine if computers are advancing. For example if a program is made to stress test a computer that is several years old and it is also run on a computer that is newer it can show how newer components have advanced in those few years. By the program running smoother, faster or more efficiently it can show the advancement. I can relate to this as every few years I build or buy a computer with a comparable price range of the previous one at the time, yet when I do benchmarks on my new computer it scores higher in processing power, core clocks and power efficiency. Computers can use different types of programming languages, though history those languages have changed, from early computers using Regional Assembly Language and Autocode to newer ones like Swift and Type Script, these languages allow computers to run the zeros and ones to complete the desired actions of that computer. These languages can be used to compare computers from the past and the present allowing experts to make predictions on computing languages in the future bringing us back to the history and future of computers.

Application software through history has been dependent on the programming language and hardware a system has. As computers have evolved, so has the software, early switchboard computers did not use software whereas modern computers use software in its entirety to be able to complete tasks. Application software has to be coded for that specific system and hardware. For example application software that is made for mobile systems might not run on computers unless an emulator is used. Natively the application software will not run unless the operating system is the correct one. 

My topic relates to database and database management as the history and future of computing has helped those creating databases understand how information is stored and handled. From early databases like Integrated Data Storage to more modern ones that users can create with the help of software one can see the change and the possibilities that a company or user can do. This, like the other instances, can help professionals create databases with the fundamentals of the previous ones, knowing the history of databases and how simple they can be made to how complex can help create more efficient ones.

Concepts of network architecture, management, and security influence my chosen topic because without understanding the history of those topics the same mistakes can be made again allowing for the exploitation and malice towards computers and networks to be conducted again. By creating an architecture that is more robust users can experience less downtime and interruptions, the same with the computer and network management. When it comes to security we can use previous examples of viruses and malware that can be detected before they even attack, whether it is by software patches or stronger security measures rather than fix the problem after it happens.



















References

Campbell-Kelly, M. (2004). Computer: a history of the information machine. Retrieved from https://hdl-handle-net.proxy-library.ashford.edu/2027/heb.01132.

Xiu, L. (2019). Time Moore: Exploiting Moore's Law From The Perspective of Time. IEEE Solid-State Circuits Magazine, 11(1), 39–55. https://doi.org/10.1109/mssc.2018.2882285 


Thursday, July 1, 2021

    Network Security


    Phishing attacks, when I think of them, I think of them as a network vulnerability that incorporates both social engineering and email spam. Not quite as precise as social engineering and not as overarching as just trash spam. I believe phishing is one of the more prevalent and dangerous network security vulnerabilities because of those reasons. Unlike social engineering that attackers might use that focuses on specific individuals to obtain information on how to breach computer systems, phishing is spread like spam to individuals that are vulnerable in that environment, but refrains from being spread to the point of saturation that it becomes ineffective in it’s goal. Phishing can be used to target individuals of an organization with the express goal of obtaining compromising information. Like fishing in a pond, phishing is looking for that individual to bite on the line, once that individual is reeled in they can be blackmailed or enticed with a story or a plea for help to get the information needed to gain access to the information they are looking for. If successful, phishing attempts can compromise users and force them to provide passwords or divulge information that can allow the attackers to enter systems in that organization. From there the attackers can do as they please. When it comes to mitigating phishing attacks a two pronged method needs to be taken. First, proper user training on identifying phishing attacks, this can range from contacting security officials immediately upon suspecting a phishing attack and a filtering system that can identify the attacks before they occur. Second, proper firewall and spam protection for the organizations email and systems, preventing Network Security the attack before it happens can deter the attackers from continuing their phishing attempts. 

    Computer viruses are the most recognizable type of computer systems threat. They can be the tool used by exploiting the rest of the threats outlined in our assignment to cause damage to computer systems. As the name states it is a virus that can kill its host or exploit its resources for information or plain malicious intent. Computer systems are vulnerable to viruses because viruses can live and expand though the code or exploits that the system already has. Viruses can be used to hold systems hostage for money or can be used to destroy systems. One method that viruses can be used to destroy systems is by affecting hardware that the system manages. For example, a virus can turn off the fans that a system uses for cooling and increase the voltage to system components, this in turn increases the temperature of a system and can cause irreversible hardware damage. One method computer systems already fight viruses with is an anti-virus software that scans the system for known viruses or programs that are trying to access process level tasks when they are not authorized. Another method is to block viruses from entering the systems in the first place. This can be done with software like firewalls or network monitoring tools that detect incoming threats before they reach the system. Network Security


 References

     Hill, R. K. (2020). Protecting computers and people from viruses. Communications of the ACM, 63(10), 8–8. https://doi.org/10.1145/3415748 

    Jensen, M. L., Dinger, M., Wright, R. T., & Thatcher, J. B. (2017). Training to Mitigate Phishing Attacks Using Mindfulness Techniques. Journal of Management Information Systems, 34(2), 597–626. https://doi.org/10.1080/07421222.2017.133449

Computers in the workplace    

Industry: Military / Defense

Computers in the Military / Defense industry play a vital role in all aspects of said industry. From end user devices that are used to complete simple office work to super computers that analyze and process vast amounts of data to provide defensive and offensive advantages over adversaries. 

Being a Client Systems Technician, it is my job to be an expert in staging, troubleshooting and configuring end user devices ranging from phones to computers to specialized computers that are connected to the Air Force Network. Having competent users that are knowledgeable with their end user devices can help when it comes times to troubleshooting said devices. The simple tasks of asking users for their computer names or the IP addresses that the computers have can drastically lower the time that is needed to address the issues with those devices. Having users knowledgeable with the software on the devices can also help, the knowledge of office and adobe products is crucial and can help with the efficiency of the work being done.

Having witnessed the trend to cloud computing and virtual desktops I can say that the efficiency and readiness of the force will increase. Allowing for the job to be done anytime and anywhere with less time being wasted on client level solutions and more time invested in enterprise level solutions. I have also noticed trends moving towards an enterprise IT as a service being provided by outside contracted companies like Microsoft and AT&T allowing for the posturing of the force to be more focused on defensive and offensive cyber measures. This allows for less of a focus on support and a re-alignment of the force towards operations.

Abraham RiveraCorral

Traveling through the network 


Having used the PING and Traceroute commands before extensively for my work, I was already familiar with how to use it and how it can be used to troubleshoot network issues between systems. For example, using the ping command from a device to ping another device one can find if the devices are talking and available to each other on the network. If they are not connected one can do a traceroute to determine where the break is and if the issue is a connection one on the physical layer, a virtual one or a routing issue. It can also be used as a simple tool to see if a user's system is online and talking to the rest of the network. Packets travel through the network by hopping from router to router until they reach their destination. 

I decided to ping and traceroute the .jp and .ca amazon websites. Being separated by the pacific I believed would give me a good view of how geographical distance affects packet travel time. 

The last successful hop to the .ca domain was almost 200ms faster than the hop to the .jp domain. Being that the longest hop to the baseline google.com hop was 82ms, the difference in time between the .jp and .ca domain is significant. Being that I am currently in the middle east, this adds even more of a distance between me and the end destination. 

Using ping and traceroute to troubleshoot an issue I would say is one of the simplest troubleshooting steps one can take. One of the reasons a ping or traceroute can fail is a simple physical connection break between the systems. Another reason can be that the system being ping or tracerouted does not allow it to be pinged. This can be achieved by closing the port that allows for pining and traceroute on an internal switch in that domain.

tc az ca.PNGtc g.PNGping google.PNGping.PNG  ping az ca.PNG  tc az jp.PNG  

 The Role of Applications


The functions of word processor, spreadsheet, presentation and database applications are all different and unique to themselves. The word processor’s main purpose is that of its name, to be able to process letters typed by the user and place them on a medium formatted by that user. The spreadsheet application can be described as an application that allows for the input of data onto a spreadsheet and is able to be modified in a way that displays that data however the user wants it. The presentation application can be described as a slideshow that a user creates and on each slide important data is placed to be presented to others. Word processors have the advantage of allowing a user to easily place data/words on a virtual paper easily and with not much previous understanding of the program. Spreadsheet has Block Programing Reflection 2 the advantage of being able to manipulate large amounts of data, numbers, variables, and place them in a format that is simple for the user to understand. It also allows for the manipulation of equations and input/output of data allowing for the tracking of large amounts of data. The presentation application has the advantage of being a good way to present important points that the user can explain themselves instead of being read off a screen. The application that was most appropriate for documenting my work day was the word processor. I believe it is the best application to get the right information to the user without missing key points or information. While spreadsheets and the presentation application give information in their own way they miss a lot of it because of the way they are used. While the word processor application allows for all the day to be explained without data missing, it might not be as detailed but it is not missing. Word processor would work in the format of this essay in addition to the journal entry in part one of this assignment. Spreadsheets can be used to also track inventories as I do at work. The spreadsheet application is incredibly handy for inventories as data can be filtered and arranged based on the fields you are interested in. The presentation application can also be used as a way to not present data but present advertisements in a setting that is appropriate. The application can change between slides with data that is meant to entice the viewer to purchase or view an entertainment product.

Web/Mobile App Critique

 I wanted to keep the application I was to review simple. So I chose the Messages App by Google LLC. This is the default messaging app for Android phones that do not have a manufacturer's skin on the Android OS software. The application is on version 7.9.054 and is developed by Google LLC, this makes it proprietary to just the Android Operating system and not available on iOS. The application is free with no in-app purchases and usually comes pre-installed on phones with vanilla Android OS.The Application is designed to present SMS and MMS texting and chat (RCS) for users “from anywhere with the reliability of texting and the richness of chat”. 

https://play.google.com/store/apps/details?id=com.google.android.apps.messaging&hl=en&gl=USLinks to an external site.

The Application has a simple and straightforward design of displaying SMS/MMS/RCS. I primarily use it for SMS/MMS functions. These are some of the basic points of the application.

  • Messages are displayed in order of date and time received with the newest messages being displayed at the top.
  • Unread messages have the letters BOLDED to identify them as unread.
  • Name or number of sender is displayed with a message preview underneath their name.
  • Once in a specific message thread, older messages are displayed and can be scrolled through by swiping down.

google-messenger-main-screen.jpg.optimal.jpg

The design is very minimalist which allows for a low learning curve. This allows the app to be used by children and older adults. The application home screen provides a simple, uncluttered way to display read and unread messages, this allows the user to prioritize what messages are important to read and which messages he can set aside for a later time. The icon on the left of each message identifies the sender of the message as a person saved on your contacts or not, adding a color to each one of the bubbles. If the sender is not saved as a contact then it will display the phone number of the sender.

The App does what it states to do and more. I would say it’s functionality is better than most Messaging apps. The application contains many additional features that allow it to perform more complex tasks.

  • Search function in the home page of the application that allows for the searching of a contact or a keyword.
  • An additional search function inside a message thread to look for previous mentioned topics inside that thread.
  • Web Messaging that allows the messages to be viewed on a computer with all the same functionality as the phone application.
  • Spam/Block filter
  • Quick call buttons in each chat if the user desires to call the individual they are messaging
  • Allows for group chats.
  • Images that are sent can be sent at a high quality.
  • Able to be used over wifi where a cellular data connection is not available
  • Applications allow for smart reply which gives you a word or phrase that is a suitable reply based on the context of the message.

2.PNG4.PNG 3.PNG  6.PNG5.PNG 

I believe this is the most straightforward messaging app that has the additions of a more complex messaging app without being overbearing. It is both user friendly but with the functionality of more complex messaging applications. 

The first recommendation with the application would be the customization. Allowing more themes for those that like to customize their applications to fit their personality more. Superficial yet effective as people like to make things part of their lifestyle. My second recommendation would be to allow this messaging app to synchronize more with iMessage, a product by Apple on iPhones. How iMessage and Android messaging work with themselves, but cross integrate the platforms for a more universal user experience so that no matter what platform you are the best user experience is had. My las recommendation would have to do more with the features the application provides in the Android Messaging environment. Providing features like those in the iMessage environment where users can do more than just SMS/MMS but interact with emojis and play games. 

Abraham RiveraCorral

Programming Languages 


This being the first time I have ever attempted some type of programming, I found Scratch to be very helpful with building a simple program. I found it to be extremely fun and challenging. I ran into some roadblocks while attempting to understand how all the blocks will tie together and bring my program to life, but overcame this by searching similar programs and researching their code. This gave me an understanding of how my code and blocks should be set up. From that understanding I was able to get my code working and to the point where I can build on it more and evolve it to something greater. One insight that I realized about programming during this exercise is that you can read code like instructions on a manual. Noticing that the language in the blocks uses words like “if”. Block Programing Reflection 2 “Or”, “when”, “then”, this gave me the impression that programming is just steps, with conditions on the actions that are going to happen based on the conditions that were before. Comparing the Scratch assignment with the activities in sections 2.8 through 2.11 on the textbook, I found to be complete opposites of each other. Where Scratch was more of a visual method of programming, placing blocks together to create an action, I see how it can be used as a great starting point to learn programming. Whereas the activities in the textbook involved more writing and being precise with the lines of code one writes, leaving no room for mistake, it seemed like a more precise method of programming. Using Scratch to create a simple interactive program and using the activities in the textbook to create math problems that determine the output of dates are completely different. The blocks in Scratch seem like pre-determined lines of code that one just has to drag and drop and input variables in and python you have to build the code from nothing. Scratch definitely was the easier of the two, But I would like more knowledge and practice in python and in the programming methods used in the textbook activities. I think Scratch would be better used to create simple programs, and as a base for beginners that want to learn programming. Python and the activities in the textbook I feel would be most effective when the programming is aimed at a complex and dedicated project. This is also why I believe Python and the programming languages in the textbook are more popular. When almost everything that we interact on a daily basis is a computer, those items need to be programmed differently based on their architecture. Scratch being a web based programming method would not suit this well. While the other programs can be translated well between systems and can be changed in a very specific way to make those systems function. 

 https://scratch.mit.edu/projects/541111378

A Newbie's Guide to Algorithmic Design and Data Structure Techniques

  Introduction : Hey fellow class mates! Embarking on the journey of understanding algorithms and data structures can seem daunting. But fea...