7 Tricks To Be Professional At Binary Options Trading ...

An introduction to Linux through Windows Subsystem for Linux

I'm working as an Undergraduate Learning Assistant and wrote this guide to help out students who were in the same boat I was in when I first took my university's intro to computer science course. It provides an overview of how to get started using Linux, guides you through setting up Windows Subsystem for Linux to run smoothly on Windows 10, and provides a very basic introduction to Linux. Students seemed to dig it, so I figured it'd help some people in here as well. I've never posted here before, so apologies if I'm unknowingly violating subreddit rules.

An introduction to Linux through Windows Subsystem for Linux

GitHub Pages link

Introduction and motivation

tl;dr skip to next section
So you're thinking of installing a Linux distribution, and are unsure where to start. Or you're an unfortunate soul using Windows 10 in CPSC 201. Either way, this guide is for you. In this section I'll give a very basic intro to some of options you've got at your disposal, and explain why I chose Windows Subsystem for Linux among them. All of these have plenty of documentation online so Google if in doubt.

Setting up WSL

So if you've read this far I've convinced you to use WSL. Let's get started with setting it up. The very basics are outlined in Microsoft's guide here, I'll be covering what they talk about and diving into some other stuff.

1. Installing WSL

Press the Windows key (henceforth Winkey) and type in PowerShell. Right-click the icon and select run as administrator. Next, paste in this command:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 
Now you'll want to perform a hard shutdown on your computer. This can become unecessarily complicated because of Window's fast startup feature, but here we go. First try pressing the Winkey, clicking on the power icon, and selecting Shut Down while holding down the shift key. Let go of the shift key and the mouse, and let it shutdown. Great! Now open up Command Prompt and type in
wsl --help 
If you get a large text output, WSL has been successfully enabled on your machine. If nothing happens, your computer failed at performing a hard shutdown, in which case you can try the age-old technique of just holding down your computer's power button until the computer turns itself off. Make sure you don't have any unsaved documents open when you do this.

2. Installing Ubuntu

