Mindfire's engineers are always busy. We don't claim not to have 'bench time', but we do know how to use our bench well. Below are some useful things completed by our team during free time, available for free use.
J2EE Custom declarative authentication for Macromedia JRun and iPlanet LDAP
The J2EE specification specifies programmatic and declarative authentication as two broad methods of authentication. However, there is no particular authentication method specified to be followed in declarative authentication - implementation is left open to the J2EE server.
Mindfire's two engineers decided to build a Custom declarative authentication package for Web applications on the JRun J2EE server. The package was built to authenticate from an iPlanet LDAP server through JNDI interfaces.
To get this package for free use, please write to us here.
Hebrew Word-breaker/Stemmer for Microsoft Index Server
Word-breakers and stemmers are used in search engines to get to the root of words being searched. For example, if you search for "swimming", a stemmer when interposed between the front-end and the engine, will actually ask the engine to return all results with "swim", "swam", "swimmer" and so on.
Microsoft Index Server is most commonly used in IIS web servers for indexing and searching. The MS Index Server comes with a built-in search engine and support for several languages including English, German, French and so on. Hebrew is a complex language for stemming/breaking operations (with multiple composite possibilities) and is not supplied by default.
Microsoft provides a set of interfaces to build custom language stemmers and word-breakers. Mindfire built a flexible framework for building stemmers. DLLs with COM components implementing little-known interfaces were constructed for use with the Hebrew locale. These DLLs are introduced into the Index Server architecture so that all search words are passed for word-breaking and stemming. Based on rules specified in an input XML configurator, the component achieves its objective.
To get this package for free use, please write to us here.
Memory patch for the Open-source Apache program FOP for XML/XSL to PDF conversion
The Apache Open-source initiative for XSL:Formatting Objects to be applied on XML is known as FOP - Formatting Objects Processor. FOP allows one to apply Formatting Objects (and rules) to XML content through a XSL stylesheet. Output can be any of various formats, though PDF is the most common.
Mindfire has extensive experience in XML-to-PDF technologies, and we helped the FOP community solve one of its biggest problems. Large PDF generation (over 200Mb) would result in memory overruns in the FOP Java program, leading to usage issues in production environments.
The patch produced by Mindfire implements a memory-streaming technique that optimizes memory load and disk storage - leading to a robust program whose memory requirements do not grow linearly with document size. With this patch, FOP has been successfully used in both Web (dynamic XML-to-PDF) and file scenarios, for documents of arbitrary complexity and size.
To download this patch for free use, please click here
Control Array converter for MS Visual Basic form optimization
Microsoft Visual Basic 6 introduced the concept of Control Arrays for optimized form loading and memory performance. Though there are arguments both for and against Control Array-driven programming, one thing is certain: for certain "inactive" controls like labels and captions, control arrays make complete sense.
Mindfire has developed a program to analyze VB programs and convert them to use control arrays. The developer can control which types of control to migrate, and the utility changes all control occurrences as well as cross-references and programming usage. It even makes intelligent 'Const' parameters to use as indices into control array elements.
To get this package for free use, please write to us here.