Academic Megathread

Discussion
LimeRain Avatar
LimeRain GB Regular **

Post by LimeRain on Apr 11, 2018 9:58:28 GMT -7

Hello Everyone! This thread is dedicated to discussions of anything academic related in terms of actual material, not things like rants and such having to do with school.
If this thread picks up enough I may have it separated into its own respective subsection on the forum.

Please be as detailed as possible in your postings, this thread is for the sharing of great information which many have paid a great deal to acquire.

Rules
1. Plagiarism is not okay
2. We're not here to do your homework, but to help you understand how to do it
3. Questions should be marked in red and then changed to green once answered
4. General discussion should be marked in blue
6. Answers should be marked in yellow
7. Should answers be given, try your best to explain your steps for replication


Failure to follow these rules will result in a warning or thread ban


Last edited Apr 18, 2018 13:37:49 GMT -7 by DanthEx: Thread sticky granted.


Check out our academic mega thread!

Computer Scientist Undergrad with knowledge in Math & Psychology
LimeRain Avatar
LimeRain GB Regular **
Last edited Apr 11, 2018 10:00:02 GMT -7 by LimeRain


Check out our academic mega thread!

Computer Scientist Undergrad with knowledge in Math & Psychology
vedraii Avatar
vedraii GB Regular **

Post by vedraii on Apr 13, 2018 5:43:07 GMT -7

LimeRain Avatar
Question: Whoever understands statistics, can you explain Confidence intervals? (both one-sided and dual sided) What do they actually accomplish in a practical sense?
I personally know nothing about statistic but this might help?

www.khanacademy.org/math/statistics-probability/confidence-intervals-one-sample

I used to use this website a ton when I was struggling with a concept. But maybe that's also way too low level for you, I have no idea.
LimeRain Avatar
LimeRain GB Regular **

Post by LimeRain on Apr 13, 2018 11:10:20 GMT -7

Topic: Building your thought process when creating a program: State-based programming.


One of the things I used to struggle with a lot and once in a blue moon do still (with some recursion & dynamic programming) is going about how you should make an "intelligent" decision. One of the things that got me better at  this before I went to college was scripting for bots. Yes, I used to be in that scene a few years ago and now I'm just a normal player. Some people used scripts in the form of "states" which was a way of doing certain actions when their requirements are met. Here is an example of a basic mining script you could do from back in the day (Pseudocode).
switch(state()){

Case Mine:
while(player.getAnimation == -1) //only try to mine if no animation is occuring
{
if(getObject("Iron Rock") != null)
{
player.interact(getObject("Iron Rock"), mine);
}
}
break;
Case Bank:
//blah blah blah either dynamically navigate to a bank or use an array / vector of stored tiles and deposit and return
break;
}

private State getState()
{
if(backpack.isFull())
{
return State.Bank;
}else{
return State.Mine;
}
}




Check out our academic mega thread!

Computer Scientist Undergrad with knowledge in Math & Psychology
DanthEx Avatar
DanthEx GB Staff *****

Post by DanthEx on Apr 13, 2018 13:06:04 GMT -7

Topic: WiFi Security

I've made this thread in the past and was unable to find it so I guess it's time to stop being so lazy and rewrite it.


During my time spent as a residential and business IT contractor, I discovered many of my customers were unaware how secure(or unsecured) their WiFi(Wireless Frequency) internet connection really was from the public. I noticed many homes would have easy to crack passwords such as a family member or pet name, in some cases the broadcast was even open. It's easy for us tech-savvy people to think "Are you crazy?", although that's not the case. The majority of people simply don't understand technology and the way it works in the same sense we do, and in vise-versa, I'm sure they're skilled in other areas that we wouldn't fully understand either. If you're too lazy to read this entire guide, at least take this piece of advice if nothing else: be sure your WiFi is using WPA2 with AES encryption.

On the flip side, you have those who are currently educating themselves with Information Technology and making attempts to secure their connections even further than the 'default' ISP(Internet Service Provider) setup, this can be a good and bad thing, let me explain a few common mistakes.


 Hiding your SSID (Service Set Identifier)

 The SSID is the name you see on your connections list while viewing available WiFi networks. Some people and businesses have decided not to broadcast their SSID believing it may shelter them from potential intruders or "hackers" in the area. Although it may sound like a good idea to hide your SSID from appearing in the connections list of wandering eyes, I believe it may actually have the opposite effect. Devices capable of broadcasting an 802.11 standard WiFi signal also send out what's called 'management beacon packets', these packets are pieces of information that can be read by WiFi capable devices which allow the device to see the available networks around it. If these management beacon packets are missing(turned off), a simple scan of nearby networks would expose the network as hidden since the wireless network name(SSID) would be missing in the management beacon packets.

