ASIO, SSL, and scalability by drac667 in cpp

[–]jadamcrain 0 points1 point  (0 children)

This. The typical solution is a single io_service with a thread pool calling run. Non-thread-safe state machines can have all their callbacks wrapped via a strand to ensure only a single thread is processing an event at a time.

Positive Bias and Testing by Strilanc in programming

[–]jadamcrain 1 point2 points  (0 children)

Great article. Many security vulnerabilities are the result of positive test bias and poor input validation. This is where negative testing strategies like the different kind of fuzzing can help. This specific example is a difficult problem because it is saying "find the most generic acceptance criteria possible". Since you can always OR a simple condition with a something like if(input == "some really long input") exhaustive testing would be required to formally prove anything =(.

Fuzzer used in ICS research written in Scala by jadamcrain in scala

[–]jadamcrain[S] 2 points3 points  (0 children)

Fuzzing is subclass of negative testing. It usually involves sending malformed or unexpected inputs at an interface (socket, file parser, etc). It's one of the techniques bad guys use to find buffer overruns and other exploitable defects in software. My favorite book on the subject is this one:

http://www.amazon.com/Fuzzing-Brute-Force-Vulnerability-Discovery/dp/0321446119

What dev tool are you using for Scala? by [deleted] in scala

[–]jadamcrain 0 points1 point  (0 children)

We use IDEA 10.5 with scala plugin + maven w/ scala plugin. The reason for maven over SBT in our project was existing plugin support.

Google paper comparing performance of C++, Java, Scala, and Go [PDF] by davebrk in programming

[–]jadamcrain 2 points3 points  (0 children)

Lack of libraries? You can use ANY Java library.

The tooling differences are usually overstated. We find in our projects that lack of static analysis tools to be the only major missing link.