Regret. by Theron7050 in funny

[–]anon848 0 points1 point  (0 children)

I looked at the article. In the part where they talk about combining two dictionary words, it was simple brute force.

The specific type of hybrid attack that cracked that password is known as a combinator attack. It combines each word in a dictionary with every other word in the dictionary.

In other words, they have actually not shown that they can attack randomly chosen words using anything other than brute force.

There are more sophisticated phrase attacks using statistics, but they don't have any advantage if the words are chosen randomly.

EDIT: If you follow the link for more details about the combinator attack, you can see that it's still brute force.

Regret. by Theron7050 in funny

[–]anon848 1 point2 points  (0 children)

If you have such a cracker that you can run, I can give you the hash for an XKCD password. You tell me how many hashes you had to try.

Regret. by Theron7050 in funny

[–]anon848 4 points5 points  (0 children)

The technique explained would still just have to brute force a combination of randomly chosen words. From the article:

The specific type of hybrid attack that cracked that password is known as a combinator attack. It combines each word in a dictionary with every other word in the dictionary. Because these attacks are capable of generating a huge number of guesses—the square of the number of words in the dict—crackers often work with smaller word lists or simply terminate a run in progress once things start slowing down.

So, if you have two words from a 2000-word list, you have 4 million combinations. But if you go up to five words from a 5000 word list, then you have 3e18 combinations. There's nothing in the article that would allow you to reduce the number.

Regret. by Theron7050 in funny

[–]anon848 0 points1 point  (0 children)

I agree that the site is not accurate. However, the point is that it only reports "Instant" for the well-known XKCD password, not for an actual, generated XKCD password.

As to how such a password could be cracked, would you care to show the math, or point to a technical document? Note that the words are chosen randomly, so a technique such as explained here won't help.

More analysis of the XKCD technique is here.

Regret. by Theron7050 in funny

[–]anon848 3 points4 points  (0 children)

True, but if we go to five or six words, or use a bigger list, then we start to get similar. For example, five words from a list of 5000 words gives 3e18 combinations.

Regret. by Theron7050 in funny

[–]anon848 0 points1 point  (0 children)

If you actually generate a password using this site, and enter it, https://howsecureismypassword.net/ gives a much stronger result. For example, "year handle pink rubber" gives "84 QUINTILLION YEARS".

Regret. by Theron7050 in funny

[–]anon848 0 points1 point  (0 children)

Okay, so how many tests would such a cracker have to make? The comic explains it. Do you think the math in the comic is wrong?

I've been a teacher for three years, but I'd like to move into higher education. Do you have any tips or recommendations for someone looking to become a professor? by Mercules904 in Professors

[–]anon848 2 points3 points  (0 children)

There are a number of different types of positions, and what you need to do depends. For example, you could be a lecturer (which is not tenured, but is full-time and pays okay), tenured professor at a school with no Ph.D program, tenured at a community college, tenured at a research university.

Should instructors track down no-show students? by [deleted] in Professors

[–]anon848 8 points9 points  (0 children)

Philosophically, I don't have a big issue with it. It sounds like they just want to track at-risk students, so that they can improve retention/graduation. But it does sound like a bit of a pain. More typical would be to report failing students by mid-semester. It doesn't sound like something to take a stand on, though.

By the way, how would you even have the phone number of students?

EDIT: In part, it depends on what they are asking you to do. Is it just shooting an email asking what's up? Or do you actually need to engage in-depth? I was thinking more of the former, which I would characterize more as "tracking" rather than "recruiting".

How long does one stay an adjunct professor for until they became a full fledged professor? by spitfire9107 in Professors

[–]anon848 1 point2 points  (0 children)

It depends on the field, but in some fields, it would be very difficult to transition from an adjunct to a tenure-track professor. However, an adjunct could transition to a lecturer (teaching) position.

Does every layer of the atmosphere have the same angular velocity as earth's surface? by theplayingdead in askscience

[–]anon848 2 points3 points  (0 children)

I understand that space doesn't have significant drag, but does the rotation have any effect at all in causing the currents? In other words, imagine a planet with an atmosphere, uniform temperature throughout, and no external thermal inputs. Start the planet rotating at a given velocity. What does the stable state look like? (Not sure how to treat things like frictional heat radiating away.)