Great! Now that you've got WSL installed, let's download a Linux distro. Press the Winkey and type in Microsoft Store. Now use the store's search icon and type in Ubuntu. Ubuntu is a Debian-based Linux distribution, and seems to have the best integration with WSL, so that's what we'll be going for. If you want to be quirky, here are some other options. Once you type in Ubuntu three options should pop up: Ubuntu, Ubuntu 20.04 LTS, and Ubuntu 18.04 LTS.
![Windows Store](https://theshepord.github.io/intro-to-WSL/docs/images/winstore.png) Installing plain-old "Ubuntu" will mean the app updates whenever a new major Ubuntu distribution is released. The current version (as of 09/02/2020) is Ubuntu 20.04.1 LTS. The other two are older distributions of Ubuntu. For most use-cases, i.e. unless you're running some software that will break when upgrading, you'll want to pick the regular Ubuntu option. That's what I did.
Once that's done installing, again hit Winkey and open up Ubuntu. A console window should open up, asking you to wait a minute or two for files to de-compress and be stored on your PC. All future launches should take less than a second. It'll then prompt you to create a username and password. I'd recommend sticking to whatever your Windows username and password is so that you don't have to juggle around two different usepassword combinations, but up to you.
Finally, to upgrade all your packages, type in
sudo apt-get update 
And then
sudo apt-get upgrade 
apt-get is the Ubuntu package manager, this is what you'll be using to install additional programs on WSL.

3. Making things nice and crispy: an introduction to UNIX-based filesystems

tl;dr skip to the next section
The two above steps are technically all you need for running WSL on your system. However, you may notice that whenever you open up the Ubuntu app your current folder seems to be completely random. If you type in pwd (for Print Working Directory, 'directory' is synonymous with 'folder') inside Ubuntu and hit enter, you'll likely get some output akin to /home/. Where is this folder? Is it my home folder? Type in ls (for LiSt) to see what files are in this folder. Probably you won't get any output, because surprise surprise this folder is not your Windows home folder and is in fact empty (okay it's actually not empty, which we'll see in a bit. If you type in ls -a, a for All, you'll see other files but notice they have a period in front of them. This is a convention for specifying files that should be hidden by default, and ls, as well as most other commands, will honor this convention. Anyways).
So where is my Windows home folder? Is WSL completely separate from Windows? Nope! This is Windows Subsystem for Linux after all. Notice how, when you typed pwd earlier, the address you got was /home/. Notice that forward-slash right before home. That forward-slash indicates the root directory (not to be confused with the /root directory), which is the directory at the top of the directory hierarchy and contains all other directories in your system. So if we type ls /, you'll see what are the top-most directories in your system. Okay, great. They have a bunch of seemingly random names. Except, shocker, they aren't random. I've provided a quick run-down in Appendix A.
For now, though, we'll focus on /mnt, which stands for mount. This is where your C drive, which contains all your Windows stuff, is mounted. So if you type ls /mnt/c, you'll begin to notice some familiar folders. Type in ls /mnt/c/Users, and voilà, there's your Windows home folder. Remember this filepath, /mnt/c/Users/. When we open up Ubuntu, we don't want it tossing us in this random /home/ directory, we want our Windows home folder. Let's change that!

4. Changing your default home folder

Type in sudo vim /etc/passwd. You'll likely be prompted for your Ubuntu's password. sudo is a command that gives you root privileges in bash (akin to Windows's right-click then selecting 'Run as administrator'). vim is a command-line text-editing tool, which out-of-the-box functions kind of like a crummy Notepad (you can customize it infinitely though, and some people have insane vim setups. Appendix B has more info). /etc/passwd is a plaintext file that historically was used to store passwords back when encryption wasn't a big deal, but now instead stores essential user info used every time you open up WSL.
Anyway, once you've typed that in, your shell should look something like this: ![vim /etc/passwd](https://theshepord.github.io/intro-to-WSL/docs/images/vim-etc-passwd.png)
Using arrow-keys, find the entry that begins with your Ubuntu username. It should be towards the bottom of the file. In my case, the line looks like
theshep:x:1000:1000:,,,:/home/pizzatron3000:/bin/bash 
See that cringy, crummy /home/pizzatron3000? Not only do I regret that username to this day, it's also not where we want our home directory. Let's change that! Press i to initiate vim's -- INSERT -- mode. Use arrow-keys to navigate to that section, and delete /home/ by holding down backspace. Remember that filepath I asked you to remember? /mnt/c/Users/. Type that in. For me, the line now looks like
theshep:x:1000:1000:,,,:/mnt/c/Users/lucas:/bin/bash 
Next, press esc to exit insert mode, then type in the following:
:wq 
The : tells vim you're inputting a command, w means write, and q means quit. If you've screwed up any of the above sections, you can also type in :q! to exit vim without saving the file. Just remember to exit insert mode by pressing esc before inputting commands, else you'll instead be writing to the file.
Great! If you now open up a new terminal and type in pwd, you should be in your Window's home folder! However, things seem to be lacking their usual color...

5. Importing your configuration files into the new home directory

Your home folder contains all your Ubuntu and bash configuration files. However, since we just changed the home folder to your Window's home folder, we've lost these configuration files. Let's bring them back! These configuration files are hidden inside /home/, and they all start with a . in front of the filename. So let's copy them over into your new home directory! Type in the following:
cp -r /home//. ~ 
cp stands for CoPy, -r stands for recursive (i.e. descend into directories), the . at the end is cp-specific syntax that lets it copy anything, including hidden files, and the ~ is a quick way of writing your home directory's filepath (which would be /mnt/c/Users/) without having to type all that in again. Once you've run this, all your configuration files should now be present in your new home directory. Configuration files like .bashrc, .profile, and .bash_profile essentially provide commands that are run whenever you open a new shell. So now, if you open a new shell, everything should be working normally. Amazing. We're done!

6. Tips & tricks

Here are two handy commands you can add to your .profile file. Run vim ~/.profile, then, type these in at the top of the .profile file, one per line, using the commands we discussed previously (i to enter insert mode, esc to exit insert mode, :wq to save and quit).
alias rm='rm -i' makes it so that the rm command will always ask for confirmation when you're deleting a file. rm, for ReMove, is like a Windows delete except literally permanent and you will lose that data for good, so it's nice to have this extra safeguard. You can type rm -f to bypass. Linux can be super powerful, but with great power comes great responsibility. NEVER NEVER NEVER type in rm -rf /, this is saying 'delete literally everything and don't ask for confirmation', your computer will die. Newer versions of rm fail when you type this in, but don't push your luck. You've been warned. Be careful.
export DISPLAY=:0 if you install XLaunch VcXsrv, this line allows you to open graphical interfaces through Ubuntu. The export sets the environment variable DISPLAY, and the :0 tells Ubuntu that it should use the localhost display.

Appendix A: brief intro to top-level UNIX directories

tl;dr only mess with /mnt, /home, and maybe maybe /usr. Don't touch anything else.
  • bin: binaries, contains Ubuntu binary (aka executable) files that are used in bash. Here you'll find the binaries that execute commands like ls and pwd. Similar to /usbin, but bin gets loaded earlier in the booting process so it contains the most important commands.
  • boot: contains information for operating system booting. Empty in WSL, because WSL isn't an operating system.
  • dev: devices, provides files that allow Ubuntu to communicate with I/O devices. One useful file here is /dev/null, which is basically an information black hole that automatically deletes any data you pass it.
  • etc: no idea why it's called etc, but it contains system-wide configuration files
  • home: equivalent to Window's C:/Users folder, contains home folders for the different users. In an Ubuntu system, under /home/ you'd find the Documents folder, Downloads folder, etc.
  • lib: libraries used by the system
  • lib64 64-bit libraries used by the system
  • mnt: mount, where your drives are located
  • opt: third-party applications that (usually) don't have any dependencies outside the scope of their own package
  • proc: process information, contains runtime information about your system (e.g. memory, mounted devices, hardware configurations, etc)
  • run: directory for programs to store runtime information.
  • srv: server folder, holds data to be served in protocols like ftp, www, cvs, and others
  • sys: system, provides information about different I/O devices to the Linux Kernel. If dev files allows you to access I/O devices, sys files tells you information about these devices.
  • tmp: temporary, these are system runtime files that are (in most Linux distros) cleared out after every reboot. It's also sort of deprecated for security reasons, and programs will generally prefer to use run.
  • usr: contains additional UNIX commands, header files for compiling C programs, among other things. Kind of like bin but for less important programs. Most of everything you install using apt-get ends up here.
  • var: variable, contains variable data such as logs, databases, e-mail etc, but that persist across different boots.
Also keep in mind that all of this is just convention. No Linux distribution needs to follow this file structure, and in fact almost all will deviate from what I just described. Hell, you could make your own Linux fork where /mnt/c information is stored in tmp.

Appendix B: random resources

EDIT: implemented various changes suggested in the comments. Thanks all!
submitted by HeavenBuilder to linux4noobs [link] [comments]

First Time Going Through Coding Interviews?

This post draws on my personal experiences and challenges over the past term at school, which I entered with hardly any knowledge of DSA (data structures and algorithms) and problem-solving strategies. As a self-taught programmer, I was a lot more familiar and comfortable with general programming, such as object-oriented programming, than with the problem-solving skills required in DSA questions.
This post reflects my journey throughout the term and the resources I turned to in order to quickly improve for my coding interview.
Here're some common questions and answers
What's the interview process like at a tech company?
Good question. It's actually pretty different from most other companies.

(What It's Like To Interview For A Coding Job

First time interviewing for a tech job? Not sure what to expect? This article is for you.

Here are the usual steps:

  1. First, you’ll do a non-technical phone screen.
  2. Then, you’ll do one or a few technical phone interviews.
  3. Finally, the last step is an onsite interview.
Some companies also throw in a take-home code test—sometimes before the technical phone interviews, sometimes after.
Let’s walk through each of these steps.

The non-technical phone screen

This first step is a quick call with a recruiter—usually just 10–20 minutes. It's very casual.
Don’t expect technical questions. The recruiter probably won’t be a programmer.
The main goal is to gather info about your job search. Stuff like:

  1. Your timeline. Do you need to sign an offer in the next week? Or are you trying to start your new job in three months?
  2. What’s most important to you in your next job. Great team? Flexible hours? Interesting technical challenges? Room to grow into a more senior role?
  3. What stuff you’re most interested in working on. Front end? Back end? Machine learning?
Be honest about all this stuff—that’ll make it easier for the recruiter to get you what you want.
One exception to that rule: If the recruiter asks you about your salary expectations on this call, best not to answer. Just say you’d rather talk about compensation after figuring out if you and the company are a good fit. This’ll put you in a better negotiating position later on.

The technical phone interview(s)

The next step is usually one or more hour-long technical phone interviews.
Your interviewer will call you on the phone or tell you to join them on Skype or Google Hangouts. Make sure you can take the interview in a quiet place with a great internet connection. Consider grabbing a set of headphones with a good microphone or a bluetooth earpiece. Always test your hardware beforehand!
The interviewer will want to watch you code in real time. Usually that means using a web-based code editor like Coderpad or collabedit. Run some practice problems in these tools ahead of time, to get used to them. Some companies will just ask you to share your screen through Google Hangouts or Skype.
Turn off notifications on your computer before you get started—especially if you’re sharing your screen!
Technical phone interviews usually have three parts:

  1. Beginning chitchat (5–10 minutes)
  2. Technical challenges (30–50 minutes)
  3. Your turn to ask questions (5–10 minutes)
The beginning chitchat is half just to help your relax, and half actually part of the interview. The interviewer might ask some open-ended questions like:

  1. Tell me about yourself.
  2. Tell me about something you’ve built that you’re particularly proud of.
  3. I see this project listed on your resume—tell me more about that.
You should be able to talk at length about the major projects listed on your resume. What went well? What didn’t? How would you do things differently now?
Then come the technical challenges—the real meet of the interview. You’ll spend most of the interview on this. You might get one long question, or several shorter ones.
What kind of questions can you expect? It depends.
Startups tend to ask questions aimed towards building or debugging code. (“Write a function that takes two rectangles and figures out if they overlap.”). They’ll care more about progress than perfection.
Larger companies will want to test your general know-how of data structures and algorithms (“Write a function that checks if a binary tree is ‘balanced’ in O(n)O(n) ↴ time.”). They’ll care more about how you solve and optimize a problem.
With these types of questions, the most important thing is to be communicating with your interviewer throughout. You'll want to "think out loud" as you work through the problem. For more info, check out our more detailed step-by-step tips for coding interviews.
If the role requires specific languages or frameworks, some companies will ask trivia-like questions (“In Python, what’s the ‘global interpreter lock’?”).
After the technical questions, your interviewer will open the floor for you to ask them questions. Take some time before the interview to comb through the company’s website. Think of a few specific questions about the company or the role. This can really make you stand out.
When you’re done, they should give you a timeframe on when you’ll hear about next steps. If all went well, you’ll either get asked to do another phone interview, or you’ll be invited to their offices for an onsite.

The onsite interview

An onsite interview happens in person, at the company’s office. If you’re not local, it’s common for companies to pay for a flight and hotel room for you.
The onsite usually consists of 2–6 individual, one-on-one technical interviews (usually in a small conference room). Each interview will be about an hour and have the same basic form as a phone screen—technical questions, bookended by some chitchat at the beginning and a chance for you to ask questions at the end.
The major difference between onsite technical interviews and phone interviews though: you’ll be coding on a whiteboard.
This is awkward at first. No autocomplete, no debugging tools, no delete button…ugh. The good news is, after some practice you get used to it. Before your onsite, practice writing code on a whiteboard (in a pinch, a pencil and paper are fine). Some tips:

  1. Start in the top-most left corner of the whiteboard. This gives you the most room. You’ll need more space than you think.
  2. Leave a blank line between each line as you write your code. Makes it much easier to add things in later.
  3. Take an extra second to decide on your variable names. Don’t rush this part. It might seem like a waste of time, but using more descriptive variable names ultimately saves you time because it makes you less likely to get confused as you write the rest of your code.
If a technical phone interview is a sprint, an onsite is a marathon. The day can get really long. Best to keep it open—don’t make other plans for the afternoon or evening.
When things go well, you’ wrap-up by chatting with the CEO or some other director. This is half an interview, half the company trying to impress you. They may invite you to get drinks with the team after hours.
All told, a long day of onsite interviews could look something like this:

If they let you go after just a couple interviews, it’s usually a sign that they’re going to pass on you. That’s okay—it happens!
There are are a lot of easy things you can do the day before and morning of your interview to put yourself in the best possible mindset. Check out our piece on what to do in the 24 hours before your onsite coding interview.

The take-home code test

Code tests aren’t ubiquitous, but they seem to be gaining in popularity. They’re far more common at startups, or places where your ability to deliver right away is more important than your ability to grow.
You’ll receive a description of an app or service, a rough time constraint for writing your code, and a deadline for when to turn it in. The deadline is usually negotiable.
Here's an example problem:
Write a basic “To-Do” app. Unit test the core functionality. As a bonus, add a “reminders” feature. Try to spend no more than 8 hours on it, and send in what you have by Friday with a small write-up.
Take a crack at the “bonus” features if they include any. At the very least, write up how you would implement it.
If they’re hiring for people with knowledge of a particular framework, they might tell you what tech to use. Otherwise, it’ll be up to you. Use what you’re most comfortable with. You want this code to show you at your best.
Some places will offer to pay you for your time. It's rare, but some places will even invite you to work with them in their office for a few days, as a "trial.")
Do I need to know this "big O" stuff?
Big O notation is the language we use for talking about the efficiency of data structures and algorithms.
Will it come up in your interviews? Well, it depends. There are different types of interviews.
There’s the classic algorithmic coding interview, sometimes called the “Google-style whiteboard interview.” It’s focused on data structures and algorithms (queues and stacks, binary search, etc).
That’s what our full course prepares you for. It's how the big players interview. Google, Facebook, Amazon, Microsoft, Oracle, LinkedIn, etc.
For startups and smaller shops, it’s a mixed bag. Most will ask at least a few algorithmic questions. But they might also include some role-specific stuff, like Java questions or SQL questions for a backend web engineer. They’ll be especially interested in your ability to ship code without much direction. You might end up doing a code test or pair-programming exercise instead of a whiteboarding session.
To make sure you study for the right stuff, you should ask your recruiter what to expect. Send an email with a question like, “Is this interview going to cover data structures and algorithms? Or will it be more focused around coding in X language.” They’ll be happy to tell you.
If you've never learned about data structures and algorithms, or you're feeling a little rusty, check out our Intuitive Guide to Data Structures and Algorithms.
Which programming language should I use?
Companies usually let you choose, in which case you should use your most comfortable language. If you know a bunch of languages, prefer one that lets you express more with fewer characters and fewer lines of code, like Python or Ruby. It keeps your whiteboard cleaner.
Try to stick with the same language for the whole interview, but sometimes you might want to switch languages for a question. E.g., processing a file line by line will be far easier in Python than in C++.
Sometimes, though, your interviewer will do this thing where they have a pet question that’s, for example, C-specific. If you list C on your resume, they’ll ask it.
So keep that in mind! If you’re not confident with a language, make that clear on your resume. Put your less-strong languages under a header like ‘Working Knowledge.’
What should I wear?
A good rule of thumb is to dress a tiny step above what people normally wear to the office. For most west coast tech companies, the standard digs are just jeans and a t-shirt. Ask your recruiter what the office is like if you’re worried about being too casual.
Should I send a thank-you note?
Thank-you notes are nice, but they aren’t really expected. Be casual if you send one. No need for a hand-calligraphed note on fancy stationery. Opt for a short email to your recruiter or the hiring manager. Thank them for helping you through the process, and ask them to relay your thanks to your interviewers.
1) Coding Interview Tips
How to get better at technical interviews without practicing
Chitchat like a pro.
Before diving into code, most interviewers like to chitchat about your background. They're looking for:

You should have at least one:

Nerd out about stuff. Show you're proud of what you've done, you're amped about what they're doing, and you have opinions about languages and workflows.
Communicate.
Once you get into the coding questions, communication is key. A candidate who needed some help along the way but communicated clearly can be even better than a candidate who breezed through the question.
Understand what kind of problem it is. There are two types of problems:

  1. Coding. The interviewer wants to see you write clean, efficient code for a problem.
  2. Chitchat. The interviewer just wants you to talk about something. These questions are often either (1) high-level system design ("How would you build a Twitter clone?") or (2) trivia ("What is hoisting in Javascript?"). Sometimes the trivia is a lead-in for a "real" question e.g., "How quickly can we sort a list of integers? Good, now suppose instead of integers we had . . ."
If you start writing code and the interviewer just wanted a quick chitchat answer before moving on to the "real" question, they'll get frustrated. Just ask, "Should we write code for this?"
Make it feel like you're on a team. The interviewer wants to know what it feels like to work through a problem with you, so make the interview feel collaborative. Use "we" instead of "I," as in, "If we did a breadth-first search we'd get an answer in O(n)O(n) time." If you get to choose between coding on paper and coding on a whiteboard, always choose the whiteboard. That way you'll be situated next to the interviewer, facing the problem (rather than across from her at a table).
Think out loud. Seriously. Say, "Let's try doing it this way—not sure yet if it'll work." If you're stuck, just say what you're thinking. Say what might work. Say what you thought could work and why it doesn't work. This also goes for trivial chitchat questions. When asked to explain Javascript closures, "It's something to do with scope and putting stuff in a function" will probably get you 90% credit.
Say you don't know. If you're touching on a fact (e.g., language-specific trivia, a hairy bit of runtime analysis), don't try to appear to know something you don't. Instead, say "I'm not sure, but I'd guess $thing, because...". The because can involve ruling out other options by showing they have nonsensical implications, or pulling examples from other languages or other problems.
Slow the eff down. Don't confidently blurt out an answer right away. If it's right you'll still have to explain it, and if it's wrong you'll seem reckless. You don't win anything for speed and you're more likely to annoy your interviewer by cutting her off or appearing to jump to conclusions.
Get unstuck.
Sometimes you'll get stuck. Relax. It doesn't mean you've failed. Keep in mind that the interviewer usually cares more about your ability to cleverly poke the problem from a few different angles than your ability to stumble into the correct answer. When hope seems lost, keep poking.
Draw pictures. Don't waste time trying to think in your head—think on the board. Draw a couple different test inputs. Draw how you would get the desired output by hand. Then think about translating your approach into code.
Solve a simpler version of the problem. Not sure how to find the 4th largest item in the set? Think about how to find the 1st largest item and see if you can adapt that approach.
Write a naive, inefficient solution and optimize it later. Use brute force. Do whatever it takes to get some kind of answer.
Think out loud more. Say what you know. Say what you thought might work and why it won't work. You might realize it actually does work, or a modified version does. Or you might get a hint.
Wait for a hint. Don't stare at your interviewer expectantly, but do take a brief second to "think"—your interviewer might have already decided to give you a hint and is just waiting to avoid interrupting.
Think about the bounds on space and runtime. If you're not sure if you can optimize your solution, think about it out loud. For example:

Get your thoughts down.
It's easy to trip over yourself. Focus on getting your thoughts down first and worry about the details at the end.
Call a helper function and keep moving. If you can't immediately think of how to implement some part of your algorithm, big or small, just skip over it. Write a call to a reasonably-named helper function, say "this will do X" and keep going. If the helper function is trivial, you might even get away with never implementing it.
Don't worry about syntax. Just breeze through it. Revert to English if you have to. Just say you'll get back to it.
Leave yourself plenty of room. You may need to add code or notes in between lines later. Start at the top of the board and leave a blank line between each line.
Save off-by-one checking for the end. Don't worry about whether your for loop should have "<<" or "<=<=." Write a checkmark to remind yourself to check it at the end. Just get the general algorithm down.
Use descriptive variable names. This will take time, but it will prevent you from losing track of what your code is doing. Use names_to_phone_numbers instead of nums. Imply the type in the name. Functions returning booleans should start with "is_*". Vars that hold a list should end with "s." Choose standards that make sense to you and stick with them.
Clean up when you're done.
Walk through your solution by hand, out loud, with an example input. Actually write down what values the variables hold as the program is running—you don't win any brownie points for doing it in your head. This'll help you find bugs and clear up confusion your interviewer might have about what you're doing.
Look for off-by-one errors. Should your for loop use a "<=<=" instead of a "<<"?
Test edge cases. These might include empty sets, single-item sets, or negative numbers. Bonus: mention unit tests!
Don't be boring. Some interviewers won't care about these cleanup steps. If you're unsure, say something like, "Then I'd usually check the code against some edge cases—should we do that next?"
Practice.
In the end, there's no substitute for running practice questions.
Actually write code with pen and paper. Be honest with yourself. It'll probably feel awkward at first. Good. You want to get over that awkwardness now so you're not fumbling when it's time for the real interview.

2) Tricks For Getting Unstuck During a Coding Interview
Getting stuck during a coding interview is rough.
If you weren’t in an interview, you might take a break or ask Google for help. But the clock is ticking, and you don’t have Google.
You just have an empty whiteboard, a smelly marker, and an interviewer who’s looking at you expectantly. And all you can think about is how stuck you are.
You need a lifeline for these moments—like a little box that says “In Case of Emergency, Break Glass.”
Inside that glass box? A list of tricks for getting unstuck. Here’s that list of tricks.
When you’re stuck on getting started
1) Write a sample input on the whiteboard and turn it into the correct output "by hand." Notice the process you use. Look for patterns, and think about how to implement your process in code.
Trying to reverse a string? Write “hello” on the board. Reverse it “by hand”—draw arrows from each character’s current position to its desired position.
Notice the pattern: it looks like we’re swapping pairs of characters, starting from the outside and moving in. Now we’re halfway to an algorithm.
2) Solve a simpler version of the problem. Remove or simplify one of the requirements of the problem. Once you have a solution, see if you can adapt that approach for the original question.
Trying to find the k-largest element in a set? Walk through finding the largest element, then the second largest, then the third largest. Generalizing from there to find the k-largest isn’t so bad.
3) Start with an inefficient solution. Even if it feels stupidly inefficient, it’s often helpful to start with something that’ll return the right answer. From there, you just have to optimize your solution. Explain to your interviewer that this is only your first idea, and that you suspect there are faster solutions.
Suppose you were given two lists of sorted numbers and asked to find the median of both lists combined. It’s messy, but you could simply:

  1. Concatenate the arrays together into a new array.
  2. Sort the new array.
  3. Return the value at the middle index.
Notice that you could’ve also arrived at this algorithm by using trick (2): Solve a simpler version of the problem. “How would I find the median of one sorted list of numbers? Just grab the item at the middle index. Now, can I adapt that approach for getting the median of two sorted lists?”
When you’re stuck on finding optimizations
1) Look for repeat work. If your current solution goes through the same data multiple times, you’re doing unnecessary repeat work. See if you can save time by looking through the data just once.
Say that inside one of your loops, there’s a brute-force operation to find an element in an array. You’re repeatedly looking through items that you don’t have to. Instead, you could convert the array to a lookup table to dramatically improve your runtime.
2) Look for hints in the specifics of the problem. Is the input array sorted? Is the binary tree balanced? Details like this can carry huge hints about the solution. If it didn’t matter, your interviewer wouldn’t have brought it up. It’s a strong sign that the best solution to the problem exploits it.
Suppose you’re asked to find the first occurrence of a number in a sorted array. The fact that the array is sorted is a strong hint—take advantage of that fact by using a binary search.

Sometimes interviewers leave the question deliberately vague because they want you to ask questions to unearth these important tidbits of context. So ask some questions at the beginning of the problem.
3) Throw some data structures at the problem. Can you save time by using the fast lookups of a hash table? Can you express the relationships between data points as a graph? Look at the requirements of the problem and ask yourself if there’s a data structure that has those properties.
4) Establish bounds on space and runtime. Think out loud about the parameters of the problem. Try to get a sense for how fast your algorithm could possibly be:

