Pages

Thursday, March 11, 2021

Post #9: Algorithmic design and Data Structure

Algorithmic Design and Data Structure


Explain to another newbie how to apply algorithmic design and data structure techniques

When you start to look at a java program, you need to understand what you want it to look like and what it's going to be used for. For example, a large program will need a search that would be able to go across a larger scale in a smaller amount of time - such as a binary search.

Are some designs better than others? Explain.

In a situation where the computer needs to read, say, 100 contacts and their information, you would likely prefer to use a binary search on their specific social security number. If it's larger than 123-456-7890 than you would be able to split it off between whatever number it was found in and the largest number, otherwise it is either that specific number or in the lower from that number down. This would be a lot better than linear search at this point because the computer only has to search through a small amount of information to get to the place it's looking at.

How would you apply it?

So if I was doing a list of people from 1 - 100 people and I was looking for a person saved between 50 and 100, I would use:

if (NumberYourLookingFor == Numers.get(50)) {
        *Insert code to print off exactly 50*
} else if (NumberYourLookingFor > Numers.get(50)) {
        *Insert code to search for and print for any number between 50 and 100*
} else {
        *Insert code to search for and print for any number between 0 and 50*
}

I would then use a linear search for that route and it would split the workload evenly. A linear search is just the code:

if (NumberYourLookingFor == Numers.get(i)) {
        System.out.println(Numers.get(i));
} else {
        ++i;
}

This basically states that if the number I'm looking for is in the 'i' position of the list, then it will print it off. Otherwise it's going to add 1 to the variable 'i' and search again. Each time it doesn't work it'll continue going until it either finds it or brings back an error.

Thursday, February 11, 2021

Post #8: Java Download

Background Information


This week in class, we got to learn how to download Java and type the program out to make it state "Hello, my name is" and then our name. To do this we were instructed to find a Java IDE to download the correct information into our computers so that we could use it for upcoming classes.


Downloading


The file that I decided to use was an Eclipse downloader - which you can find here. I have to say that I had a bit of trouble finding it as I thought that we were supposed to download a specific one; after searching I found one on Google that was straight forward on how to download it. Just like any computer program, once you told it to download - which was simple enough by clicking a button - it walks you through the steps on how to download the file for Java! After that I was able to get started on the program itself.


Java program


Create a new post where you provide guidance on Java installation and discuss the concepts and features of the object-oriented design principles


Java is used by many people world wide to make computer programs. Because of this, there are multiple tutorials online to teach you how to do specific codes and processes within the IDE so that you can work on different codes. With these tutorials, which can be found within the IDE or online, you can go from never coding before in your life to being an expert at coding within weeks to months - depending on the patience you have.

In my code this time I was instructed to make a code that stated "Hello, my name is" and my name. To do this I downloaded the program linked above and then went to the 'Help' tab at the top. It gave a neat little instruction on how to do the ever-so-famous "Hello World!" code that many people who first start coding first get to experience. Following this instruction, it showed me how to make the project, how to get the code in automatically and then what I needed to type.

In the real world you wouldn't get that kind of assistance that these tutorials explain, but for someone who has just started out and may possibly learn better by being shown how to do it - as there are multiple ways you can learn how to do the same thing - this can be the perfect way to learn the basics of the code so that you can do it on your own later!

Below is my picture of the code that I was able to get to work after multiple tries - as one may be able to notice from the fact that it states this is the second version of said project.

Note the 'Help' tab at the top in the menu bar. That is where there are tutorials that anyone can use right after downloading the IDE program!


Monday, April 13, 2020

