Using brute force is not very effective on 256 keys. But this doesn't exclude the possibility of a breakthrough that reduce enormously the search space. For example even for AES there is an attack faster than brute force by a factor of about four !
http://research.microsoft.com/en-us/projects/cryptanalysis/a...
I think that it can be implemented in constant time for floating point numbers. For integers I know that the exponentiation by squaring takes O(log(n))
There are plenty. The analysis of basic algorithms involve math (e.g. QuickSort, binary search, etc). Programming a user friendly website can involve advanced mathematics, for example you want to recommend to your users a product that might interest them (Collaborative Filtering)
I appreciate the OP's efforts, certainly sharing code is a good thing. And one of the benefits of the sharing is to get a lot of feedback. Criticizing implementation details is important to spot, discuss and hopefully fix potential problems.
I don't know why it uses a garbage collector when simple reference counting would suffice. Also I hate libraries with global states/variables like this one ...
One could exploit the continuity of the image regions. (The similarity of neighbors in intensity and colors). Also the output is an image with the same histogram ...
The migration from MS Office to LibreOffice is not straightforward, especially if you have millions of documents. In my experience, any complex document will almost always fail to render correctly ...
The article describes an implementation of the observer pattern in C ... It's well known and used in many open source C projects. But I'm not sure that replacing simple tangled dependencies in the Linux kernel by using function pointers is a good idea. Because you may introduce an overhead in some performance critical code. And you may lose the locality of reference when abusing function pointers.
I do agree with you : mono is a subset of .NET,
Cross platform compatibility is not the main reason for using Mono. I really like the C# and the .NET ecosystem.
I use a native UI for each platform, but the core code is the same. I'm not a big fan of those generic UI toolkit ...
You can do OOP in any langage and there is nothing wrong with dojo. But from my limited experience, maintaining large programs written in JavaScript is a tedious job (each program reinvent it's own OOP semantics)
JavaScript lacks a real library/module system, namespaces and OOP facilities. I usually spend more time maintaining a JavaScript program than a program written in Java/C# with equivalent size.
That being said, my skills in JavaScript are limited.