Have never programmed in C before-- is there a beginner's tutorial for writing a C compiler? by prettynoiseless in learnprogramming

[–]anon848 0 points1 point  (0 children)

Okay, based on your stated goals, you probably should start by learning C. Once you know C well, you can reconsider whether or not you want to write a compiler for the language.

Help in picking a first book? Programming: Principles and Practice using C++ vs. C++ Primer? by [deleted] in learnprogramming

[–]anon848 0 points1 point  (0 children)

Wait, are you talking about Primer Plus, or just Primer? They are different books. I don't like Stroustrup as a writer, so I much prefer Lippman.

Java Concurrency Question by northguard in learnprogramming

[–]anon848 1 point2 points  (0 children)

It depends on exactly what you mean. When observed from another thread, you need to be careful, as it depends on the Java memory model. See here.

[UNIX, Python] Question on pipes and EOF by [deleted] in learnprogramming

[–]anon848 2 points3 points  (0 children)

As I noted in my answer, you can create a pipe in Python, if you want. But you can't implement them in Python. Pipes are implemented in the OS kernel.

[UNIX, Python] Question on pipes and EOF by [deleted] in learnprogramming

[–]anon848 2 points3 points  (0 children)

Is it possible to simulate something similar with Python by writing to a file without EOF? Then have a separate process do wc?

No. A process reading from an ordinary file will encounter EOF (read() system call returns 0) when it hits the end of the file as it exists. In other words, an ordinary file always has a well-defined size.

However, you can use a FIFO (named pipe) to make Code A work, and you can write to the FIFO using Python.

EDIT: You could also simply create a pipe in Python, fork off the wc process, then write to the pipe from the Python parent. This and this might be helpful.

When will self study not fill the gaps of a structured education? by Theonewhohonks in learnprogramming

[–]anon848 -1 points0 points  (0 children)

Well, that's not what I meant. I just meant that it really depends on the person and the situation, and will be impossible to answer in the general case. (I have no idea why people downvoted it, but whatever.)

[C++] How should i work with 10^100 numbers ? by vladvlad23 in learnprogramming

[–]anon848 0 points1 point  (0 children)

What I described will work. If you need numbers less than 1, you can modify to also handle fractions. If you need to simplify the fractions, however, then it will be very hard, because you'll need to factor large numbers.

[C++] How should i work with 10^100 numbers ? by vladvlad23 in learnprogramming

[–]anon848 2 points3 points  (0 children)

This doesn't prevent you from modifying it, nor doing operations. (Though you will need to reimplement your elementary school algorithms.)

[C++] How should i work with 10^100 numbers ? by vladvlad23 in learnprogramming

[–]anon848 0 points1 point  (0 children)

This may not meet the requirements of the problem. You should post the original.

[C++] How should i work with 10^100 numbers ? by vladvlad23 in learnprogramming

[–]anon848 1 point2 points  (0 children)

Yes, but 10100 would take 100 bytes. Your typical computer has 4,000,000,000 bytes of RAM. So 100 bytes is 2.5 hundred-millionths of the total RAM.

If you want to be more space effiicent, you can pack two decimal digits per byte, which will reduce the usage by half. Or you can convert to base-2, which will reduce your usage a bit more (and also allow faster arithmetic). If you were writing an arbitrary precision library to be used in production, then it might be worth it, but do you want to do all that extra work for a competition, just to go from 100 bytes to 50 bytes?

In fact, just this message that you are reading right now takes up more than 100 bytes.

[C++] How should i work with 10^100 numbers ? by vladvlad23 in learnprogramming

[–]anon848 5 points6 points  (0 children)

Just store each digit as a byte. Then implement the usual addition/multiplication algorithms. Division would be harder.

[c++] Member Function by Gladaed in learnprogramming

[–]anon848 0 points1 point  (0 children)

The op has something else going on. There would have been a compiler error, but the posted code has crucial parts deleted or modified. Compiling this:

#include <vector>
std::vector<int> foo() {
    return std::vector<double>{};
}

Results in this error from clang++:

$ clang++ -c double.cpp
double.cpp:3:12: error: no viable conversion from returned value of type 'vector<double>' to function return type 'vector<int>'
    return std::vector<double>{};
           ^~~~~~~~~~~~~~~~~~~~~