Post #7 - Final Assignment

            In my Week 3 paper, when I chose the "tech topic" that I was going to use, I chose the topic of "Web and Mobile apps" since I've always been interested in learning about mobile apps and, especially, how to make one.

            I once tried to when I was younger, but I didn't know how to get it started. I thought I had to download a specific app and because I couldn't find any app, at the time, to do it, I gave up right then and there and haven't went back to it since. I no longer wish to make a mobile app, but I still think it would maybe be something cool to do.

            This week, we went over many things. Between how a virus gets into an electronic device, how to protect yourself online, and even how virus attack your devices. I hope that how I explain it is easy to understand.

            Applications, such as Youtube or Instagram, require knowing nothing about how the internet works. All you need to know how to do is post and look at information that is at your fingertips. However, knowing anything about information technology might help make sure you are not subjected to things you don't want to see.
            You should always look at the "privacy" and "setting" tabs under any website or device you use. This way, you at least get a good idea of what the website or app is using that you do to cater to your needs online. Most of these websites allow you to know when and where a device logged into your account, and if you are able to identify that you were not the one logging in then it'll help you secure your account again.

            Over the years, technology has expanded and become easier to use. In 2004 the social media website called Facebook was founded and released to college students to communicate with each other online. Soon we became able to use it on flipphones - though not very good and was hard to post on - and then eventually we all got smart phones and it moved to our phones. Now I don't think anyone uses Facebook on their computers anymore because it's right on our phones in easy access. It's also able to stay logged in and you never have to worry about your family member using your account because your family member most likely has their own account. This only became possible because we went from a phone that was only able to make calls and texts, to a phone that is everything you'll ever need in one hand.

            Computers have always been able to access websites, and over the years phones have been programmed to do pretty much exactly the same as the computer is able to do. All of this is because of 'pinging' which I went over in a previous blog post. To sum it up, pinging is the way your computer sends you to wherever on the internet you want to go to. However, one thing that you can do now, with both mobile devices and your computer, is send stuff to another device without a cord.
            Back when Apple iPods and iPhones started coming out, the only way that you could get your pictures and videos from that device to a computer to store was to connect a cord into a USB-A. Now, all you have to do is download an application called Google Drive and you can upload any files that you want to that drive. After that, you can login to your drive from either device and download them onto that device. While it might take a few minutes to upload, it's a lot faster and a lot more securer than the old cord method.

            Just like anything online, everything is done by a programming language. A simple thing that you can do is download an application onto your computer or smart phone, then open it up and use it. Already you've used multiple codes to not only save the application to the device but it also had to send a code to the devices main system saying that you wanted to open the application up. From in there, the application has it's own program codes to do different things.

            As for application software and how it plays out for my chosen topic, I'm not exactly sure how to answer this because I chose the general topic of the application itself. You have to have the software to run it or you won't be able to use it.

            Most websites and applications that you use these days have an option where you can sign up for an account with them and save your data so that you can return back to it on a different device or at a different time without losing any of it. Using, once again, Google Drive, you use your google account to upload pictures and videos into a program that is secure, then you can share those files with other users. Once you upload these files you can then logout, and you can return at anytime to find them again. The software saves it for you and only you and whoever has access to the databse of all of your pictures and videos will be able to see them, which you control entirely if anyone else can see then or not.

            I've talked a lot, in this blog post, about security. Anyone that has access to the database of all users can, potentially, find any of your information if they truly wanted to, and steal or delete any of it. All websites and applications have some kind of rules that you must follow, and if you don't follow those rules the creators have the right to restrict you from using their programs. If they didn't, the internet would become a scarier place than it already is and there would be no control over who could do what with anything.

While I didn't cite anything specific, these are my references that I feel can back me up.

D. Wetherall , D. Choffnes , B. Greenstein , S. Han , P. Hornyack , J. Jung , S. Schechter , and X. Wang. (N.D.).Privacy Revelations for Web and Mobile Apps. https://www.usenix.org/legacy/event/hotos/tech/final_files/Wetherall.pdf

Raymond, V. J., & Sushmitha, E. (2017). Google drive based secured anti-theft android application. 2017 International Conference on IoT and Application (ICIOT), IoT and Application (ICIOT), 2017 International Conference On, 1–8. https://doi-org.proxy-library.ashford.edu/10.1109/ICIOTA.2017.8073623

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com/

Thursday, April 9, 2020

Post #6 - Network Security

There are many viruses that your computer can get when browsing the internet. One of most popular types is the Ping of Death - "a type of Denial Service attack in which an attacker attempts to crash, destabilize or freeze the targeted computer or service by sending malformed or oversized packets using a single command,” ("Ping of Death (POD)," n.d, para. 1). 

Under this category, there is the Ping Flood. This is when a computer is spammed with many pings at once, and before each ping can go through there are more added to it. This way, the computer has to then catch up and can receive a very large ping that actually violates the Internet Protocol.

There are many types of ways that a virus can get into your computer, but of all of the ways I had decided that I was going to use Email Spam and Password Cracking.

Email Spam:

An email spam is a very known way of getting a virus into your computer. It is, usually, just a regular email with an attachment in it that, when clicked, inserts a virus into your computer. Just like all viruses, the person who went the virus now has access to anything that specific computer does. 

These types have been around ever since you were able to start emailing each other. However, they aren't always bad either. Other spams can be the emails you get when you buy clothes online - which I am currently experiencing because I did just that a couple days ago - or when you sign up for a website. They are literally just emails that fill your inbox up.

Most mail services online now have a "Spam" folder, which is where emails that you routingly get in excess are hosted. This can be things such as with dating websites when they tell you that you have likes on the website.

This type is the one that the older generations fall for, and that is always good for a hacker who just wants your grandma or grandpa's debit or credit card details so they can go on a shopping spree.

Password Cracking:

Password cracking is just what it sounds like. It's when a hacker somehow gets hold of one your passwords and is able to login to your account with it. While I'm not sure, and was unable to find, how to hack into a website, I know that it's not very hard for someone who knows exactly what they're doing.

Everyone has had moments where they lost access to their accounts. We all hate getting that notification from Facebook or Google saying that someone has logged into your account from a new device, mostly because we know it's usually us, but also because when we know that we didn't do it we have to then change our passwords.

