Please create an account to participate in the Slashdot moderation system


Forgot your password?

Comment Re:Unwanted Pop-Unders Still a Security Issue (Score 1) 145

No, at least Mozilla blocks Flash popups too. The issue is that these "popups" are created in response to user clicks, and the browser can't tell the difference between Live Jasmin spam and a legitimate, requested pop-up because both are run from the click event handler.

The only solution is to disable popups entirely, which will cause compatibility issues. This is why we can't have nice things.

Comment Re:Terrific Research, But... (Score 1) 145

Modern Internet Explorer:

  1. is fast and stable
  2. can be controlled with group policy
  3. can be centrally deployed and managed
  4. comes with the OS
  5. has a neat feature or two

We're not talking about IE6, and this isn't 2003. It's time to update your prejudices. IE9 is a decent standards-conforming browser. It's not all that exciting, but it's not awful, and I can understand why people are perfectly content with it.

Comment How to teach programming (Score 4, Interesting) 709

When teaching students how to program (which is entirely different from teaching them computer science), you should begin with the most fundamental concepts: talk about raw memory and opcodes. Discuss briefly how these instructions are actually interpreted and implemented (how a half-adder works is fascinating, even if most people never have to build one in real life).

Once your students understand how to make computers do basic things with raw instructions, teach them jumps, conditionals, loops, and even subroutines. After that, introduce higher-level languages and compilers, and demonstrate that the compiler merely automates what your students have already been doing. From there, teach progressively higher-level constructs, including second-order function references, data structures, and so on. Object-orientation falls out naturally once you get to structures and function pointers.

If you follow this approach, your students will have an understanding of the entire abstraction hierarchy, which is not only of immensely practical value, but also underscores the principle that nothing in this field is "magical". You can always pierce an abstraction, and even more importantly, erect new abstractions where appropriate. The most common flaw I find in programmers is the inability or unwillingness to build new abstractions. The only way we make progress in this field is by the old reductionist approach of breaking a hard problem into smaller parts and attacking each individually. When you teach your students how to do that by demonstrating the power of abstraction, you make them better programmers.

Programmers shown UML, Java class graphs, and so on right away become too familiar with that level of abstraction. They think of lower levels as some kind of magic and don't realize they can and should build their own levels on top of what they're given. The result is often incoherent, rambling, brittle, and ugly code. Don't let that happen.

Comment Salting is merely a good start (Score 4, Informative) 236

Salting addresses some attacks, but as CPU time becomes cheaper, it becomes increasingly feasible to brute-force even salted hashes. To address this issue, you need key strengthening as well.

Or, better yet, just use the system designed to store passwords: bcrypt.

*sigh* Then again, I'm confident that we'll see incompetent web application developers using unsalted MD5 for decades to come. People don't learn from others' mistakes it seems.

Comment Pointer typedefs (Score 4, Insightful) 394

Pointer typedefs were a bad idea in the 1980s. They're just terrible today. One pet peeve of mine is this:

typedef struct _FOO { int Blah; } FOO, *PFOO;

SomeFunction(const PFOO);

That const doesn't do what you think it does. There was never a good reason to use pointer typedefs. There is certainly no good reason to do so today. Just say no. If your coding convention disagrees, damn the coding convention.

Comment It's about education (Score 1) 275

I can't believe that this point hasn't been made yet: the reason for leaving torrent out of autocomplete is to prevent the knowledge of torrents from spreading. They don't want normal, non-geeky people seeing the word "torrent" next to their favorite song, clicking it out of curiosity, then learning about the wonderful world of file-sharing.

This isn't about existing torrent users. It's about slowing down the creation of new ones.

Slashdot Top Deals

Many aligators will be slain, but the swamp will remain.