News Archive / All
C-Analysis
For one of our customers we analyzed an application written in C, which had been growing too big to be operated by Purify. We introduced the tools librtc, dmalloc and gdb-leaks as alternatives for dynamic analysis. Additionally, we recommended using cppcheck and Cadvise for static analysis. Furthermore, we identified some aspects the customer should pay attention to during the planned migration from HP-UX to Linux.
Perl | JavaScript
For the department of an insurance company, which is in charge for the asset extrapolation, we developed a tool that can be used to compare the results of distinct quarters. The challenge thereby lay in the huge amount of data. In order to compare the many ASCII-files with each other in a clever way, we used Perl. For displaying the differences, we applied JavaScript, so that dynamic filters could be set and components could be faded in and out.
Hi-Performance MySQL
After switching a Perl/MySQL application to parallel processing via PVM and database tuning, we accomplished 80.000 database queries per second on a MySQL server (no benchmark, but real application queries) and thus clearly exceeded the requirements of our customer. The server of the database uses SSDs as storage medium.
Lecturing
We supported the Munich University of Applied Sciences with lectures during the Software Engineering II course in the winter term 2011/2012. The four topics dealt with in presentations are agile testing, code review and clean code, software projects in real life and continuous delivery.
TDD | Swing | FEST
For one of our customers we conducted workshops on the topics of test-driven development and test automation. Therefore, all relevant tests for the customer's products were taken into account, i.e. unit-tests, mock-tests, integration tests with database and application server, respectively, GUI-tests for the Java Swing GUI and end-to-end tests. Through these workshops, we introduced open-source tools as well as basic software and solutions that have been selected and developed during the process we supported for the customer. They also shall be the foundation for our customer's future development. Particularly the latest JUnit 4 extensions were applied, namely rules, theories and categories. We also employed the GUI-test framework FEST with great success.
TDD | .NET
We organized a two-day workshop for the developers of one of our customers, a leading provider of procurement software working with .NET technology. Together we worked directly on their code base and showed them concepts like test-driven development, mocking, dependency injection and continuous integration. We pointed out the different types of tests and what role they play in the overall testing strategy. We also brought business and developers together and explained behavior-driven development, which could be a foundation for a closer collaboration.
Sales Forecast Tool
We supported one of our customers with the first implementation and further enhancement of the company-wide adopted sales forecast- and -planning tool. Development is accomplished in agile sprints lasting for two weeks. Technologies used were ETL and the statistic analysis software SAS. Data interpretation was carried out using MS Excel and SAS MS Office Add-in.
svnfiltereddump
On GitHub, one of our employees published an open-source tool for reorganisation of repositories from the version control system Subversion. The tool is based on the experiences we gained during a big subversion migration at one of our clients.
Enhancements of a Content Management System
Together with another service provider we overtook the stabilization and enhancements of a content management system for a customer from the manufacturing trade. With the project set-up, agile development processes have been introduced to provide flexible steering mechanisms to our our customer, without the need to finalize demands at the project's beginning.
ElasticSearch
For an e-commerce platform we integrated the web search ElasticSearch into Apache OFBiz in collaboration with developers of the customer and thus replaced the former search that was based on Bobo and Zoie. In addition to realtime updates of the search index for changed data we developed a mechanism for zero downtime reindexing to be able to optimise the search parameters during live operations. The search strategies were tailored to the customer data and optimised with search words, which we extracted from log files of the former platform.