When All Else Fails
1) Make it clear where you are. State what you know, what you’re trying to do, and highlight the gap between the two. The clearer you are in expressing exactly where you’re stuck, the easier it is for your interviewer to help you.
2) Pay attention to your interviewer. If she asks a question about something you just said, there’s probably a hint buried in there. Don’t worry about losing your train of thought—drop what you’re doing and dig into her question.
Relax. You’re supposed to get stuck.
Interviewers choose hard problems on purpose. They want to see how you poke at a problem you don’t immediately know how to solve.
Seriously. If you don’t get stuck and just breeze through the problem, your interviewer’s evaluation might just say “Didn’t get a good read on candidate’s problem-solving process—maybe she’d already seen this interview question before?”
On the other hand, if you do get stuck, use one of these tricks to get unstuck, and communicate clearly with your interviewer throughout...that’s how you get an evaluation like, “Great problem-solving skills. Hire.”

3) Fixing Impostor Syndrome in Coding Interviews
“It's a fluke that I got this job interview...”
“I studied for weeks, but I’m still not prepared...”
“I’m not actually good at this. They’re going to see right through me...”
If any of these thoughts resonate with you, you're not alone. They are so common they have a name: impostor syndrome.
It’s that feeling like you’re on the verge of being exposed for what you really are—an impostor. A fraud.
Impostor syndrome is like kryptonite to coding interviews. It makes you give up and go silent.
You might stop asking clarifying questions because you’re afraid they’ll sound too basic. Or you might neglect to think out loud at the whiteboard, fearing you’ll say something wrong and sound incompetent.
You know you should speak up, but the fear of looking like an impostor makes that really, really hard.
Here’s the good news: you’re not an impostor. You just feel like an impostor because of some common cognitive biases about learning and knowledge.
Once you understand these cognitive biases—where they come from and how they work—you can slowly fix them. You can quiet your worries about being an impostor and keep those negative thoughts from affecting your interviews.

Everything you could know

Here’s how impostor syndrome works.
Software engineering is a massive field. There’s a huge universe of things you could know. Huge.
In comparison to the vast world of things you could know, the stuff you actually know is just a tiny sliver:
That’s the first problem. It feels like you don’t really know that much, because you only know a tiny sliver of all the stuff there is to know.

The expanding universe

It gets worse: counterintuitively, as you learn more, your sliver of knowledge feels like it's shrinking.
That's because you brush up against more and more things you don’t know yet. Whole disciplines like machine learning, theory of computation, and embedded systems. Things you can't just pick up in an afternoon. Heavy bodies of knowledge that take months to understand.
So the universe of things you could know seems to keep expanding faster and faster—much faster than your tiny sliver of knowledge is growing. It feels like you'll never be able to keep up.

What everyone else knows

Here's another common cognitive bias: we assume that because something is easy for us, it must be easy for everyone else. So when we look at our own skills, we assume they're not unique. But when we look at other people's skills, we notice the skills they have that we don't have.
The result? We think everyone’s knowledge is a superset of our own:
This makes us feel like everyone else is ahead of us. Like we're always a step behind.
But the truth is more like this:
There's a whole area of stuff you know that neither Aysha nor Bruno knows. An area you're probably blind to, because you're so focused on the stuff you don't know.

We’ve all had flashes of realizing this. For me, it was seeing the back end code wizard on my team—the one that always made me feel like an impostor—spend an hour trying to center an image on a webpage.

It's a problem of focus

Focusing on what you don't know causes you to underestimate what you do know. And that's what causes impostor syndrome.
By looking at the vast (and expanding) universe of things you could know, you feel like you hardly know anything.
And by looking at what Aysha and Bruno know that you don't know, you feel like you're a step behind.
And interviews make you really focus on what you don't know. You focus on what could go wrong. The knowledge gaps your interviewers might find. The questions you might not know how to answer.
But remember:
Just because Aysha and Bruno know some things you don't know, doesn't mean you don't also know things Aysha and Bruno don't know.
And more importantly, everyone's body of knowledge is just a teeny-tiny sliver of everything they could learn. We all have gaps in our knowledge. We all have interview questions we won't be able to answer.
You're not a step behind. You just have a lot of stuff you don't know yet. Just like everyone else.

4) The 24 Hours Before Your Interview

Feeling anxious? That’s normal. Your body is telling you you’re about to do something that matters.

The twenty-four hours before your onsite are about finding ways to maximize your performance. Ideally, you wanna be having one of those days, where elegant code flows effortlessly from your fingertips, and bugs dare not speak your name for fear you'll squash them.
You need to get your mind and body in The Zone™ before you interview, and we've got some simple suggestions to help.
5) Why You're Hitting Dead Ends In Whiteboard Interviews

The coding interview is like a maze

Listening vs. holding your train of thought

Finally! After a while of shooting in the dark and frantically fiddling with sample inputs on the whiteboard, you've came up with an algorithm for solving the coding question your interviewer gave you.
Whew. Such a relief to have a clear path forward. To not be flailing anymore.
Now you're cruising, getting ready to code up your solution.
When suddenly, your interviewer throws you a curve ball.
"What if we thought of the problem this way?"
You feel a tension we've all felt during the coding interview:
"Try to listen to what they're saying...but don't lose your train of thought...ugh, I can't do both!"
This is a make-or-break moment in the coding interview. And so many people get it wrong.
Most candidates end up only half understanding what their interviewer is saying. Because they're only half listening. Because they're desperately clinging to their train of thought.
And it's easy to see why. For many of us, completely losing track of what we're doing is one of our biggest coding interview fears. So we devote half of our mental energy to clinging to our train of thought.
To understand why that's so wrong, we need to understand the difference between what we see during the coding interview and what our interviewer sees.

The programming interview maze

Working on a coding interview question is like walking through a giant maze.
You don't know anything about the shape of the maze until you start wandering around it. You might know vaguely where the solution is, but you don't know how to get there.
As you wander through the maze, you might find a promising path (an approach, a way to break down the problem). You might follow that path for a bit.
Suddenly, your interviewer suggests a different path:
But from what you can see so far of the maze, your approach has already gotten you halfway there! Losing your place on your current path would mean a huge step backwards. Or so it seems.
That's why people hold onto their train of thought instead of listening to their interviewer. Because from what they can see, it looks like they're getting somewhere!
But here's the thing: your interviewer knows the whole maze. They've asked this question 100 times.

I'm not exaggerating: if you interview candidates for a year, you can easily end up asking the same question over 100 times.
So if your interviewer is suggesting a certain path, you can bet it leads to an answer.
And your seemingly great path? There's probably a dead end just ahead that you haven't seen yet:
Or it could just be a much longer route to a solution than you think it is. That actually happens pretty often—there's an answer there, but it's more complicated than you think.

Hitting a dead end is okay. Failing to listen is not.

Your interviewer probably won't fault you for going down the wrong path at first. They've seen really smart engineers do the same thing. They understand it's because you only have a partial view of the maze.
They might have let you go down the wrong path for a bit to see if you could keep your thinking organized without help. But now they want to rush you through the part where you discover the dead end and double back. Not because they don't believe you can manage it yourself. But because they want to make sure you have enough time to finish the question.
But here's something they will fault you for: failing to listen to them. Nobody wants to work with an engineer who doesn't listen.
So when you find yourself in that crucial coding interview moment, when you're torn between holding your train of thought and considering the idea your interviewer is suggesting...remember this:
Listening to your interviewer is the most important thing.
Take what they're saying and run with it. Think of the next steps that follow from what they're saying.
Even if it means completely leaving behind the path you were on. Trust the route your interviewer is pointing you down.
Because they can see the whole maze.
6) How To Get The Most Out Of Your Coding Interview Practice Sessions
When you start practicing for coding interviews, there’s a lot to cover. You’ll naturally wanna brush up on technical questions. But how you practice those questions will make a big difference in how well you’re prepared.
Here’re a few tips to make sure you get the most out of your practice sessions.
Track your weak spots
One of the hardest parts of practicing is knowing what to practice. Tracking what you struggle with helps answer that question.
So grab a fresh notebook. After each question, look back and ask yourself, “What did I get wrong about this problem at first?” Take the time to write down one or two things you got stuck on, and what helped you figure them out. Compare these notes to our tips for getting unstuck.
After each full practice session, read through your entire running list. Read it at the beginning of each practice session too. This’ll add a nice layer of rigor to your practice, so you’re really internalizing the lessons you’re learning.
Use an actual whiteboard
Coding on a whiteboard is awkward at first. You have to write out every single character, and you can’t easily insert or delete blocks of code.
Use your practice sessions to iron out that awkwardness. Run a few problems on a piece of paper or, if you can, a real whiteboard. A few helpful tips for handwriting code:

Set a timer
Get a feel for the time pressure of an actual interview. You should be able to finish a problem in 30–45 minutes, including debugging your code at the end.
If you’re just starting out and the timer adds too much stress, put this technique on the shelf. Add it in later as you start to get more comfortable with solving problems.
Think out loud
Like writing code on a whiteboard, this is an acquired skill. It feels awkward at first. But your interviewer will expect you to think out loud during the interview, so you gotta power through that awkwardness.
A good trick to get used to talking out loud: Grab a buddy. Another engineer would be great, but you can also do this with a non-technical friend.
Have your buddy sit in while you talk through a problem. Better yet—try loading up one of our questions on an iPad and giving that to your buddy to use as a script!
Set aside a specific time of day to practice.
Give yourself an hour each day to practice. Commit to practicing around the same time, like after you eat dinner. This helps you form a stickier habit of practicing.
Prefer small, daily doses of practice to doing big cram sessions every once in a while. Distributing your practice sessions helps you learn more with less time and effort in the long run.
part -2 will be upcoming in another post !
submitted by Cyberrockz to u/Cyberrockz [link] [comments]

An introduction to Linux through Windows Subsystem for Linux

I'm working as an Undergraduate Learning Assistant and wrote this guide to help out students who were in the same boat I was in when I first took my university's intro to computer science course. It provides an overview of how to get started using Linux, guides you through setting up Windows Subsystem for Linux to run smoothly on Windows 10, and provides a very basic introduction to Linux. Students seemed to dig it, so I figured it'd help some people in here as well. I've never posted here before, so apologies if I'm unknowingly violating subreddit rules.

Getting Windows Subsystem for Linux running smoothly on Windows 10

GitHub Pages link

Introduction and motivation

tl;dr skip to next section
So you're thinking of installing a Linux distribution, and are unsure where to start. Or you're an unfortunate soul using Windows 10 in CPSC 201. Either way, this guide is for you. In this section I'll give a very basic intro to some of options you've got at your disposal, and explain why I chose Windows Subsystem for Linux among them. All of these have plenty of documentation online so Google if in doubt.

Setting up WSL

So if you've read this far I've convinced you to use WSL. Let's get started with setting it up. The very basics are outlined in Microsoft's guide here, I'll be covering what they talk about and diving into some other stuff.

1. Installing WSL

Press the Windows key (henceforth Winkey) and type in PowerShell. Right-click the icon and select run as administrator. Next, paste in this command:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 
Now you'll want to perform a hard shutdown on your computer. This can become unecessarily complicated because of Window's fast startup feature, but here we go. First try pressing the Winkey, clicking on the power icon, and selecting Shut Down while holding down the shift key. Let go of the shift key and the mouse, and let it shutdown. Great! Now open up Command Prompt and type in
wsl --help 
If you get a large text output, WSL has been successfully enabled on your machine. If nothing happens, your computer failed at performing a hard shutdown, in which case you can try the age-old technique of just holding down your computer's power button until the computer turns itself off. Make sure you don't have any unsaved documents open when you do this.

2. Installing Ubuntu

