The client needed a dispatcher tool to be implemented for his own customer to execute and monitor typical operating procedures of an oil pipeline (batch tracking, product pumping between tank farms, Pig Tracking, etc.) I was responsible for the design of a back-end Oracle database schema and the implementation of business logic in form of stored procedures (PL/SQL). These procedures handled a stream of sensor data from the pipeline and were also invoked by a dispatcher GUI implemented in PHP by another contractor. The system used Oracle's data replication mechanisms to ensure fault tolerance and was deployed on Tru64 UNIX.
Jan Ploski – Selected projects
The following list of completed software projects should provide you with an overview of my previous professional activities (partly for former employers). Click on a project name to reveal its description. References for the individual projects are available upon request.
Amusement parks sell their visitors digital photos shot (for example) during a roller coaster ride, triggered by the motion of a descending car. I designed and implemented according to client's requirements a complete distributed system for controlling photo cameras, displaying pictures on multiple screens in the checkout area, and photo printing. The technologies used were Java and Linux. During the course of this entertaining project, I also took part in hardware and software installation on client's premises.
To control delivery to a production line in a newly built meat processing plant, a near-realtime algorithm had to be devised to optimize the loading of trucks with crates. This required an acceptable heuristic solution to a packing problem, as well as the offline exploration of the solution space to support the client's negotiations with the provider of the conveyor/storage machinery. A prototype implemented by me in Java was later ported to C++ to become a module in the client's own system control software.
For checking the corporate balance sheet, the client commissioned a flexible tool based on MS Excel/Access technologies, in which detailed balance sheet items of multiple subcompanies could be aggregated, evaluated, and commented by experts. I contributed significantly to the design, development, and documentation of this software tool. In addition to the basic spreadsheet functionality provided by Excel, the product also included a domain specific language which allowed creation of custom reports by the user.
Enterprise Application Management (EAM) is a concern in many large companies that employ a wide range of software applications and hardware platforms to implement their systems. Such companies need an up-to-date database about their IT infrastructure to support strategic system provisioning decisions and to ensure smooth day-to-day operations. Contracted by an electric utility company, I helped design and implement an internal EAM tool. It was my task to develop individual modules of the tool, the related parts of a relational database schema, and to integrate the tool with further information systems through SOAP-based web services.
In the course of a BMBF-funded research project WISENT I contributed to the development of a flexible Grid infrastructure based on Globus Toolkit, Condor, TORQUE and Maui. This infrastructure supported parallel computation of mesoscale wind speed forecasts using the weather forecasting model (WRF). I also designed and supervised the implementation of a graphical GridFTP tool, which can be used to reliably transfer large amount of data (e.g. 1 TB) between the storage sites participating in D-Grid.
EPIC (Eclipse Perl Integration) is an open-source IDE for the programming language Perl built on top of the Eclipse platform. I have been a project administrator and maintainer for EPIC for 4 years. During this period I contributed many fixes and significant code improvements (redesign and implementation of the embedded parser, debugger frontend). EPIC is downloaded more than 4000 times monthly, enjoys a broad user base, and has even been featured in the computer press.
Within a DBU sponsored project, based on functional requirements provided by a future user, I developed a database named "Artenfilter Regiosaatgutarten" (Species Filter for Regional Seed Species). The database supports classification of plant species into ones suitable or unsuitable for regional cultivation. It contains a backend module which allows data integration from various data sources (Red Lists, rasterized plant occurrence data) and expert evaluation and elaboration of the data. The final data product is delivered through frontend modules, either as an offline database or through a web interface. My main activities in this project included database design, data transformations, GUI development, consulting for the expert user. Applied technologies: MS Access (upon client's request), PHP. You can access the web interface to the database through the following link: Artenfilter Regiosaatgutarten (externally hosted, German only).
On the eve of market introduction of a new household product I was hired to create an online shopping portal with multi-level marketing support. The delivered functionality included maintenance of uplines (multiple independent hierarchies with unlimited levels), different payment methods (PayPal, direct debit, wire xfer), printing of invoices, shipping tickets, credit memos, taking into account delivery from multiple warehouses, interfaces to bank, logistics partner, accounting and tax office according to German regulations, synchronization of offline/online data, modular computation of commissions using three different commission models, sales statistics, and so on. Applied technologies: MS Access/Excel (backend), Drupal 6 (frontend, localized to two languages). This system can be demonstrated upon request and with suitable adjustments could also be reused for other scenarios.
IT consulting and system administration
The client performed a 32-to-64-bit migration of an externally developed scientific software and got caught up in unexpected problems related to the target hardware architecture and specific compiler options. These problems threatened the project's deadline, but could be quickly solved through my involvement in the debugging process.
I offered ongoing technical support to a group of researchers at the university to address different everyday problems related to using Linux systems, software development and data analysis, introduction and integration of software development tools, and so on.
Operations of a medium-sized food producer were relying, for historical reasons, on various models of price labeling hardware, which was controlled by different vendor-specific software applications. My task was to assess the situation and work out a migration plan to reduce costs through guidelines for uniform labeling hardware and centralizing the information systems that maintained price and product label data.
I provided consulting to a software development company regarding version control and separating test and production systems. A particular focus was devoted to problems related to versioning dataabse schemas. Our gathered insights and recommendations are summarized in a joint article, whose publication was kindly supported by the client.
A technology startup wanted to integrate multiple UNIX systems through a shared user database. This small project encompassed the necessary configuration of the systems, migrating the user data to an OpenLDAP server, and providing instructions concerning its administration.
I was hired by one of the German departments of state to maintain and further develop a regional database for a funding programme of the European Union. The database supports online submission of grant proposals for universities and companies (over 500 registered users) and the complete processing of such proposals by authorized staff of the programme manager. Besides of extending the database interface with new functionality, I also implemented broad refactoring for quality assurance and improved monitoring. Applied technology: Drupal 5, later migrated to Drupal 6.
Hired by a scientific association (over 2000 members), I took on the maintenance, integration, and further development of their existing information systems. My tasks included among others: integration of the legacy offline database for member management with the web site, addition of a publication database to the web site (including customizing), automating the distribution of messages through mailing lists, upgrade of the payment processing inteface to online banking, ongoing technical support. Applied technologies: MS Access, MySQL, Website Baker CMS, Perl, PHP, GNU Mailman, EPrints.
I provided consulting for an Internet startup from Silicon Valley focused on collecting and analyzing energy consumption data (from so-called smart meters) to promote private household energy savings. My services included system sizing, automating software development and deployment processes, evaluation and improvement of observed performance of the existing application, guidance for its future architecture and assistance with a formal third-party security audit. Employed technologies included Java (Spring/Hibernate/Tomcat), MySQL/Infobright, and an assortment of Amazon Web Services.