Conclusion
: Scanning the area for packets would be one of the first steps an intruder would take if your network is hidden it's going to stand out like a sore thumb and cause more curiosity than protection.


Changing your Password (WiFi)

 Many people decide to change their WiFi passwords for convenience. This can be a good, or bad. If you're going to change your WiFi password, I strongly recommend you make a password 10 characters or longer. Include numbers, upper and lowercase letters, and special characters such as [email protected]#$%^, etc. Brute-force is one of the main methods of breaching a WiFi connection, brute force works by using a list of usually millions of passwords to try and figure out which may work with your connection. If your current password provided by your ISP is 12+ characters of numbers, this is usually quite a secure password and for the most part, you should leave it alone.

Conclusion: Don't change your ISP provided password unless you need to, and if you do, make sure it's a very secure password of at least 10 characters with numbers, upper and lowercase, plus special characters.


Using MAC Filtering

 Each device is assigned a MAC(Media Access Control) address from its manufacturer, this is essentially a license plate so the device can be recognized. MAC Filtering is when an access point such as a router only allows devices containing a certain MAC Address to connect. This may sound like a good idea, and it may keep out inexperienced hackers, however, it will only make those who are more skilled in their work more curious as to why you have this filter in place. The problem with MAC addresses is that they're easily spoofed, meaning someone with the right amount of experience is able to fool your access point into thinking it's MAC address is on the white list(allowed MAC list), therefore allowing the connection granted the hacker also has the correct password.

Conclusion: Creating a MAC white-list will only keep out inexperienced network breaches while making the more experienced hackers more curious as to what you're hiding.


Using WiFi Protected Setup (WPS)

 Most people have seen the WPS button their router at one point or another and wondered what it was for. WiFi Protected Setup is a way a device may connect to an access point(router, range-booster, etc.) without using a passphrase and is meant to save time and provide convenience. There are four types of WPS, however, the two methods found below are most common. Uncommon methods would be Near-Field and USB, however, we'll be discussing these:

 PIN - A PIN is provided on by the router on a digital screen or sticker on the device
 Push-Button - A physical or virtual button is pushed on the device and access point within a short time frame
 
These options may provide convenience for the price of a less secure method. The problem with WPS is that most access points or routers on the market today don't actually provide any protection against brute-force attacks. Meaning a potential intruder could try thousands, or even millions of PIN's against the router until the correct PIN is found and allows access. 

Conclusion: WPS may provide convenience at the cost of reduced network security. It's best to just disable this option.


Last edited Sept 12, 2018 11:19:26 GMT -7 by DanthEx
DanthEx Avatar
DanthEx GB Staff *****

Post by DanthEx on Apr 18, 2018 10:56:42 GMT -7

Topic: Keeping your PC secure


Many people even in today's day and age are still browsing the internet without the proper protection in place, this boggles my mind a little considering most of us use the internet for banking, shopping, and other means of providing the web with private and confidential information like mailing addresses, email addresses, phone numbers, social security numbers, identification, and more. All of this information can easily be used maliciously by someone looking to commit fraud against you or to gain access to your accounts.

There are also things called Botnets or "Zombies", this is where a users computer is being used in malicious attacks against other computers or servers and they have no idea it's even happening. All of this happens while you're using the computer and you may never know anything was wrong. As long as it's turned on and has an active internet connection, you're vulnerable.


Today there are many great free and open source programs to help keep your computer safe, let's have a look at a few of them:






 Malwarebytes is one of the best malware scanners available. Malware is malicious software with the intent to damage or commandeer a computer system. You can read more about Malwarebytes and why it's ahead of the game here.



SPYBOT is another great anti-malware scanner that offers a free and paid version, I've trusted this scanner for over 15 years and I feel you can too.




CCLEANER is used to remove unwanted programs and old file junk from your computer, if you've had your computer for a few years and it's starting to bog down, I highly recommend scanning with this tool.



Bitdefender is one of the top anti-virus scanners on the market today, don't forget malware isn't the only thing you need to protect yourself against.






Alright, now that you have yourself software to clean your PC and protect you from malware and viruses, let's talk a little about what it is you're actually protecting yourself against. I'll try to summarize as best I can and will cover the most common types of malicious software.


 
 Adware

