Date: Wed, 23 Mar 2011 00:33:21 +0300 From: Solar Designer <solar@...nwall.com> To: john-users@...ts.openwall.com Subject: Re: Interface for John On Tue, Mar 22, 2011 at 09:14:46AM -0400, joseph varghese wrote: > But i'm aware of the basics of gui programming and have experience in > programming with c, c++,java,and python. It would be much better if more > information about the project is given, like which programming language to > use, It's C++. For the integrated GUI approach, you'll need to be modifying and linking against plain C code as well (the main JtR code will stay plain C). > and the expected functionality. Was my previous response not enough to enable you to decide and even get started? Do you expect/prefer very precise specifications, leaving you less freedom? > It would be of great help, if given a sample program to implement. For approach #1 (wrapper), it will be the first development revision of the wrapper. It is OK to have only a small subset of the desired input fields, checkboxes, etc. in this revision. For approach #2 (integrated), I'd expect a difficult part to be implementing the spreadsheet-like input/display widget. My current guess/expectation (possibly wrong) is that it will need to be a custom widget (building upon existing ones, of course) rather than merely a generic container widget with lots of individual elements inserted into it. This is for performance and memory usage reasons: the number of records may be in the millions. If you simply insert checkboxes, etc. into a container widget, I'd expect that this will involve O(n^2) algorithms, which is unacceptable, unless the GUI toolkit has been specifically designed/optimized to avoid those (which I find unlikely, but I could be wrong). Thus, if you intend to work on approach #2, your qualification task may be implementing this widget, or demonstrating that one is not required to achieve the desired functionality (with reasonable performance and memory usage) - e.g., maybe you'll find a suitably-licensed existing spreadsheet-like widget for the GUI toolkit of choice (likely wxWidgets) and show that it is easy to customize for our needs (roughly match the look and feel of those "competing" programs I mentioned). Your program would need to populate the widget with 1 million records (any placeholders will do - e.g., sequential numbers). For either or both approaches, a bonus task is demonstrating ability to build binaries that work across a variety of operating system versions - e.g., the same binaries work on CentOS 5, Fedora 13, and a range of versions of Ubuntu. (I can setup and provide SSH/X access to those, running in OpenVZ containers.) This can be worked on in parallel with the tasks above (e.g., you can use a "hello world" program for this portability demo). Please let me know if you intend to work on any of this, and/or if you have any further questions/comments/needs. Thanks, Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.