The biggest thing that happens is someone will use the exact same password for all websites, so once a hacker has hold of that information, they have the password to all other websites

What can you do?

The best things that you can do is never give anyone your password, and never click links from people you don't know. Also, be suspicious when someone says that they found you on a website. If they send a link, attempt to google the exact page name so that the person can't get your information at all.

As for password cracking, a good way to prevent that is to use authentication applications like Authy, that provide you with codes so that you are able to access your accounts and know exactly that it is you. I use it for my Discord app on my phone, due to previous problems with hackers. What they do is they provide a new code that you can use every 30 seconds, and once you insert that code it allows you to login to the website. Then, even if a hacker gets into your account, they also have to be able to get past that blocker!

References

P. G. Kelley et al., "Guess Again (and Again and Again): Measuring Password Strength by Simulating Password-Cracking Algorithms," 2012 IEEE Symposium on Security and Privacy, San Francisco, CA, 2012, pp. 523-537.
Authy. (N.D). What is Two-Factor Authentication (2FA)? https://authy.com/what-is-2fa/

Post #5 - Computers in the Work Place

When I did the post for my view on computers in the work place, I had mentioned that I didn't have job that required that I use a computer, but my company does have a main office that all of the people there do have to use computers. I focused on the person that I can never remember her title, but she does homevisits for our clients and adds new clients into the system while also working with information collected from the homes of old clients.

This job is important because it keeps my job running, as the state knows exactly what is happening in each house thanks to her computer work. Without that specific job, we would lose clients instead of gaining clients because we wouldn't be considered trustworthy since there would be no documents that the company could access.

I did, however, say that I fear that this job might not be around for long, because workers like myself could easily learn how to do it. If my job decided to cut out that worker, they could require that we upload all information to a program through our phone - not that I know if there is a program other than straight up email - or they could combine it with the regular job of the boss. Because it is easily able to be done from within the home of any client by any worker, if given the resources to do it, I fear that our company will end up replacing that specific person with just a program that'll collect all data given in by workers.

Post #4 - Ping

Due to specific circumstances, I never actually got to make my post for Ping or Traceroute. I have decided that I'm going to focus on Ping for this post because I was unable to do the Traceroute.

It was requested that we "ping" websites to see what would happen when we did so. This is what came up on my screen when I did the pinging.

I had decided to use Google, Facebook, and a random Australian website that I had found on google because it was requested that we use a website from a different country.

I never made my post, however, because my Pings took a lot longer than it did for other people. While other posts were getting somewhere within 14 seconds, I was getting almost minutes to get the pings to go all the way through. For lack of looking like an idiot, I couldn't even do the replies because I didn't understand what was happening on my end.

Thankfully, once I got a bit of help understanding these, I was able to see that it was just my computer being slow. I was fully able to connect to the websites and it was successfully going sending a receiving signals between the website and my computer. I was able to learn how my computer knows what website to go to because it was able to bring up the specific IP address used for each website on it's own.

Post #3 - Different applications

This assignment we were told to mess with Microsoft Word, Excel, PowerPoint, and Access which most people only have played around, previously, with Word. While these are all made by the same company and do pretty similar things, they are completely different.

We were described to write about 10 things we do during the day. I have trouble doing this because my life is, quite literally, done in less than 10 things a day. I had to add eating and other things that we all do that makes our lives uninteresting to the entire thing, and by the time I got done I had extended by day by ~12 hours more than a normal day consists of.

Using Microsoft Word, I described the basics of my day in a journal like entry. I had explained about my night at work, what all I did during the night, and then about each thing that I had to do after work. I made it look like that of which an 11-year-old would do when starting their own personal diary or journal.

Using Microsoft Excel I had to label how long each individual activity took. Due to my very boring life, as I already said, I had to add things like browsing social media and eating/drinking, and even driving to and from work. This, in total, meant that I had about ~36 hours of day time because I usually write stories and browse social media at the exact same time. I'm usually always on my phone which means that all of my social media time happens at the exact same time as everything else.

Using Microsoft PowerPoint I had to make a slide for each activity. I was able to group some items together to make a decent and not completely boring presentation, and I got to use the transitions and animations provided to make it looks a little more interesting. My favorite thing to do the entire thing was making the Facebook and Instagram logos switch places on the slide that I used for social media, which I have never done before but wanted to just for the fun of it.

Using Microsoft Access, I had to label which things were high priority. Most people would see excercise as high priority, but I used my writing and school work as high priority because those are the important things to me. I also believe I added Family Time as high priority, but as an loner I don't usually hang out with anybody in my life and prefer to be alone.

While each program did something completely different than the last, they were all important in their own way. I was able to use the different programs so that I could list the same activities in different ways so that I could see how I view the entire day. I usually see myself as a boring person and this actually reinforced that idea because I couldn't even get the entire 10 activities, I think I toppled out with between 7 and 9.