Adware is software intended to display advertisements to unwilling users, this can be in many forms such as pop-ups, videos, images, websites and more. Adware collects and often sells your data for marketing purposes.


 Spyware

Spyware software aims to collect information from a computer or server without the user's consent. Spyware can also be in many forms such as keyloggers which log each key stroke you make.


 Viruses

A virus is a program that replicates itself and aims to corrupt the code of programs on your computer with its own code. Basically taking over and "infecting" the program.


 Ransomware

Ransomware is never pretty, this particular piece of code works by capturing personal information or private business data, encrypting it, then offering to return it only for a cost.


 Trojan Horse

Remember the story of the Ancient Greek and the misleading wooden horse? A Trojan Horse acts as an innocent program and infects your computer, then steals your data once interacted with.






These are all examples of malicious software, other examples would be worms, rootkits, bootkits, scareware, backdoors, logic bombs, and more. Although we haven't covered them all, you now have an idea of why it's important to take proper precautions when it comes to using the web, or being online at all for that matter. However, keeping your Operating System(Windows, Mac, Linux,etc.) up to date is just as important as everything previously mentioned.


Windows
Mac

 

Last edited Sept 12, 2018 11:18:08 GMT -7 by DanthEx
Nergal Avatar
Nergal GB Staff *****

Post by Nergal on May 15, 2018 18:28:36 GMT -7

DanthEx Avatar

Using WiFi Protected Setup (WPS)

 Most people have seen the WPS button their router at one point or another, and wondered what it was for. WiFi Protected Setup is a way a device may connect to a access point(router, range-booster, etc.) without using a passphrase and is meant to save time and provide convenience. There are four types of WPS, however the two methods found below are most common. Uncommon methods would be Near-Field and USB, however, we'll be discussing these:

 PIN - A PIN is provided on by the router on a digital screen or sticker on the device
 Push-Button - A physical or virtual button is pushed on the device and access point within a short time frame
 
These options may provide convenience for the price of a less secure method. The problem with WPS is that most access points or routers on the market today don't actually provide any protection against brute-force attacks. Meaning a potential intruder could try thousands, or even millions of PIN's against the router until the correct PIN is found and allows access. 

Conclusion: WPS may provide convenience at the cost of reduced network security. It's best to just disable this option.

Actually many updated WPS routers DO prevent rapid bruteforce attacks, a MAC address could get filtered if it's found to be obviously trying to bruteforce against newer router firmware.
HOWEVER, WPS isn't actually secure anymore and there have been exploits built around how a "master-pin" is permanently burnt into your router. Once someone experienced has that PIN just once they own your router forever.
Look into airgeddon (and pixie-dust) if you are interested in seeing how such an exploit could work.

WPA is meh, WPA-2 is a little better but the KRACK exploit leaves it vulnerable; waiting on WPA-3
Overall router security is just in a bad place right now.
Last edited May 16, 2018 2:28:30 GMT -7 by DanthEx



DanthEx Avatar
DanthEx GB Staff *****

Post by DanthEx on Jul 6, 2018 9:03:51 GMT -7

Are you interested in Computer Science and Programming? Whether you're a skilled veteran to the science or just starting off, CS50x by Harvard University is sure to take your understanding to the next level. Take a little time out of each day to complete pieces of the course, you'll be glad you did. There's even an option to purchase a certification for a very reasonable price. CS50x will expand your knowledge around computer science in a very comfortable and well evolved learning environment.




CS50's Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.








Andrew Avatar
Andrew GB Regular **

Post by Andrew on Sept 3, 2018 11:49:11 GMT -7

DanthEx Avatar
Are you interested in Computer Science and Programming? Whether you're a skilled veteran to the science or just starting off, CS50x by Harvard University is sure to take your understanding to the next level. Take a little time out of each day to complete pieces of the course, you'll be glad you did. There's even an option to purchase a certification for a very reasonable price. CS50x will expand your knowledge around computer science in a very comfortable and well evolved learning environment.




CS50's Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.











I like edX's ability to allow you to be a student or auditor of a course (get no credit or certificate). The cost isn't too bad if you want the certificate. It's also a nice approach for several large educational institutions to do some sidebar courses like this. Sometimes, for those who don't/didn't do well in a school setting, all they need to excel or grasp that particular or last concept is one little class. For example, the Python course could be that final step for that forward-thinking, next-best-software person out there that everyone clamors over (think Pokemon GO when it came out). 

I chose to opt-out near the last minute on doing the Python course because I wasn't terribly sure I wanted to do Python programming.
Andrew