Great! Now that you've got WSL installed, let's download a Linux distro. Press the Winkey and type in Microsoft Store. Now use the store's search icon and type in Ubuntu. Ubuntu is a Debian-based Linux distribution, and seems to have the best integration with WSL, so that's what we'll be going for. If you want to be quirky, here are some other options. Once you type in Ubuntu three options should pop up: Ubuntu, Ubuntu 20.04 LTS, and Ubuntu 18.04 LTS.
![Windows Store](https://theshepord.github.io/intro-to-WSL/docs/images/winstore.png) Installing plain-old "Ubuntu" will mean the app updates whenever a new major Ubuntu distribution is released. The current version (as of 09/02/2020) is Ubuntu 20.04.1 LTS. The other two are older distributions of Ubuntu. For most use-cases, i.e. unless you're running some software that will break when upgrading, you'll want to pick the regular Ubuntu option. That's what I did.
Once that's done installing, again hit Winkey and open up Ubuntu. A console window should open up, asking you to wait a minute or two for files to de-compress and be stored on your PC. All future launches should take less than a second. It'll then prompt you to create a username and password. I'd recommend sticking to whatever your Windows username and password is so that you don't have to juggle around two different usepassword combinations, but up to you.
Finally, to upgrade all your packages, type in
sudo apt-get update 
And then
sudo apt-get upgrade 
apt-get is the Ubuntu package manager, this is what you'll be using to install additional programs on WSL.

3. Making things nice and crispy: an introduction to UNIX-based filesystems

tl;dr skip to the next section
The two above steps are technically all you need for running WSL on your system. However, you may notice that whenever you open up the Ubuntu app your current folder seems to be completely random. If you type in pwd (for Present Working Directory, 'directory' is synonymous with 'folder') inside Ubuntu and hit enter, you'll likely get some output akin to /home/. Where is this folder? Is it my home folder? Type in ls (for LiSt) to see what files are in this folder. Probably you won't get any output, because surprise surprise this folder is not your Windows home folder and is in fact empty (okay it's actually not empty, which we'll see in a bit. If you type in ls -a, a for All, you'll see other files but notice they have a period in front of them, which tells bash that they should be hidden by default. Anyways).
So where is my Windows home folder? Is WSL completely separate from Windows? Nope! This is Windows Subsystem for Linux after all. Notice how, when you typed pwd earlier, the address you got was /home/. Notice that forward-slash right before home. That forward-slash indicates the root directory (not to be confused with the /root directory), which is the directory at the top of the directory hierarchy and contains all other directories in your system. So if we type ls /, you'll see what are the top-most directories in your system. Okay, great. They have a bunch of seemingly random names. Except, shocker, they aren't random. I've provided a quick run-down in Appendix A.
For now, though, we'll focus on /mnt, which stands for mount. This is where your C drive, which contains all your Windows stuff, is mounted. So if you type ls /mnt/c, you'll begin to notice some familiar folders. Type in ls /mnt/c/Users, and voilà, there's your Windows home folder. Remember this filepath, /mnt/c/Users/. When we open up Ubuntu, we don't want it tossing us in this random /home/ directory, we want our Windows home folder. Let's change that!

4. Changing your default home folder

Type in sudo vim /etc/passwd. You'll likely be prompted for your Ubuntu's password. sudo is a command that gives you root privileges in bash (akin to Windows's right-click then selecting 'Run as administrator'). vim is a command-line text-editing tool, kinda like an even crummier Notepad, which is a pain to use at first but bear with me and we can pull through. /etc/passwd is a plaintext file that does not store passwords, as the name would suggest, but rather stores essential user info used every time you open up WSL.
Anyway, once you've typed that in, your shell should look something like this: ![vim /etc/passwd](https://theshepord.github.io/intro-to-WSL/docs/images/vim-etc-passwd.png)
Using arrow-keys, find the entry that begins with your Ubuntu username. It should be towards the bottom of the file. In my case, the line looks like
theshep:x:1000:1000:,,,:/home/pizzatron3000:/bin/bash 
See that cringy, crummy /home/pizzatron3000? Not only do I regret that username to this day, it's also not where we want our home directory. Let's change that! Press i to initiate vim's -- INSERT -- mode. Use arrow-keys to navigate to that section, and delete /home/ by holding down backspace. Remember that filepath I asked you to remember? /mnt/c/Users/. Type that in. For me, the line now looks like
theshep:x:1000:1000:,,,:/mnt/c/Users/lucas:/bin/bash 
Next, press esc to exit insert mode, then type in the following:
:wq 
The : tells vim you're inputting a command, w means write, and q means quit. If you've screwed up any of the above sections, you can also type in :q! to exit vim without saving the file. Just remember to exit insert mode by pressing esc before inputting commands, else you'll instead be writing to the file.
Great! If you now open up a new terminal and type in pwd, you should be in your Window's home folder! However, things seem to be lacking their usual color...

5. Importing your configuration files into the new home directory

Your home folder contains all your Ubuntu and bash configuration files. However, since we just changed the home folder to your Window's home folder, we've lost these configuration files. Let's bring them back! These configuration files are hidden inside /home/, and they all start with a . in front of the filename. So let's copy them over into your new home directory! Type in the following:
cp -r /home//* ~ 
cp stands for CoPy, -r stands for recursive (i.e. descend into directories), the * is a Kleene Star and means "grab everything that's here", and the ~ is a quick way of writing your home directory's filepath (which would be /mnt/c/Users/) without having to type all that in again. Once you've run this, all your configuration files should now be present in your new home directory. Configuration files like .bashrc, .profile, and .bash_profile essentially provides commands that are run whenever you open a new shell. So now, if you open a new shell, everything should be working normally. Amazing. We're done!

6. Tips & tricks

Here are two handy commands you can add to your .profile file. Run vim ~/.profile, then, type these in at the top of the .profile file, one per line, using the commands we discussed previously (i to enter insert mode, esc to exit insert mode, :wq to save and quit).
alias rm='rm -i' makes it so that the rm command will always ask for confirmation when you're deleting a file. rm, for ReMove, is like a Windows delete except literally permanent and you will lose that data for good, so it's nice to have this extra safeguard. You can type rm -f to bypass. Linux can be super powerful, but with great power comes great responsibility. NEVER NEVER NEVER type in rm -rf /, this is saying 'delete literally everything and don't ask for confirmation', your computer will die. You've been warned. Be careful.
export DISPLAY=:0 if you install XLaunch VcXsrv, this line allows you to open graphical interfaces through Ubuntu. The export sets the environment variable DISPLAY, and the :0 tells Ubuntu that it should use the localhost display.

Appendix A: overview of top-level UNIX directories

tl;dr only mess with /mnt, /home, and maybe maybe /usr. Don't touch anything else.
  • bin: binaries, contains Ubuntu binary (aka executable) files that are used in bash. Here you'll find the binaries that execute commands like ls and pwd. Similar to /usbin, but bin gets loaded earlier in the booting process so it contains the most important commands.
  • boot: contains information for operating system booting. Empty in WSL, because WSL isn't an operating system.
  • dev: devices, contains information for Ubuntu to communicate with I/O devices. One useful file here is /dev/null, which is basically an information black hole that automatically deletes any data you pass it.
  • etc: no idea why it's called etc, but it contains system-wide configuration files
  • home: equivalent to Window's C:/Users folder, contains home folders for the different users. In an Ubuntu system, under /home/ you'd find the Documents folder, Downloads folder, etc.
  • lib: libraries used by the system
  • lib64 64-bit libraries used by the system
  • mnt: mount, where your drives are located
  • opt: third-party applications that don't have any dependencies outside the scope of their own package
  • proc: process information, contains details about your Linux system, kind of like Windows's C:/Windows folder
  • run: directory for programs to store runtime information. Similarly to /bin vs /usbin, run has the same function as /varun, but gets loaded sooner in the boot process.
  • srv: server folder, holds data to be served in protocols like ftp, www, cvs, and others
  • sys: system, used by the Linux kernel to set or obtain information about the host system
  • tmp: temporary, runtime files that are cleared out after every reboot. Kinda like RAM in that way.
  • usr: contains additional UNIX commands, header files for compiling C programs, among other things. Most of everything you install using apt-get ends up here.
  • var: variable, contains variable data such as logs, databases, e-mail etc, but that persist across different boots.

Appendix B: random resources

submitted by HeavenBuilder to learnprogramming [link] [comments]

List of New Supported Games and FAQ.

Hey guys! Here is a list of all the new supported games, you can download the Nucleus Co-Op scripts from the app now, the games listed here that are clickable link you to a guide but all are supported. You can also see all available scripts from the app now by pressing the view all option.
10 Miles to Safety
20XX
100% Orange Juice
200% Mixed Juice!
Abyssal Zone
Acceleration of SUGURI 2
Accel World VS. Sword Art Online Deluxe Edition
A Hat in Time
Air Missions: HIND
Alien Breed Impact
Alien Breed 2: Assault
Alien Breed 3: Descent
Aliens Colonial Marines
Aliens vs Predator
Alien Swarm: Reactive Drop
Among Us
Aragami: Shadow Edition
ARK: Survival Evolved
Ashen (steam version only)
Astroneer
Attack on Titan 2
ATV Drift & Tricks
Barony
Battle Grounds III
Binary Domain
BioShock 2
Bit Dungeon III
Blades of Time
Bladestorm: Nightmare
Blood and Bacon
Bob Was Hungry
Borderlands
Borderlands 2
Borderlands: The Pre-Sequel
Borderlands GOTY Enhanced
Borderlands 3
BrainBread 2
Broomstick League
Brütal Legend
Bulletstorm: Full Clip Edition
Bunch of Heroes
Call of Duty: Black Ops II
CastleMiner Z
Clandestine
Cladun Returns: This is Segoku
Chivalry: Medieval Warfare
Citadel: Forged With Fire
Code of Princess
Conan Exiles (16 june 2020 update added Funcom Live Services and now the game is online only effectively breaking the splitscreen script. You need to downgrade to the previous version.)
Contagion
Contra: Rogue Corps
Counter-Strike: Source
Craftopia
Cube World
Cyberdimension Neptunia: 4 Goddesses Online
Daemon X Machina
Damnation
Dark Souls: Prepare to Die Edition
Day of Defeat: Source
Day of Infamy
Deadfall Adventures
Dead Island
Dead Island: DE
Dead Island Riptide: DE
Dead Rising 2
Dead Rising 2: Off the Record
Dead Rising 3
Dead Rising 4
Deathtrap
Debris
Deep Rock Galactic
Desolate
Dinosaur Hunt
Divinity: Dragon Commander
Divinity: Original Sin Enhanced Edition
Divinity: Original Sin 2
Don't Starve Together
Door Kickers
Double Action: Boogaloo
Dragon Ball Xenoverse
Dragon Ball: Xenoverse 2
Dragon Marked for Death
Dragon Quest Builders 2
Drake Hollow
Dungeon of the Endless
Dungeons 3
Dungeon Siege III
Dying Light
Dystopia
Earth Defense Force 4.1
Earth Defense Force 5
Earth Defense Force: Insect Armageddon
Earth Defense Force: Iron Rain
Earthfall
Enemy Front
E.T. Armies
F1 2012
F1 2014
Fade to Silence
Factorio
Fallout 76
F.E.A.R. 3
Final Exam
Feel The Snow
Fight The Dragon
Fistful of Frags
Forge Quest
Fortified
Front Mission Evolved
Full Mojo Rampage
Garry's Mod
Gas Guzzlers Extreme
Generation Zero
Gensokyo Defenders
GOCCO OF WAR
God Eater Resurrection
God Eater 2 - Rage Burst
God Eater 3
God Mode
Golf It!
Grid 2
Grim Dawn
Ground Branch
GTFO
Guns n Zombies
Half-Life Deathmatch: Source
Half-Life 2: Deathmatch
Half-Minute Hero: The Second
Halo Custom Edition
Halo 2 LAN
Halo 2: Project Cartographer
Halo Online ElDewrito
Halo: The Master Chief Collection
Halo Wars: Definitive Edition
Hammerwatch
Hero Siege
Hoard
Hunted: The Demon’s Forge
Human: Fall Flat
I am Weapon: Revival
Insurgency
Iron Brigade
It came from space, and ate our brains
Kane & Lynch 2: Dog Days
KATANA KAMI: A Way of the Samurai Story
Killing Floor
Killing Floor 2
Killsquad
Kill to Collect
Lead and Gold: Gangs of the Wild West
Left 4 Dead 2
LEGO Worlds
Livelock
Lord of the Rings War in the North
Lost Planet 3
Magicite
McDroid
Mean Greens - Plastic Warfare
Mighty No. 9
Minecraft Java Edition
Monday Night Combat
Mordheim: City of the Damned
Morphies Law
Mothergunship
MudRunner
NanoWars
NASCAR '15 Victory Edition
Necropolis
Need For Speed Most Wanted 2005
Nioh: Complete Edition
Niffelheim
No Man's Sky
No More Room in Hell
Outbreak
Outbreak: TNN
Outland
Outward
Orcs Must Die! 2
ORION: Prelude
OVERKILL's The Walking Dead
Pacify
Paint the Town Red
PAYDAY: The Heist
PAYDAY 2
Pirates, Vikings, and Knights II
PixARK
PixelJunk Nom Nom Galaxy
Portal Knights
Prevent The Fall
Primal Carnage: Extinction
Project CARS 2
Pure
Raft
Rage
Re:Legend
Remnant: From the Ashes
Resident Evil 5
Resident Evil 6
Resident Evil Revelations
Re-Volt (RVGL)
RimWorld
Risk of Rain 2
Roguelands
Ryse: Son of Rome
Sacred 3
Saints Row The Third
Saints Row IV
Saints Row: Gat out of Hell
Sanctum
Sanctum 2
Scourge Outbreak
Secrets of Grindea
Senran Kagura: Shinovi Versus
Senran Kagura: Estival Versus
Senran Kagura: Peach Beach Splash
Serious Sam 2
Seven Days to Die
Sir, You Are Being Hunted
SkyDrift
Sniper Elite 3
Space Engineers
Space Hulk: Deathwing
Spec Ops: The Line
Spintires
Starbound
Stardew Valley
Star Wars: Battlefront 2 (Classic, 2005)
Strange Brigade
Strength of the Sword: ULTIMATE
Styx: Shards of Darkness
Super Mario 64
Super Mario 64 PC Port
Survivalist
Sven Coop
Sword Art Online Re: Hollow Fragment
Sword Art Online: Lost Song
Sword Art Online: Hollow Realization Deluxe Edition
Synergy
SYNTHETIK: Arena
SYNTHETIK: Legion Rising
Takedown: Red Sabre
Team Fortress 2
Teenage Mutant Ninja Turtles: Mutants in Manhattan
Teenage Mutant Ninja Turtles: Out of the Shadows
Terraria
TerraTech
The Blackout Club
The Darkness 2
The Forest
The Haunted: Hells Reach
theHunter: Call of the Wild
The Incredible Adventures of Van Helsing
The Incredible Adventures of Van Helsing II
The Incredible Adventures of Van Helsing III
The Incredible Adventures of Van Helsing Final Cut
The Mean Greens - Plastic Warfare
The Simple Apocalypse
The Survivalists
The Watchers
Tokyo Ghoul:re Call to Exist
Tom Clancy's Rainbow Six: Vegas 2
Tomb Raider
Torchlight II
Toukiden: Kiwami
Toukiden 2
TOXIKK
Unending Dusk
Unepic
Unloved
Unreal Tournament III
Umbrella Corps
Vagante
Warcraft III: The Frozen Throne
Warcraft III: Reign of Chaos
Warhammer 40,000: Space Marine
We Were Here Together
White Noise 2
World in Conflict: Complete Edition
Wreckfest
XCOM: Enemy Within
Zeno Clash II
Zombie Army Trilogy
Zombie Panic! Source

Frequently Asked Questions & Troubleshooting

(Under Construction, last updated: 11/08/20)
Q: What is Nucleus Co-Op?
A: https://www.youtube.com/watch?v=jbituCgu3Bc
Nucleus Co-Op is a free and open source tool for Windows that allows split-screen play on many games that do not initially support it. The app was originally created by Lucas Assis. Zerofox later took over and added a ton of new features and improvements to support a lot more games. Ilyaki later joined in and brought multiple keyboards/mice support and more great features to the table. The app is currently being developed and updated by these devs: Lucas Assis, Zerofox and Ilyaki.
R-mach too for making and supporting the website that hosts the Nucleus Co-Op scripts.
Also the further development of the app wouldn't have been possible without all the amazing contributions and hard work from the SplitScreen Dreams Discord members (which include the devs mentioned above) that made all the new Nucleus Co-Op scripts and continue to make new discoveries and scripts to support even more games, among them: Talos91, PoundlandBacon, dr. old.boi, Pizzo and many more.
Q: How does Nucleus Co-Op work?
A: Essentially Nucleus Co-Op opens multiple instances of the same game (some games require mutex killing for that, among other methods) that will only answer to one specific gamepad (we do this via Nucleus Co-Op custom xinput dlls or xinput plus dlls) and connects those instances via LAN or steamworks online multiplayer emulation (Goldberg Emulator), all while making sure all the windows have focus so they can be playable with gamepads or that the instances are playable even in the background. Nucleus then resizes, removes borders and repositions the games windows so you can have synthetic splitscreen to play locally with your friends.
Q: Which games can be splitscreened using Nucleus Co-Op?
A: There are a lot of supported games, all mentioned in the list above. A ton of games are now supported thanks to the amazing program called Goldberg Emulator, developed by Mr. Goldberg, a big thank you to him. Read the Goldberg FAQ if you want to know more.
Q: Where do I download Nucleus Co-Op?
A: You can download latest version from Github. Download the compiled .rar release, don't download the source code zip if you just want to use the app. Zerofox's mod v0.9.9.9 r4 is the latest version recent scripts are created for, please avoid other versions for now.
Q: How do I use Nucleus Co-Op?
A: Here is a quick video tutorial: https://www.youtube.com/watch?v=hWmvz59i-o0
1.- Download and exctract Nucleus Co-Op (extract using apps like 7-zip or winrar).
2.- Open NucleusCoop.exe.
3.- Click on Download Game Scripts, the script browser will open. Search for a game in the supported games list and download a script. You can also see all available scripts from the app now by pressing the view all option.
4.- Once the script has finished downloading you will get a prompt asking if you would like to add a game now, click yes if you want to add it now, if you select no proceed to step 6.
5.- Next you need to find where your game's executable is located. If you're not sure, try Googling 'where is (game) installed' and just search for the .exe in the place they tell you to look for. For Steam games this is usually something along the lines of 'C:\Program Files\Steam\steamapps\common(game)'. Some games will have their real .exe stashed away in a folder called 'bin' or 'binaries'. Once you choose the right .exe, add the game.
6.- You can also automatically add games, click 'Auto-Search' and select the drive and path you want to add games from.
7.- Once your game is added, select it in the Nucleus UI and drag the gamepad icons to the splitscreen layout, click on the top-left icon on the layout corner to change the type of splitscreen layout. You can also use multiple monitors, if you have multiple monitors connected they will show in the Nucleus UI. If you see Script Author's Notes appear at the bottom of the UI, read them carefully.
8.- Finally press > then Play (top right of the UI) and you are ready to go.
Q: Where should I place the Nucleus Co-Op folder?
A: You can place the folder wherever you like as long as you keep the following in mind:
DO NOT place it inside a folder containing files for a game you wish to play.
Avoid placing it inside a folder that has security settings applied to is, such as program files, program files (x86).
Some scripts require the Nucleus Co-Op folder to be located on the same drive as the game files.
If you are still unsure where to place the folder, the root of the drive your games are installed on is usually a safe option.
Q: How do I play with an uneven amount of players (such as 3 players) without having an empty space?
A: Right click on a section of the splitscreen layout.
Q: Nucleus Co-Op doesn't launch, how do I fix it?
A: Here are a few things you can try:
1.- Try updating your Microsoft.net framework, and install/reinstall Visual C++ 2010-2017.
2.- Make sure your antivirus program is not blocking Nucleus Co-Op or deleting any of its files.
3.- Run Nucleus Co-Op as admin.
4.- Restart your PC, and try again.
Q: Does Nucleus Co-Op have any malware?
A: Absolutely not.
Q: I wish to help out with the project, how can I get in touch?
A: Join the Nucleus Co-Op discord community or contact us here in the subreddit.
Q: When support for X game?
A: Not all games are easy to splitscreen, if you want to suggest a game make a post with the title [Request] Name of the game and provide useful information like if the game supports LAN or dedicated servers, if it is available on Steam or in other services, if it uses external servers for online, if it has gamepad support etc. Also you can contact any of our experienced Nucleus scripters here or in the Nucleus Co-Op discord and ask if a script is possible. The main scripter is the OP of this post for instance. Remember that Scripters are limited by the games they own and can test on, so if you really want support for a game to be added consider donating the game to the scripter in question.
Q: How do I know when a script gets updated?
A: Scripts updates are always announced in the Nucleus Co-Op discord server in the channel scripts updates.
Q: How do I create my own splitscreen script for Nucleus Co-Op?
A: Here is the documentation, open the .js file with notepad to read it. You can also use the other scripts you download from Nucleus as reference, they get downloaded to the Nucleus scripts folder. If you create a working script or if you have any questions about Nucleus scripting you can ask us in the Nucleus Co-Op discord or here in the subreddit, we can help you improve your script so it is fully working for sharing with the community.
Q: Does Nucleus Co-Op work on Linux/Mac?
A: Nucleus Co-Op depends on a lot of Windows functions and APIs, at the moment it only works on Windows 7 and Up. If you are interested in porting Nucleus Co-Op to other operating systems please feel free to contact any of the developers.
Q: Where can I report a bug/issue?
A: Note that Nucleus Co-Op is a tool in development and still in Alpha. Expect bugs, glitches and weird things to happen. Help other people not have these things happen by checking for a solution here and submitting a [BUG REPORT] to the reddit as a new topic or in the comments here, if no-one else has brought it up. Make sure you have read the script notes in the Nucleus UI very carefully first before submitting anything.
A good [BUG REPORT] looks like this:
Thread name: [BUG REPORT] Simon falling off horse
BUG: Simon falls off his horse.
EXPECTED: Simon should not fall off his horse, right?
CAUSE: I'm pretty sure it's because I have my computer plugged into an auto-blow.
STEPS TO REPRODUCE
1.- Open up Simon Stays On His Horse: The Interactive Video Game of the Movie.
2.- Choose Co-Op and join with another player.
3.- Simon falls off his horse!!!
TYPE: Severe! The gameplay can't continue if Simon isn't on his horse! (Alternatively, Minor if the gameplay can continue but it's just annoying)
NUCLEUS OPTIONS: I played with 2 players using the vertical splitscreen (left and right) on one tv and 2 famicom controllers. I'm using the latest version
SYSTEM: I'm on Windows 3.1 with 4MB of RAM, a 2KHz CPU and no graphics card, playing on a projector. She's a monster.
I'd really like this to get fixed please thanks magic man! -Beanboy"
Keep in mind most scripts are made and tested using the latest legit steam versions of a game, so provide information about what version of the game you have.
Also provide a debug log of the NucleusCoop error or crash, enable the debug log in Nucleus UI settings and save, the debug log will be created in Nucleus root folder where the .exe is. You can also ask for support in our discord.
Q: Why is Nucleus Co-Op resizing the game instances incorrectly/the instances look stretched?
A: Try setting your monitor scale to 100% in your monitoTV resolution settings. It is also highly recommended that you add custom resolutions to all your monitors from your AMD/Nvidia/Intel panel (For example if you are using a monitor resolution of 1920x1080 add custom resolutions like 960x540, 1920x540, 960x1080, ect.) that way most games will be able to see and use those custom resolutions and the splitscreen will not look stretched(Example). Note that not all games support custom or ultra widescreen resolutions. Also try disabling the Nucleus status window in Nucleus UI settings and save.
Q: Why is Nucleus Co-Op throwing an error message that it can not find a file when launching a script?
A: A lot of scripts edit the game's .ini or .cfg files to force windowed and to adjust the game's resolution to the window size, so make you sure you run your game at least once and change some graphic settings before running it via Nucleus Co-Op, that way you make sure the proper config files are getting generated first. If you are still getting the error after doing that, select the game in the UI, click on Game Options and select Delete UserProfile Config Path for all players. Also try disabling the Nucleus status window in Nucleus UI settings and save.
Q: Where are my Nucleus Co-Op save files located?
A: Some scripts save to the Nucleus Co-Op enviroment folder located in C:\Users\YourUser\NucleusCoop, you can access each game save file via the Nucleus Co-Op UI too, select a game, click on Game Options and select Open UserProfile Save/Config Path. Other scripts just save in the same file path your regular game saves to.
Q: Why are my in-game frames per second low/better in one instance than in the others when using Nucleus Co-Op?
A: Remember that Nucleus Co-Op opens multiple instances of a game, so depending on the game this can be quite demanding for your PC, to improve FPS and performance try reducing graphics settings like textures and shadows, limit the FPS or unfocus all the game windows so that they get equal priority and the FPS even out, you can do this by Alt-Tabbing to a different window like the Nucleus app window, the game windows will still remain on top, you can also press the windows key+b in your keyboard to unfocus all instances.
Q: My Playstation/generic PC controller isn't working/isn't being detected by Nucleus Co-Op, how do I fix it?
A: Most Nucleus Co-Op Scripts only detect Xinput gamepads. Controllers that work best are Xbox 360 game controllers for minimum hassle. There are a few scripts that also support Direct Input gamepads but Xinput gamepads are generally a lot easier to restrict to a specific game instance than Dinput gamepads.
If you are using PS4 gamepads try the app DS4windows, look in the settings for an option called "hide ds4 controller" - make sure it's ticked. To ensure it's definitely running in exclusive mode make sure ds4windows is set to load on windows startup, then turn your controllers on while windows is loading. Download the latest version here - https://ryochan7.github.io/ds4windows-site/
Read more about how to use exclusive mode here: https://github.com/Ryochan7/DS4Windows/wiki/Exclusive-Mode-(Hide-DS4-Controller-config-option)-tips-and-issues
If you are using generic dinput gamepads the app XOutput is also useful to emulate xinput gamepads.
The app X360CE version 4 that creates virtual Xbox 360 Controllers inside your Windows operating system is also very useful to emulate xinput gamepads system wide.
Remember that some games detect both dinput and xinput gamepads so even if you are emulating a xinput gamepad the input could still not be restricted correctly because the game is now responding to both the emulated xinput gamepad and to the native direct input of your gamepad, that is why some apps like DS4windows have an "exclusive mode".
Also do not place any x360ce xinput dlls inside the Nucleus Co-Op files as this might interfere with Nucleus custom xinput dlls.
Xbox One gamepads have some issues with background input in games that only support direct input gamepads and with Unity games that use Unity's default input for gamepad support.
If you are using steam controllers try this: https://www.youtube.com/watch?v=wy4F2eqTXQ4
Q: Why is my keyboard not showing in the Nucleus Co-Op UI?
A: If a script is only showing gamepads and not keyboard icons that means the script only supports gamepads and doesn't support keyboards and mice in splitscreen yet.
Q: There are many keyboards and mice icons in the UI, how do I know which ones to use?
A: If you press a key in the keyboard you will use or move the mouse their corresponding icons in the Nucleus Co-Op UI will light up yellow. The app can detect keyboard macros that is why sometimes you will get multiple keyboard icons.
Q: Can you play splitscreen+LAN in different PCs?
A: Yes, if you run the game via Nucleus Co-Op in different PCs you can connect all instances you launch via LAN, for example you can have 2 players playing vertical splitscreen in one PC via Nucleus and connect to 2 others playing Nucleus splitscreen in a different PC via LAN. If the script uses steamworks multiplayer emulation you'll have to change the instances steam ids in the other PCs you'll connect to, otherwise the instances launched by Nucleus will use the same steam ids and won't be able to connect to each other. For that you can open the game script .js file in Nucleus scripts folder in the other PCs and add for example Game.PlayerSteamIDs = [ "76561198134585131","76561198131394153","76561198011792067","76561198043762785" ]; that will change the default ids of the first four instances you open in one PC via Nucleus Co-Op.
Q: This project is Amazing where can I donate?
A: We don't have an unified donation platform yet but you can support the devs individually here: Zerofox, Ilyaki, Lucas Assis.
You can also donate to our main scripters that make the games scripts for Nucleus: Talos91/blackman9
submitted by blackman9 to nucleuscoop [link] [comments]

Part 2: Tools & Info for Sysadmins - Mega List of Tips, Tools, Books, Blogs & More

(continued from part 1)
Unlocker is a tool to help delete those irritating locked files that give you an error message like "cannot delete file" or "access is denied." It helps with killing processes, unloading DLLs, deleting index.dat files, as well as unlocking, deleting, renaming, and moving locked files—typically without requiring a reboot.
IIS Crypto's newest version adds advanced settings; registry backup; new, simpler templates; support for Windows Server 2019 and more. This tool lets you enable or disable protocols, ciphers, hashes and key exchange algorithms on Windows and reorder SSL/TLS cipher suites from IIS, change advanced settings, implement best practices with a single click, create custom templates and test your website. Available in both command line and GUI versions.
RocketDock is an application launcher with a clean interface that lets you drag/drop shortcuts for easy access and minimize windows to the dock. Features running application indicators, multi-monitor support, alpha-blended PNG and ICO icons, auto-hide and popup on mouse over, positioning and layering options. Fully customizable, portable, and compatible with MobyDock, ObjectDock, RK Launcher and Y'z Dock skins. Works even on slower computers and is Unicode compliant. Suggested by lieutenantcigarette: "If you like the dock on MacOS but prefer to use Windows, RocketDock has you covered. A superb and highly customisable dock that you can add your favourites to for easy and elegant access."
Baby FTP Server offers only the basics, but with the power to serve as a foundation for a more-complex server. Features include multi-threading, a real-time server log, support for PASV and non-PASV mode, ability to set permissions for download/upload/rename/delete/create directory. Only allows anonymous connections. Our thanks to FatherPrax for suggesting this one.
Strace is a Linux diagnostic, debugging and instructional userspace tool with a traditional command-line interface. Uses the ptrace kernel feature to monitor and tamper with interactions between processes and the kernel, including system calls, signal deliveries and changes of process state.
exa is a small, fast replacement for ls with more features and better defaults. It uses colors to distinguish file types and metadata, and it recognizes symlinks, extended attributes and Git. All in one single binary. phils_lab describes it as "'ls' on steroids, written in Rust."
rsync is a faster file transfer program for Unix to bring remote files into sync. It sends just the differences in the files across the link, without requiring both sets of files to be present at one of the ends. Suggested by zorinlynx, who adds that "rsync is GODLY for moving data around efficiently. And if an rsync is interrupted, just run it again."
Matter Wiki is a simple WYSIWYG wiki that can help teams store and collaborate. Every article gets filed under a topic, transparently, so you can tell who made what changes to which document and when. Thanks to bciar-iwdc for the recommendation.
LockHunter is a file unlocking tool that enables you to delete files that are being blocked for unknown reasons. Can be useful for fighting malware and other programs that are causing trouble. Deletes files into the recycle bin so you can restore them if necessary. Chucky2401 finds it preferable to Unlocker, "since I am on Windows 7. There are no new updates since July 2017, but the last beta was in June of this year."
aria2 is a lightweight multi-source command-line download utility that supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. It can be manipulated via built-in JSON-RPC and XML-RPC interfaces. Recommended by jftuga, who appreciates it as a "cross-platform command line downloader (similar to wget or curl), but with the -x option can run a segmented download of a single file to increase throughput."
Free Services
Temp-Mail allows you to receive email at a temporary address that self-destructs after a certain period of time. Outwit all the forums, Wi-Fi owners, websites and blogs that insist you register to use them. Petti-The-Yeti says, "I don't give any company my direct email anymore. If I want to trial something but they ask for an email signup, I just grab a temporary email from here, sign up with it, and wait for the trial link or license info to come through. Then, you just download the file and close the website."
Duck DNS will point a DNS (sub domains of duckdns.org) to an IP of your choice. DDNS is a handy way for you to refer to a serverouter with an easily rememberable name for situations when the server's ip address will likely change. Suggested by xgnarf, who finds it "so much better for the free tier of noip—no 30-day nag to keep your host up."
Joe Sandbox detects and analyzes potential malicious files and URLs on Windows, Android, Mac OS, Linux and iOS for suspicious activities. It performs deep malware analysis and generates comprehensive and detailed reports. The Community Edition of Joe Sandbox Cloud allows you to run a maximum of 6 analyses per month, 3 per day on Windows, Linux and Android with limited analysis output. This one is from dangibbons94, who wanted to "share this cool service ... for malware analysis. I usually use Virus total for URL scanning, but this goes a lot more in depth. I just used basic analysis, which is free and enough for my needs."
Hybrid Analysis is a malware analysis service that detects and analyzes unknown threats for the community. This one was suggested by compupheonix, who adds that it "gets you super detailed reports... it's about the most fleshed out and detailed one I can find."
JustBeamIt is a file-transfer service that allows you to send files of any size via a peer-to-peer streaming model. Simply drag and drop your file and specify the recipient's email address. They will then receive a link that will trigger the download directly from your computer, so the file does not have to be uploaded to the service itself. The link is good for one download and expires after 10 minutes. Thanks to cooljacob204sfw for the recommendation!
ShieldsUP is a quick but powerful internet security checkup and information service. It was created by security researcher Steve Gibson to scan ports and let you know which ones have been opened through your firewalls or NAT routers.
Firefox Send is an encrypted file transfer service that allows you to share files up to 2.5GB from any browser or an Android app. Uses end-to-end encryption to keep data secure and offers security controls you can set. You can determine when your file link expires, the number of downloads, and whether to add a password. Your recipient receives a link to download the file, and they don’t need a Firefox account. This one comes from DePingus, who appreciates the focus on privacy. "They have E2E, expiring links, and a clear privacy policy."
Free DNS is a service where programmers share domain names with one another at no cost. Offers free hosting as well as dynamic DNS, static DNS, subdomain and domain hosting. They can host your domain's DNS as well as allowing you to register hostnames from domains they're hosting already. If you don't have a domain, you can sign up for a free account and create up to 5 subdomains off the domains others have contributed and point these hosts anywhere on the Internet. Thanks to 0x000000000000004C (yes, that's a username) for the suggestion!
ANY.RUN is an interactive malware analysis service for dynamic and static research of the majority of threats in any environment. It can provide a convenient in-depth analysis of new, unidentified malicious objects and help with the investigation of incidents. ImAshtonTurner appreciates it as "a great sandbox tool for viewing malware, etc."
Plik is a scalable, temporary file upload system similar to wetransfer that is written in golang. Thanks go to I_eat_Narwhals for this one!
Free My IP offers free, dynamic DNS. This service comes with no login, no ads, no newsletters, no links to click and no hassle. Kindly suggested by Jack of All Trades.
Mailinator provides free, temporary email inboxes on a receive-only, attachment-free system that requires no sign-up. All @mailinator.com addresses are public, readable and discoverable by anyone at any time—but are automatically deleted after a few hours. Can be a nice option for times when you to give out an address that won't be accessible longterm. Recommended by nachomountain, who's been using it "for years."
Magic Wormhole is a service for sending files directly with no intermediate upload, no web interface and no login. When both parties are online you with the minimal software installed, the wormhole is invoked via command line identifying the file you want to send. The server then provides a speakable, one-time-use password that you give the recipient. When they enter that password in their wormhole console, key exchange occurs and the download begins directly between your computers. rjohnson99 explains, "Magic Wormhole is sort of like JustBeamIt but is open-source and is built on Python. I use it a lot on Linux servers."
EveryCloud's Free Phish is our own, new Phishing Simulator. Once you've filled in the form and logged in, you can choose from lots of email templates (many of which we've coped from what we see in our Email Security business) and landing pages. Run a one-off free phish, then see who clicked or submitted data so you can understand where your organization is vulnerable and act accordingly.
Hardening Guides
CIS Hardening Guides contain the system security benchmarks developed by a global community of cybersecurity experts. Over 140 configuration guidelines are provided to help safeguard systems against threats. Recommended by cyanghost109 "to get a start on looking at hardening your own systems."
Podcasts
Daily Tech News is Tom Merrit's show covering the latest tech issues with some of the top experts in the field. With the focus on daily tech news and analysis, it's a great way to stay current. Thanks to EmoPolarbear for drawing it to our attention.
This Week in Enterprise Tech is a podcast that features IT experts explaining the complicated details of cutting-edge enterprise technology. Join host Lou Maresca on this informative exploration of enterprise solutions, with new episodes recorded every Friday afternoon.
Security Weekly is a podcast where a "bunch of security nerds" get together and talk shop. Topics are greatly varied, and the atmosphere is relaxed and conversational. The show typically tops out at 2 hours, which is perfect for those with a long commute. If you’re fascinated by discussion of deep technical and security-related topics, this may be a nice addition to your podcast repertoire.
Grumpy Old Geeks—What Went Wrong on the Internet and Who's To Blame is a podcast about the internet, technology and geek culture—among other things. The hosts bring their grumpy brand of humor to the "state of the world as they see it" in these roughly hour-long weekly episodes. Recommended by mkaxsnyder, who enjoys it because, "They are a good team that talk about recent and relevant topics from an IT perspective."
The Social-Engineer Podcast is a monthly discussion among the hosts—a group of security experts from SEORG—and a diverse assortment of guests. Topics focus around human behavior and how it affects information security, with new episodes released on the second Monday of every month. Thanks to MrAshRhodes for the suggestion.
The CyberWire podcasts discuss what's happening in cyberspace, providing news and commentary from industry experts. This cyber security-focused news service delivers concise, accessible, and relevant content without the gossip, sensationalism, and the marketing buzz that often distract from the stories that really matter. Appreciation to supermicromainboard for the suggestion.
Malicious Life is a podcast that tells the fascinating—and often unknown—stories of the wildest hacks you can ever imagine. Host Ran Levi, a cybersecurity expert and author, talks with the people who were actually involved to reveal the history of each event in depth. Our appreciation goes to peraphon for the recommendation.
The Broadcast Storm is a podcast for Cisco networking professionals. BluePieceOfPaper suggests it "for people studying for their CCNA/NP. Kevin Wallace is a CCIE Collaboration so he knows his *ishk. Good format for learning too. Most podcasts are about 8-15 mins long and its 'usually' an exam topic. It will be something like "HSPR" but instead of just explaining it super boring like Ben Stein reading a powerpoint, he usually goes into a story about how (insert time in his career) HSPR would have been super useful..."
Software Engineering Radio is a podcast for developers who are looking for an educational resource with original content that isn't recycled from other venues. Consists of conversations on relevant topics with experts from the software engineering world, with new episodes released three to four times per month. a9JDvXLWHumjaC tells us this is "a solid podcast for devs."
Books
System Center 2012 Configuration Manager is a comprehensive technical guide designed to help you optimize Microsoft's Configuration Manager 2012 according to your requirements and then to deploy and use it successfully. This methodical, step-by-step reference covers: the intentions behind the product and its role in the broader System Center product suite; planning, design, and implementation; and details on each of the most-important feature sets. Learn how to leverage the user-centric capabilities to provide anytime/anywhere services & software, while strengthening control and improving compliance.
Network Warrior: Everything You Need to Know That Wasn’t on the CCNA Exam is a practical guide to network infrastructure. Provides an in-depth view of routers and routing, switching (with Cisco Catalyst and Nexus switches as examples), SOHO VoIP and SOHO wireless access point design and configuration, introduction to IPv6 with configuration examples, telecom technologies in the data-networking world (including T1, DS3, frame relay, and MPLS), security, firewall theory and configuration, ACL and authentication, Quality of Service (QoS), with an emphasis on low-latency queuing (LLQ), IP address allocation, Network Time Protocol (NTP) and device failures.
Beginning the Linux Command Line is your ally in mastering Linux from the keyboard. It is intended for system administrators, software developers, and enthusiastic users who want a guide that will be useful for most distributions—i.e., all items have been checked against Ubuntu, Red Hat and SUSE. Addresses administering users and security and deploying firewalls. Updated to the latest versions of Linux to cover files and directories, including the Btrfs file system and its management and systemd boot procedure and firewall management with firewalld.
Modern Operating Systems, 4th Ed. is written for students taking intro courses on Operating Systems and for those who want an OS reference guide for work. The author, an OS researcher, includes both the latest materials on relevant operating systems as well as current research. The previous edition of Modern Operating Systems received the 2010 McGuffey Longevity Award that recognizes textbooks for excellence over time.
Time Management for System Administrators is a guide for organizing your approach to this challenging role in a way that improves your results. Bestselling author Thomas Limoncelli offers a collection of tips and techniques for navigating the competing goals and concurrent responsibilities that go along with working on large projects while also taking care of individual user's needs. The book focuses on strategies to help with daily tasks that will also allow you to handle the critical situations that inevitably require your attention. You'll learn how to manage interruptions, eliminate time wasters, keep an effective calendar, develop routines and prioritize, stay focused on the task at hand and document/automate to speed processes.
The Practice of System and Network Administration, 3rd Edition introduces beginners to advanced frameworks while serving as a guide to best practices in system administration that is helpful for even the most advanced experts. Organized into four major sections that build from the foundational elements of system administration through improved techniques for upgrades and change management to exploring assorted management topics. Covers the basics and then moves onto the advanced things that can be built on top of those basics to wield real power and execute difficult projects.
Learn Windows PowerShell in a Month of Lunches, Third Edition is designed to teach you PowerShell in a month's worth of 1-hour lessons. This updated edition covers PowerShell features that run on Windows 7, Windows Server 2008 R2 and later, PowerShell v3 and later, and it includes v5 features like PowerShellGet. For PowerShell v3 and up, Windows 7 and Windows Server 2008 R2 and later.
Troubleshooting with the Windows Sysinternals Tools is a guide to the powerful Sysinternals tools for diagnosing and troubleshooting issues. Sysinternals creator Mark Russinovich and Windows expert Aaron Margosis provide a deep understanding of Windows core concepts that aren’t well-documented elsewhere along with details on how to use Sysinternals tools to optimize any Windows system’s reliability, efficiency, performance and security. Includes an explanation of Sysinternals capabilities, details on each major tool, and examples of how the tools can be used to solve real-world cases involving error messages, hangs, sluggishness, malware infections and more.
DNS and BIND, 5th Ed. explains how to work with the Internet's distributed host information database—which is responsible for translating names into addresses, routing mail to its proper destination, and listing phone numbers according to the ENUM standard. Covers BIND 9.3.2 & 8.4.7, the what/how/why of DNS, name servers, MX records, subdividing domains (parenting), DNSSEC, TSIG, troubleshooting and more. PEPCK tells us this is "generally considered the DNS reference book (aside from the RFCs of course!)"
Windows PowerShell in Action, 3rd Ed. is a comprehensive guide to PowerShell. Written by language designer Bruce Payette and MVP Richard Siddaway, this volume gives a great introduction to Powershell, including everyday use cases and detailed examples for more-advanced topics like performance and module architecture. Covers workflows and classes, writing modules and scripts, desired state configuration and programming APIs/pipelines.This edition has been updated for PowerShell v6.
Zero Trust Networks: Building Secure Systems in Untrusted Networks explains the principles behind zero trust architecture, along with what's needed to implement it. Covers the evolution of perimeter-based defenses and how they evolved into the current broken model, case studies of zero trust in production networks on both the client and server side, example configurations for open-source tools that are useful for building a zero trust network and how to migrate from a perimeter-based network to a zero trust network in production. Kindly recommended by jaginfosec.
Tips
Here are a couple handy Windows shortcuts:
Here's a shortcut for a 4-pane explorer in Windows without installing 3rd-party software:
(Keep the win key down for the arrows, and no pauses.) Appreciation goes to ZAFJB for this one.
Our recent tip for a shortcut to get a 4-pane explorer in Windows, triggered this suggestion from SevaraB: "You can do that for an even larger grid of Windows by right-clicking the clock in the taskbar, and clicking 'Show windows side by side' to arrange them neatly. Did this for 4 rows of 6 windows when I had to have a quick 'n' dirty "video wall" of windows monitoring servers at our branches." ZAFJB adds that it actually works when you right-click "anywhere on the taskbar, except application icons or start button."
This tip comes courtesy of shipsass: "When I need to use Windows Explorer but I don't want to take my hands off the keyboard, I press Windows-E to launch Explorer and then Ctrl-L to jump to the address line and type my path. The Ctrl-L trick also works with any web browser, and it's an efficient way of talking less-technical people through instructions when 'browse to [location]' stumps them."
Clear browser history/cookies by pressing CTRL-SHIFT-DELETE on most major browsers. Thanks go to synapticpanda, who adds that this "saves me so much time when troubleshooting web apps where I am playing with the cache and such."
To rename a file with F2, while still editing the name of that file: Hit TAB to tab into the renaming of the next file. Thanks to abeeftaco for this one!
Alt-D is a reliable alternative to Ctrl-L for jumping to the address line in a browser. Thanks for this one go to fencepost_ajm, who explains: "Ctrl-L comes from the browser side as a shortcut for Location, Alt-D from the Windows Explorer side for Directory."
Browser shortcut: When typing a URL that ends with dot com, Ctrl + Enter will place the ".com" and take you to the page. Thanks to wpierre for this one!
This tip comes from anynonus, as something that daily that saves a few clicks: "Running a program with ctrl + shift + enter from start menu will start it as administrator (alt + y will select YES to run as admin) ... my user account is local admin [so] I don't feel like that is unsafe"
Building on our PowerShell resources, we received the following suggestion from halbaradkenafin: aka.ms/pskoans is "a way to learn PowerShell using PowerShell (and Pester). It's really cool and a bunch of folks have high praise for it (including a few teams within MSFT)."
Keyboard shortcut: If you already have an application open, hold ctrl + shift and middle click on the application in your task bar to open another instance as admin. Thanks go to Polymira for this one.
Remote Server Tip: "Critical advice. When testing out network configuration changes, prior to restarting the networking service or rebooting, always create a cron job that will restore your original network configuration and then reboot/restart networking on the machine after 5 minutes. If your config worked, you have enough time to remove it. If it didn't, it will fix itself. This is a beautifully simple solution that I learned from my old mentor at my very first job. I've held on to it for a long time." Thanks go to FrigidNox for the tip!
Websites
Deployment Research is the website of Johan Arwidmark, MS MVP in System Center Cloud and Datacenter Management. It is dedicated to sharing information and guidance around System Center, OS deployment, migration and more. The author shares tips and tricks to help improve the quality of IT Pros’ daily work.
Next of Windows is a website on (mostly) Microsoft-related technology. It's the place where Kent Chen—a computer veteran with many years of field experience—and Jonathan Hu—a web/mobile app developer and self-described "cool geek"—share what they know, what they learn and what they find in the hope of helping others learn and benefit.
High Scalability brings together all the relevant information about building scalable websites in one place. Because building a website with confidence requires a body of knowledge that can be slow to develop, the site focuses on moving visitors along the learning curve at a faster pace.
Information Technology Research Library is a great resource for IT-related research, white papers, reports, case studies, magazines, and eBooks. This library is provided at no charge by TradePub.com. GullibleDetective tells us it offers "free PDF files from a WIIIIIIDE variety of topics, not even just IT. Only caveat: as its a vendor-supported publishing company, you will have to give them a bit of information such as name, email address and possibly a company name. You undoubtedly have the ability to create fake information on this, mind you. The articles range from Excel templates, learning python, powershell, nosql etc. to converged architecture."
SS64 is a web-based reference guide for syntax and examples of the most-common database and OS computing commands. Recommended by Petti-The-Yeti, who adds, "I use this site all the time to look up commands and find examples while I'm building CMD and PS1 scripts."
Phishing and Malware Reporting. This website helps you put a stop to scams by getting fraudulent pages blocked. Easily report phishing webpages so they can be added to blacklists in as little as 15 minutes of your report. "Player024 tells us, "I highly recommend anyone in the industry to bookmark this page...With an average of about 10 minutes of work, I'm usually able to take down the phishing pages we receive thanks to the links posted on that website."
A Slack Channel
Windows Admin Slack is a great drive-by resource for the Windows sysadmin. This team has 33 public channels in total that cover different areas of helpful content on Windows administration.
Blogs
KC's Blog is the place where Microsoft MVP and web developer Kent Chen shares his IT insights and discoveries. The rather large library of posts offer helpful hints, how-tos, resources and news of interest to those in the Windows world.
The Windows Server Daily is the ever-current blog of technologist Katherine Moss, VP of open source & community engagement for StormlightTech. Offers brief daily posts on topics related to Windows server, Windows 10 and Administration.
An Infosec Slideshow
This security training slideshow was created for use during a quarterly infosec class. The content is offered generously by shalafi71, who adds, "Take this as a skeleton and flesh it out on your own. Take an hour or two and research the things I talk about. Tailor this to your own environment and users. Make it relevant to your people. Include corporate stories, include your audience, exclude yourself. This ain't about how smart you are at infosec, and I can't stress this enough, talk about how people can defend themselves. Give them things to look for and action they can take. No one gives a shit about your firewall rules."
Tech Tutorials
Tutorialspoint Library. This large collection of tech tutorials is a great resource for online learning. You'll find nearly 150 high-quality tutorials covering a wide array of languages and topics—from fundamentals to cutting-edge technologies. For example, this Powershell tutorial is designed for those with practical experience handling Windows-based Servers who want to learn how to install and use Windows Server 2012.
The Python Tutorial is a nice introduction to many of Python’s best features, enabling you to read and write Python modules and programs. It offers an understanding of the language's style and prepares you to learn more about the various Python library modules described in 'The Python Standard Library.' Kindly suggested by sharjeelsayed.
SysAdmin Humor
Day in the Life of a SysAdmin Episode 5: Lunch Break is an amusing look at a SysAdmin's attempt to take a brief lunch break. We imagine many of you can relate!
Have a fantastic week and as usual, let me know any comments or suggestions.
u/crispyducks
submitted by crispyducks to sysadmin [link] [comments]

Analysis on Suicidal Tendencies & the Effects of Said Concept on Quantum Immortality.

edit: TL;DR- video game characters don’t see in 3 dimensions despite looking at a “3 dimensional space” because they are 2dimensional beings & we are trying to imagine them as conceptive as is (3rd dimensional beings that created their world in 2d code) think binary. Now go:
Here’s why I believe we are not in a simulation, or in rebuttal if we are we could or rather should never know:
I was explained how Mario from the video game title Super Mario could be a “real person” in “his own reality” & that all of mushroom kingdom could actually exist somewhere in the multiverse & then the YouTuber continued into his minimum 10 minute ad reinforced video barely just scratching the surface of that concept as I saw it & it bothered me.
thankfully it also gave me a slight bit of finality as it helped me ask myself the strange question: well what do they (the rendered pixels we see as a character model) then “see” & why would it be any different as the graphics or hardware improves if it’s the “same 2D code” that runs the games themselves in whatever system your playing from Atari to a Ps7.
I simplified the concept more because speaking theoretically:
I’m a 3rd dimensional being so I should be able to completely understand, & possibly alter or affect 2nd dimensional space in ways that would seem “unnatural” or “against the laws of physics” to 2D beings.
With that in mind I started to visualize & draw some parallels & this is where I’d very openly love scrutiny, debate & opinions/views with experiences past mine!
So I saw Mario as being the letter M on this 2d side scroller I’m about to very artistically draw for you all.
....M.,,,...€.,,,,,,[¥]...,,,€,.....,€... !$!
some of you may see what I drew if not let me explain.
imagine that is a line of code in the first Super Mario, something I hope were all familiar with cause that’s the analogy I’m going to stick with for simplicity’s sake.
M represents our character model, the various monetary symbols represent some form of reward in said universe.
The game was very simple itself having no other option than going from left to right so high experience points & speed are really the two feats to be proud of, but each also requires a different action or inaction to be preformed to gain that experience or access to that area quicker as they are all different codes that M must cross in a specific order or fashion to be able to enter or receive.
so perhaps the euro (£) is a koopa that requires an Up-B & that then makes the [¥] a piranha plant, but it is blocked so you cannot gain that experience or money without doing a harder task ie. patience in this instance, you cannot kill one without a special tool. Reaching the exclamation point is finishing a large task or that level of your life & gives you that euphoric feeling & fulfillment.
I find it easier to visualize that in our 3rd dimensional lives as say a job interview.
You can spend your time getting ready, stop at every comma to jump & hit the pixelated block above that we see to & get coins, running full speed across every period to reduce time, having the tool to defeat the piranha easily so an accident doesn’t kill you (literally or metaphorically or just like you get the flu before the interview, remember our world is “deeper” than a 2 dimensional world) & in the end we all get judged either internally by ourselves or externally by others on our “progress” seeking to continue that internal “fulfillment”
However here’s when simple is complex yet still simple.
That task isn’t forced upon the player & as said before if the focus is on speed for a speed run record he will most likely not waste time doing menial XP, this is in part because he has played the game COUNTLESS times before to master it.
Anyone who’s talked or watched a professional speed runner knows what I mean when I say a speed runner knows the exacts of EVERYthing in the code, not as code, so not as the £, €, or [¥], but as green turtle koopas to press jump over, or a piranha plant to skip.
So they don’t find as much or any pleasure in simply just killing the piranha like they did the very first time they found out it was possible.
to counter the boredom a beaten simple game presents they invent new rules or ways to play the game that increase difficulty adding CHALLENGE or more pleasure/fulfillment upon completion
as I said a two dimensional world is eventually too easy & “flat” for 3rd dimensional beings so we would tire of it because we could see how to achieve what we want far faster than either usually possible or intended by the game.
This usually implies a glitch or hack of some sort to change the rules or take advantage of the rules we see as “simple” in our 3rd dimension because we see their world in 3 dimensional space, not as the commas & periods M is looking at. This allows us to take advantage of say aspects of the game we can easily see to skip harder parts or get around quicker, to us we see warp pipes, but what if we made that connection a little deeper.
There’s a million invisible walls in games, but one always tricked me.
Wind Waker has a very stupid purple force field that exists for really no reason the second trip to hyrule other than to block you from reaching the end of the game early. However a glitch was found that allowed you to surpass that wall with a series of random button mashes that do a certain amount of moves that push the character model through past where we saw that “thin wall of code” that damaged the player model each time you touched it as a safeguard to prevent tampering.
& this is what blew my mind. I figured the game would crash, it would be emptier than it was late game after he tricked the game & got through, or it wouldn’t let him enter the final dungeon. I was wrong on all fronts.
It revolutionized the games speed run community & brought new life people & interest into the old game again as he walked straight into Gannon’s castle & the games code rendered the final dungeon despite him lacking many of the games “essential” items and allowed him to complete the game far quicker than ever before giving himself in our 3 dimensional world a large amount of pleasure & fulfillment.
Now imagine taking a step back conceptually & being a 4 dimensional being. It’s impossible I know, but we can theorize in 3rd dimensional terms what it could be like in the same way Mario (assuming he’s a conscious being lol) could theorize whatever it is to be three dimensional in two dimensional space.
ie. what it would be like for Mario to see the game the way we do & exist in 3D space with bright colors & happy songs instead of commas and periods & code
but regardless this concept would enforce the idea that he “himself” feels personal pleasure derived from what we would see in the actually computer code as passing levels, we can’t comprehend what that “feels” like in 2 dimensional space but we can theorize & draw parallels to concepts & feelings in 3 dimensional space such as passing a level = graduating a grade in a school killing a boss = winning an argument with your archenemies, but eventually to us it would be too boring to replay the same levels over & over again & that’s why we branch out find new ways to change & move around in our “3rd dimensional coded world becoming doctors to work miracles combining “up-bs & down a-s in mixing chemicals to create what we know as medicines in which the only way to find those pleasures again is to simply restart fresh as just as the 2 dimensional world is limited, by definition our 3 dimensional world has to be limited in some form, that doesn’t necessary mean physically limited.
my final parallel to draw before signing off for work is the concept of imagining what it’s like to be a 4th dimensional being in 3rd dimensional terms.
“Hey my human is depressed in my game of ‘Human Simulator 2020’ any tips?” -little 4th dimensional boy on a 4th dimensional video game forum.”
“Did you try resetting the hard drive? If you don’t want to lose all your data I have a few file extensions that will speed up your computer quickly & get him going. Sends file .adderall.exe” just code in someone to sell it to him or if he has high enough luck the in game engine will allow you to just drop it in the street in a half used pill bottle. It’s my favorite hack”
Now imagine if we as humans could that the same way we could repeatedly input the cheat code “motherlode” in the system for money to get whatever we want on The Sim, the same way we can enter the sims code itself to analyze & find different ways to cheat the system to get what we want faster because we understand how the game is made up & with less effort & with less effort put in less pleasure is derived from it, 3rd dimensional law of thermodynamics: law of conservation of matter, is assuming we are in a video game even our feelings must be a type of “code” therefore by definition, matter.
by our laws of physics currently matter cannot he created or destroyed only transferred. Maybe that’s the limits of our universe as vast as it is to us, the resources are finite in some way.
Regardless I take myself back to combing all 3 dimensions referred to.
Imagine a 3rd dimensional being entering the 2nd dimensional space of the Sims to live a photorealistic life in a future vr console (still ran by codes remember) but having that knowledge that the fourth dimension being has over us in the third dimension. Aka you are God, you’re simulation would never have to end as you could alter it as you see fit with as endless of opportunity as our 3 dimensional world has just then, limited by the resources allowed in that specific CPU or system running that “reality”
I can’t once remember a mansion I built on the sims that lasted for more than an hour without either me getting bored & turning the game off for months, or me just killing the residents cause that’s all else I could do that was “interesting & new” that would derive me pleasure from playing it & then turning it off for months until it was “new & different” to my daily life. Could perhaps deja vu be glitches in the system past memory files that are only kept hidden to prevent everyone from becoming s nihilist or going insane feeling they have no control or worth over anything.
A lot of people in here believe in quantum immortality & as the title suggests slot of multi-like theorists of sorts. What’s all your take on this?
submitted by althechemists to Glitch_in_the_Matrix [link] [comments]

A Pet Battling Beginner's Guide

This week is a combination of the bonus pet exp event and the recent release of the Falcosaur pets. This leads many players who have never partaken in pet-battles to want to do it! However, you only have a week, and starting is so confusing – there are so many things to do and learn about!
Fear not, I am here to guide you through your beginning, in a horribly formatted Reddit guide of glory that you can't complain about because I had people request this.

The Basics:

Pet battles are turn-based. This is different to literally anything else in wow, and may take some time to get used to. Each turn, you may take one action. Here are the actions you can take:
You may also just pass a turn without acting.
Pets have 6 abilities each. The first is learnt at level 1 – it will usually be a no-cooldown basic “hit the enemy for dmg”. The second ability is learnt at level 2, the third at level 5, the fourth at 10, the fifth at 15, and finally the sixth at 20. Pets may only use three abilities however – their first and fourth, second and fifth, third and sixth each share a slot respectively and you can only have one of each ability for each fight. When people want to tell you which abilities you should be using on a particular pet, they usually mark it like this
(1,2,2,) (2,1,2) (2,2,2) (1,2,1)…. Etc.
For clarification, the above first example would mean you use the pet’s first, fifth, and sixth ability. The second example means you use the pet’s fouth, second, and sixth abilitiy.
Pets have types, also known as Families. Humanoid, Dragonkin, Flying, Undead, Critter, Magic, Elemental, Beast, Aquatic, and Mechanical. Each type has a passive ability that is always active, and also each type is either weak or strong against two other types.
Undead > Humanoid > Dragonkin
Humanoid > Dragonkin > Magic
Magic > Flying > Aquatic
Critter > Undead > Humanoid
Beast > Critter > Undead
Dragonkin > Magic > Flying
Aquatic > Elemental > Mechanical
Mechanical > Beast > Critter
Flying > Aquatic > Elemental
Elemental > Mechanical > Beast
Here are each pet type’s passive effects:
Here’s the interesting part : Not all pets have abilities limited only to their type. This makes some pet ridiculously powerful against a particular type of pet. For example, the Mechanical Pandaren Dragonling is a mechanical type pet, with a Dragonkin type ability! This makes it overpowered against Magic type pets, because it both takes reduced damage, and deals additional damage to them.
Again, this may seem like a lot of information, but the game constantly allows you to remind yourself by moussing over the UI!
Pets have Breeds and Rarities. Pets come in Poor (grey), Common (white), Uncommon (green), and Rare (blue). Each quality determines how many stats like Health, Power, and Speed the pets get to have distributed. The higher rarity, the better. Don’t worry, this doesn’t mean you have to spend hours farming for a rare version of a pet you need – most powerful pets are bought from vendors or drop from bosses, and come in default rare quality!
Breeds are slightly less straight-forward than rarity. A pet’s breed determines how the stats it is has (Health, Power, Speed) are distributed. The higher health, the more health points your pet has. The higher power, the harder the pet hits with abilities, and the higher the speed, the more likely the pet is to attack first each round (The pet with more speed attacks first!) (Pointless side note: Health and Speed are Binary. That means they either are, or not. Your pet either has more than 1 hp, or is dead. The amount rarely matters. Your pet is either faster than the enemy pet, or is not. If your pet has all of its stats allocated into speed, but is still 1 point away from being faster than the enemy pet, all of those points may as well not exist.) There are 10 pet breeds:
How do you know which breed is your pet in? The simplest option is to download an addon like PetTracker which just tells you. Another option is to go to Wowhead and compare your own pet's stats to the ones on Wowhead's list of breeds for that pet.
Here is an example of why breeds are important. The Hyjal Wisp pet comes in 1 breed only : Speed/Speed. The Hyjal Wisp at Rare quality at level 25 has 325 speed, amongst the top 10 fastest pets - generally only boss pets that have inflated Speed for the sake of their mechanics will attack before the wisp does. The wisp also has the ability Evanescence which causes the wisp to dodge attacks for 1 turn when cast.
Because the wisp is faster, it can cast Evan and dodge the enemy pet's attack both on the turn Evan was cast, AND on the following turn. If the wips was slower, it would first get hit by the enemy, THEN cast Evan, then dodge the enemy's attack next turn. This not only makes Evan twice as effective, but has the added bonus of being unexpedted - the enemy can't expect you to dodge the first time and will usually not hold back powerful abilities. They can expect you to dodge the next turn, so they will generally choose to heal/apply buffs instead of attacking. On top of this, you can dodge things like 2 turn charge-up abilities ( Dragon Breath or Dive or Lift-Off, for example) or abilities that take a few turns to hit (Like Elementium Bolt or Whirlpool ) because the Wisp is faster and will always be able to wait untill the very last pre-hit turn to use the dodge. If the Wisp did not have 325 speed, it would be pathetic compared to the beast it is at 325. If the Wisp had 315 speed, it would be pathetic compared to the beast it is at 325. Each pet only comes in a few specific breeds.
Congratulations! You now know the basics of pet-battling!

How Do I Level Pets?

Leveling pets involves battling with them. After you have a few pets at level 25, it is generally easy to level additional pets – you just have them participate in battles much higher levels than them and then have your level 25 pets win the fight, granting your boosties a lot of exp(Note, a pet must be the active pet for at least 1 round to gain exp, it can be the very first round yes)! However the first leveling experience is quite the grind. In order to know where to fight, simply open your map and mouse-over zones! Each zone has an indicator for which player levels it is for, and which Pet Battle levels it is for in smaller font right beneath the player level one. A good idea would be to begin your journey in Orgrimmar or Stormwind, speak to the Pet Battle questgiver (The Alliance one is found on a small hill directly next to the Cataclysm zone portals and the Pandaria portal. The Horde one is found next to the flight master.) and they will direct you to go fight trainers all around the world in level-appropriate zones. Defeating all these trainers is great practice! If you ever have trouble with a particular trainer, google them! Their Wowhead page should contain multiple tips and strategies to defeat them.

Boosting For Noobs:

Here is my personal boosting method, it requires one level-3 Garrison, a bit of gold, and a bit of time!
You can level pets using the Instant-25-levels pet stone you receive from having a level 3 Garrison. It is probably in your bank right now. (Tip : Multiple Garrisons : Multiple stones! ). Using this method, you can instantly level a single pet to 25, and then use it to boost other pets.
(If you can't find moths to battle, simply run around killing the non pet-battle moths, and a few minutes later more will spawn for you to battle!)
(After defeating enough moths, it could be that every single battle-pet moth spawns on top of a large spire. You should see them all clumped up there on your minimap when you get near. To get to it, simply buy a Golden Glider from the little boy selling them in the Celestial Court, swim away from the island, get on a flying mount, fly very high, fly close to the island, and glide to that spire. If you don't want to do the swimming, you can simply run up the hillside where all the Ordos mobs spawn, follow the path all the way across the two bridges untill you reach the top of the spire at the center of the island - there you can touch a crane statue which will launch you up high into the air and grant you slowfall, fall onto the appropriate spire!)
Chrominius will be able to easily destroy dozens of Moth teams without needing to mend at all. This takes around 10-15 battles for each pet. There are guides all around for faster boost-methods, but THIS method doesn’t require any fancy pet or preparation! Have fun!

Capturing Pets:

You can capture pets out in the wild. The way you do this is reduce the pet below 25%, and then use the capture ability (default hotkey 5) on them. You will only have a chance to capture eachtime, so make sure you use a tanky pet for tricky captures! You can only capture one pet per fight. If you advance far enough in pet battle achievements and quests, you will unlock better capture abilities that have a higher chance or higher hp threshold for capturing pets! Pets captured at levels 24 and 25 will be reduced 2 levels when captured, you will have to level them to 25. Some wild pets will suicide themselves if not captured fast enough through self-destruct abilities. Most common in Undead and Mechanical pets.

Which Pets Do I Level First?

Here are some all-around superstar pets you want to level first (at not particular order!):

Bonus Exp:

This week, there is the Bonus Exp event up meaning pets recieve 200% more exp. This is not the only way to increase exp gained by pets!

Tannan Terrors:

The Tannan Jungle has 15 Legendary pets in it. When defeated the first time each day, each gives you a bag of supplies with a chance to contain pets, bandages, and most importantly : a Fel-Touched Pet-Battle Stone which instantly grants 5 levels to a pet of your choosing! They also contain Pet Charms, though in a small amount. If you do these battles event just once or twice a week, you will easily have a large supply of Fel-Touched stones you can use to level pets in the future!
A guide for defeating these 15 pets is UNDER CONSTRUCTION!

Weather Effects:

Weather exists in pet battles. Some abilities change the weather, causing unique effects to take place and empowering certain abilities. There’s not much to say about weather except it is a status effect and can be over-ridden by new weather effects. They usually last a long time and apply minor effects. You can find out what a Weather effect does by moussing over it, so do that to remind yourself and be mindful of the effects!
Here is a full list of weather effects and abilities that benefit from them (Not made by me.)

Tactics & Comboes:

Howlbombing: Howlbombing is a tactic that involves stacking multiple effects that increase damage taken and multiple abilities that all hit for large amounts of delayed damage all at once for a one-shot of destruction. It is named after Howl. Unfortunately Howl was nerfed to only influence the next instance of damage done. Howlbomb did not die, however, it just exists in different forms. The new Howlbomb I have been using is Unborn Val’kyr (1,2,1) and ANY Falcosaur running Falcosaur Swarm and Warning Squak.
Engage combat with Val’kyr > Curse of Doom > Shadow Slash > Haunt > Warning Squak > Falcosaur Swarm!.
Curse of Doom then explodes for 400% damage (unless you’re unlucky with 75% crit). Even if this did not oneshot the target, the additional damage from Haunt and Falcosaur Swarm! Should eventually do the trick.
DotWall: this tactic is about applying a lot of damage over time effects to the target and effects that increase damage taken, then switching to a tanky pet and waiting it out.
Avoidance: a team of 3 rabbits, or a Rabbit, Hyjal Wisp, and Death Adder Hatchling for example, can easily avoid half the attacks the enemy pets try to use.
AoE Teams: lots of pets have abilities that hit the entire enemy team for a bunch of damage. Combining those can allow you to destroy the entire enemy team very easily.

PvP:

You can PvP in pet battles! Here is what you need to know:
PvP Tactics:
I’m not going to suggest specific teams because there are so many different pets. Instead I will give you general themes you should try and make a team out of:
Here is an advanced PvP guide made by u/SheepHunterZ!

I Am A PvPer Only Here To Unlock The PvP Faction Please STFU And Tell Me What To Do:

You can level pets using the Instant-25-levels pet stone you receive from having a level 3 Garrison. It is probably in your bank right now. (Tip : Multiple Garrisons : Multiple stones! ) Just boost your Falcosaur with it.

Recommended Addons:

PetTracker is a great addon which will mark pets on your map, track how many pets you've captured out of the available amount in each zone, and track the abilities of enemy pets (it even tracks their CD, very useful for boss fights!). It also tracks Breeds!
PetTeams will allow you to setup specific teams and easily switch in and out of them. Very handy.
Rematch will remember teams you used in the past and instantly switch into them when you target a trainer! It will also allow you to load into the game teams used by other players to defeat trainers.

Useful Websites:

Wowhead, of course.
Warcraftpets is also a great resource!
Any questions? Things I've missed? Abhorrent formatting errors? Just ask!
submitted by Forum_ to wow [link] [comments]

Trade Like Pro - Best Binary Option Strategy NEVER LOSS USING CANDLESTICKS ANALYSIS 10 wins  binary ... Binäre Optionen Tipps und Tricks für Einsteiger Top 25 Word 2016 Tips and Tricks - YouTube Binäre Optionen Handeln Tipps & Tricks - Einfache Tipps Für Beginner Tips And Tricks Options Trading On tastyworks - YouTube Top 10 Tips and Tricks for UE4 / Unreal Engine 4 - YouTube

Binary Options Site Reviews; Make More Money with Binary Options; We will now introduce you to some savvy ways that you are going to be able to trade Binary Options online, these various hints and tips cannot be guaranteed to make sustained profits, however when you take notice of them you may find yourself placing more winning trades than you ... Binary Options – Tips for Beginners. As this site xBinOp was meant mainly for beginners, and lately it seems that we’ve somewhat forgotten about it, due to the many advanced techniques we present, we have prepared this post with tips for all of you. This site can serve you as the most important starting point in your trading career. Below you will find a few articles and videos ... Binary Options Tips and Tricks for the Ultimate Beginner . Retail traders come to the binary options industry attracted by the fabulous returns. For any given trade, binary options brokers offer above 70% rate of return. Who wouldn’t want such a profit for a trade? The answer is that many fall prey to this illusion. The binary options brokers offer a rate or return much below what a serious ... 10 Quick Binary Options Tips and Tricks Choose your broker carefully The very fact that you are here on our site tells me that you are already keen on Deposit more than the minimum Many binary options brokers allow you to get started binary option trading tricks trading with around $200. Top 10 Tips for Winning with Binary Options Binary Options trading is a quick and much less complicated way of trading than for example traditional forex trading. Therefor it does not come as a surprise that trading in binary options has attracted a lot of traders over the past few years. 10 Quick Binary Options Tips and Tricks. Do you want to get the most out of trading binary options? Of course you do. That’s why you are going to read our quick tips and tricks for success! If you have explored most of the other articles on our site, you probably are already familiar with a lot of this advice. But a quick review never hurts, and if you are a beginner, this is a great ... Most of you already know what binary options are, as you are here for the top tips and tricks on trading binary options. But, for the uninitiated, we will give a short brief. Binary Options are financial instruments that allow you to trade on all kinds of assets such as forex, stocks, futures, crypto, indices, and much more. There are only two directions in binary trading and this is where it ...

[index] [28366] [26252] [16292] [4944] [10817] [23930] [15261] [7166] [1326] [3534]

Trade Like Pro - Best Binary Option Strategy

in this channel a lot to talk about trading strategies. like the following important points that traders should know. including: 1. how to read good trends 2... These are my top 25 tips and tricks for Microsoft Word 2016. I'll bet you'll find some that you did not know existed. Browse through the list and find out ho... Nutzen sie den Link am Anfang dieser Beschreibung und laden Sie meinen Ratgeber : "Binäre Optionen Handeln Mit System" kostenlos herunter! Sie werden nicht nur miene 2 bevorzugten Handels Muster ... Misc: This playlist is home to my quickfire tutorials and general updates about this channel, Life, the Universe, and Everything. This Video: In this video, ... binäre Optionen tipps binäre Optionen tricks binäre Optionen system binäre Optionen sicher handeln binäre Optionen ratgeber binäre Optionen pdf anyoption hütchenstrategie hütchen strategie ... tastyworks is easiest platform for beginners to start trading options on. It's also a great platform for advanced traders and their commissions are amazingly... Welcome To Adnan Trading Tips. In this video i will explain how to choose a perfect signal and trade like pro. I will show some live trades and i will use iq option real account.

https://binaryoptiontrade.handwitevibe.cf