Detailed Project List - Rainer Schwarze

» summary project list

Click on the tags to filter the projects - 78 shown (0 hidden)

Tags

  • ACT
  • Adobe Acrobat
  • Adobe Acrobat Professional
  • Adobe Designer
  • Adobe Illustrator
  • Adobe ImageReady
  • Adobe InDesign
  • Adobe PDF Tools
  • Adobe Photoshop
  • Alpine Linux
  • AMCC 5933
  • AMD
  • Android Emulator
  • Android Studio
  • Ant
  • AppCode
  • ArgoUML
  • Assembler
  • AVFoundation library
  • Bash
  • bash
  • Borland C/C++
  • Borland Pascal
  • C
  • C++
  • CentOS
  • Chrome
  • Chrome Developer Tools
  • CKEditor
  • CKEditor4
  • ComputerBoards
  • Core Library
  • CorelDraw
  • cygwin
  • Developer Tools
  • Digital Storage Oscilloscope
  • DOS
  • dovecot
  • Eclipse
  • Eclipse 3.1
  • Eclipse 3.x
  • Edge
  • fastlane
  • fetchmail
  • FileMaker
  • Firefox
  • Firefox Developer Tools
  • fli4l
  • FrontPage
  • gcc
  • gcc 2.x
  • gcc 3.x
  • git
  • hg
  • Highcharts
  • HoTMetaL
  • IE
  • IE Developer Tools
  • ImageMagick
  • Inkscape
  • IntelliJ IDEA
  • iOS
  • iOS Simulator
  • iPad
  • iPhone
  • IzPack Installer
  • Java
  • Java 1.4
  • Java 1.5
  • Java 1.6
  • JavaScript
  • JIRA
  • JNI
  • JUnit
  • lex
  • Linux
  • Linux Kernel 2.2.x
  • Linux Kernel 2.4.x
  • macos
  • Make
  • make
  • MatLab
  • MKS Source Integrity
  • MS Access
  • MS DOS
  • MS Platform SDK
  • MS SQL Server
  • MS SQL Server Express
  • MS Visual C++
  • MS Visual C/C++
  • MS Windows
  • MS Word
  • MySQL
  • MySQL 5.x
  • NanoXML Library
  • National Instruments ISA
  • National Instruments PCI
  • NEC7210
  • Node.js
  • Novell Netware
  • Objective-C
  • openssl
  • OpenXML4j
  • Packer
  • Pascal
  • perl
  • Perl
  • PHP
  • PHP4
  • PHP5
  • PKI
  • postfix
  • Project Management
  • PromiseKit
  • Puppet
  • RTLinux
  • Ruby
  • Ruby on Rails
  • RubyMine
  • Safari
  • Safari Technology Preview
  • Sales
  • Savant2 Library
  • Scheme
  • Scrum
  • sed
  • Signal Generator
  • SkinLF Library
  • Sorcus OsX (RT)
  • ssh
  • SuSE Linux
  • SVG
  • svn
  • Swift
  • Swing
  • TI9914
  • Vagrant
  • VirtualBox
  • Visual Basic
  • Visual C++ Express
  • VMWare Workstation
  • Watcom C/C++
  • Watcom C/C++ (32bit Protected Mode)
  • WebStorm
  • Win32
  • Win32 DDK
  • Win32 platform
  • WinWord
  • Xcode
  • XML
  • XmlBeans
  • XSLT
  • yacc

Further development of mobile iOS App "Cornelsen Lernen"

10/2020 - 5/2023

Cornelsen Verlag GmbH, Berlin, Germany

Further development of mobile iOS App "Cornelsen Lernen" in crossfunctional team in an agile environment. Implementation of backend communication with coordination across teams. Integration of complex web components in iOS App with bidirectional data flow. Implementation of deployment environments and targets, integration in CI/CD.

  • Xcode
  • Objective-C
  • Swift
  • AppCode
  • RubyMine
  • JavaScript
  • Ruby
  • git
  • JIRA
  • Scrum

Extend JavaScript Client Logging Module for Remote Message Transfer

11/2019 - 4/2020

(NDA)

Extend existing JavaScript client logging module with remote message transfer abilities. Implement message queue with batch send support and exponential backoff for error recovery.

  • Implement back off queue, batch transfer with size limit and test cases
  • Implement remote message transfer
  • Detailed testing in major browsers on desktop and mobile platforms
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • AMD
  • Node.js
  • Chrome Developer Tools
  • Firefox Developer Tools
  • MS SQL Server
  • hg

Implement maximum length constraint in CKEditor backed custom control

12/2019 - 4/2020

(NDA)

Implement maximum length constraint in CKEditor backed custom control.

  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • Node.js
  • Highcharts
  • CKEditor
  • Chrome Developer Tools
  • Firefox Developer Tools
  • Java
  • Make
  • MS SQL Server
  • hg

Implement customer requirements for chart and richtext controls

9/2019 - 12/2019

(NDA)

Implement customer requirements for chart control and richtext control. Optimize chart rendering. Investigate errors in CKEditor library and develop bug fixes.

  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • Node.js
  • Highcharts
  • CKEditor
  • Chrome Developer Tools
  • Firefox Developer Tools
  • Java
  • Make
  • MS SQL Server
  • hg

Investigate Options for Network Chart Implementation

8/2019 - 9/2019

(NDA)

Investigate JavaScript network chart libraries for use in custom framework. Analyze and compare feature sets for decision process. Implement a set of prototypes showcasing network charts using different charting libraries. Performance analysis on major browsers on desktop and mobile platforms. Derive feature and requirements matrix for decision process.

  • Investigate JavaScript chart libraries
  • Implement a set of prototypes to test performance and ability to integrate the chart libraries
  • Derive recommendation based on evaluation score
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • AMD
  • Node.js
  • Java
  • Make
  • Bash
  • MS SQL Server
  • hg

Implement heatmap and treemap in Highcharts backed chart control

4/2019 - 6/2019

(NDA)

Implement heatmap and treemap chart in chart control.

  • Create prototype to investigate available Highcharts featuresets and application framework requirements
  • Adjust chart control to provide heatmap charts
  • Create tests for automated ui testing
  • Detailed testing in major browsers
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • Node.js
  • Highcharts
  • Chrome Developer Tools
  • Firefox Developer Tools
  • Java
  • Make
  • MS SQL Server
  • hg

Investigate and Correct syn Library Bugs

2/2019 - 4/2019

(NDA)

Investigate and correct bugs in syn (event synthesizing library for automated UI tests), which surfaced with updated richtext control.

  • Investigate syn library event processing for richtext control
  • Correct bugs
  • Detailed testing in major browsers
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • Node.js
  • CKEditor
  • Chrome Developer Tools
  • Firefox Developer Tools
  • Java
  • Make
  • MS SQL Server
  • hg
  • git

Upgrade Highcharts Library to v6 in Chart Control

12/2018 - 1/2019

(NDA)

Upgrade Highcharts library from version 5 to version 6 in chart control in custom application framework. Adjust build scripts for new modularized Highcharts build system.

  • Adjust custom build scripts for Highcharts v6 JavaScript library
  • Adjust chart control to updated Highcharts library
  • Detailed testing of updated chart control
  • Update test scripts for automated UI testing
  • Adjust custom framework module build script to provide minified files instead of using minified files produced by Highcharts build
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • AMD
  • Node.js
  • Highcharts
  • Java
  • Make
  • MS SQL Server
  • hg
  • git

Optimize RichText Control

5/2018 - 11/2018

(NDA)

Optimize CKEditor backed richtext editor control for variety of browsers and reduced screen size on mobile platforms. Determine cause of memory leaks in CKEditor library and implement proper release logic to reduce memory leaks.

  • Investigate and correct various CKEditor bugs relevant in custom application framework
  • Optimize visual presentation on small screens
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • Chrome Developer Tools
  • IE Developer Tools
  • iOS Simulator
  • Safari Technology Preview
  • Developer Tools
  • Android Studio
  • Android Emulator
  • Chrome
  • Safari
  • Firefox
  • IE
  • Edge
  • AMD
  • Node.js
  • CKEditor4
  • Java
  • Make
  • Bash
  • cygwin
  • MS SQL Server
  • hg
  • git

Implementation of RichText Control

12/2017 - 8/2018

(NDA)

Investigate JavaScript richtext editing libraries for use in custom framework. Analyze and compare feature sets for decision process. Prepare CKEditor JavaScript library for use in Asynchronous Module Definition (AMD) context. Implement richtext editor control with CKEditor as basis in custom framework.

  • Investigate JavaScript richtext editor libraries
  • Implement a set of prototypes to test performance and ability to integrate the editor libraries
  • Derive recommendation based on evaluation score
  • Prepare CKEditor JavaScript library for use with AMD loaders
  • Implement module to modify CKEditor behaviour during load time to be AMD compatible without custom CKEditor source code changes
  • Implement custom richtext editor control for custom application framework
  • Create test scripts for automated UI testing
  • Modularize CKEditor build to allow loading subset of components (reduce library footprint)
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • AMD
  • Node.js
  • CKEditor4
  • Java
  • Make
  • cygwin
  • Bash
  • MS SQL Server
  • hg

Create Virtual Server Infrastructure for Mail, VCS, Backup and VPN

1/2018 - 6/2020

(inhouse)

Create a virtual server infrastructure to host various servers and establish seed, backup and restore procedures. The infrastructure is designed to have minimal footprint in resources and dependencies and can operate while being disconnected from the internet. Create a mail server using postfix, dovecot and fetchmail for all inhouse mail traffic and storage. Create a storage server for automatic backup and restore of the intranet servers. Create a VCS server for svn, hg and git hosting. Create a VPN server for remote network access. Create a low resource mirror for the Alpine Linux project to ensure productivity in case of internet outages.

  • IntelliJ IDEA
  • WebStorm
  • VirtualBox
  • VMWare Workstation
  • Vagrant
  • Puppet
  • Packer
  • JavaScript
  • Node.js
  • dovecot
  • fetchmail
  • postfix
  • Alpine Linux
  • Ruby
  • bash
  • ssh
  • PKI
  • openssl
  • cygwin
  • svn
  • hg

Implementation of Chart Control

8/2017 - 12/2017

(NDA)

Investigate JavaScript chart libraries for use in custom framework. Analyze and compare feature sets for decision process. Prepare Highcharts JavaScript library for use in Asynchronous Module Definition (AMD) context. Implement custom chart control with Highcharts as basis in custom framework.

  • Investigate JavaScript chart libraries
  • Implement a set of prototypes to test performance and ability to integrate the chart libraries
  • Derive recommendation based on evaluation score
  • Prepare Highcharts JavaScript library for use with AMD loaders
  • Implement custom chart control for custom application framework
  • Create test scripts for automated UI testing
  • IntelliJ IDEA
  • WebStorm
  • Eclipse
  • JavaScript
  • AMD
  • Node.js
  • Highcharts
  • Java
  • Make
  • Bash
  • MS SQL Server
  • hg

Activate Base Internationalization in iOS iPad app

7/2017 - 8/2017

(NDA)

Investigate internationalization and localization of iOS iPad app. Implement scripts to inspect and extract localization information from layout files (xib). Reduce layout files in project and harmonize localization texts.

  • Investigate details of internationalization in iOS iPad app
  • Implement script to process all layout files and extract localization information
  • Harmonize all layout files to use base layout with localization strings
  • Extensive testing of user experience to address remaining localization issues
  • Xcode
  • Objective-C
  • Ruby
  • Vagrant
  • Puppet
  • VirtualBox
  • hg
  • CentOS

Optimize concurrent processing in iOS App

3/2017 - 6/2017

(NDA)

Investigate performance reduction in iPad app under heavy load. Analyze concurrent video processing. Resolve bottlenecks by serializing relevant processing tasks.

  • Add logging information to video processsing operations
  • Implement and evaluate performance tests
  • Optimize serial and parallel processing
  • Adjust operations dependency handling
  • Xcode
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • PromiseKit
  • hg

Add Promises Library to Improve iOS App Tests

1/2017 - 3/2017

(NDA)

Investigate promises libraries to improve iOS app tests.

  • Research promises libraries applicable to iOS app
  • Implement prototypes for testing subset of libraries
  • Add Objective-C PromiseKit library to iOS iPad app
  • Implement helper classes to simplify PromiseKit use with app's requirements
  • Adjust test cases to use promises
  • Xcode
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • PromiseKit
  • hg
  • CentOS

Adjust iOS App user workflows

9/2016 - 12/2016

(NDA)

Adjust user workflows for user registration, teaching sessions and content browsing.

  • Adjust user registration process
  • Adjust content browsing user experience
  • Adjust video recording and workflow for teaching sessions
  • Xcode
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • Ruby
  • Ruby on Rails
  • JavaScript
  • hg
  • CentOS

Localization for French in iOS iPad app

7/2016 - 9/2016

(NDA)

Improve French localization of iOS iPad app. Develop script to investigate missing or non-matching translations. Analyze and correct localized screen layout files.

  • Create script to analyze missing or non-matching translations
  • Run detailed tests focusing on French localization
  • Adjust screen layout files for l10n issues (about 50 fr XIB files)
  • Adjust French information in collaboration with translator team
  • Xcode
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • Ruby
  • Ruby on Rails
  • hg
  • CentOS

Correct file caching implementation in multi-threading environment in iOS iPad app

2016 - 2016

(NDA)

Investigate legacy file caching implementation in iOS iPad app. Rewrite file caching module with extensive testing to cover multi-threading issues.

  • Analyze legacy file caching implementation
  • Detailed investigation of requirements for file caching
  • Implement new file caching solution
  • Extensive testing with multi-threading focus
  • Xcode
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • Ruby
  • Ruby on Rails
  • hg
  • CentOS

Replace Video Platform in iOS App

4/2016 - 5/2016

(NDA)

Replace Video Platform used in iOS app. Create prototype to simplify testing updated video player. Integrate in-house video platform into iOS app.

  • Remove existing video platform library and access code from iOS app
  • Implement access to in-house video platform
  • Implement prototype for simplifying video player tests
  • Detailed testing and optimization of video player code to ensure correct user experience on variety of devices on iOS versions
  • Xcode
  • Objective-C
  • RubyMine
  • JavaScript
  • Vagrant
  • Puppet
  • VirtualBox
  • Ruby
  • Ruby on Rails
  • hg

Replace RESTful API with JSON-RPC API

1/2016 - 4/2016

(NDA)

Replace RESTful API with JSON-RPC API. Implement intermediate server translating new JSON-RPC requests into old RESTful requests providing for a transition in small testable steps.

  • Create documentation for interoperability of JSON-RPC and RESTful API
  • Implement intermediate server for API translation
  • Implement command line Ruby client to simplify tests
  • RubyMine
  • Vagrant
  • Puppet
  • VirtualBox
  • Ruby
  • Ruby on Rails
  • hg

Implement toolset to generate UML and ERD documentation

11/2015 - 1/2016

(NDA)

Create toolset to generate UML and ERD documentation of Ruby on Rails server backend source code. Generate documentation.

  • Investigate existing tools to generate documentation
  • Adjust tool for required feature set
  • Generate documentation
  • RubyMine
  • Vagrant
  • Puppet
  • VirtualBox
  • Ruby
  • Ruby on Rails
  • hg

Add iOS9 compatibility to iOS iPad App and Backend

9/2015 - 10/2015

(NDA)

Adjust iOS app and backend for new requirements for iOS9.

  • Analyze requirements for iOS9 support
  • Adjust integration of third party libraries and frameworks for iOS9 support
  • Implement app and backend prototype for testing App Transport Security
  • Implement App Transport Security
  • Xcode
  • RubyMine
  • Vagrant
  • Puppet
  • Packer
  • VirtualBox
  • Objective-C
  • Ruby
  • Ruby on Rails
  • hg
  • CentOS

Rebrand Custom White Label iOS iPad App and Backend

4/2015 - 9/2015

(NDA)

Rebrand for custom white label use of iOS iPad app. Change colours, layouts, graphics and texts in iOS iPad app. Implement custom workflows in Ruby on Rails server backend.

  • Adjust colours to match corporate colour theme
  • Replace texts and logos
  • Adjust layout (about 45 layout files)
  • 64-bit build support in iOS app
  • Implement custom workflows in server backend
  • Xcode
  • RubyMine
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • Ruby
  • Ruby on Rails
  • Adobe Photoshop
  • hg
  • CentOS
  • AVFoundation library

Optimize process monitoring in backend

3/2015 - 4/2015

(NDA)

Integrate god process monitoring framework, resque-retry and resque-web into Ruby on Rails server backend.

  • Analyze integration of god, resque-retry and resque-web
  • Create custom VM and test integration
  • Integrate god, resque-retry and resque-web in backend
  • RubyMine
  • Vagrant
  • Packer
  • Puppet
  • VirtualBox
  • Ruby
  • Ruby on Rails
  • hg
  • CentOS

Correct Audio Codec Issue in iOS iPad App

11/2014 - 3/2015

(NDA)

Analyze audio recording errors and implement solution for affected devices.

  • Analyze audio recording problem with variety of iOS devices
  • Correct audio recording module
  • RubyMine
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • hg
  • CentOS
  • AVFoundation library

Rebrand iOS iPad App

9/2014 - 10/2014

(NDA)

Rebrand iOS iPad App by changing colours, layouts, graphics and texts. Correct high priority issues in server backend.

  • Adjust colours to match corporate colour theme
  • Replace texts and logos
  • Adjust layout (about 45 layout files)
  • Correct logging behaviour in Ruby on Rails backend
  • Optimize PNG files for mobile devices
  • Correct execution of external programs in Ruby on Rails backend
  • Xcode
  • RubyMine
  • Vagrant
  • Puppet
  • VirtualBox
  • Objective-C
  • Ruby
  • Ruby on Rails
  • Adobe Photoshop
  • hg
  • CentOS
  • AVFoundation library

Create set of iOS apps for learning specific topics

2014 - 2020

(inhouse)

Create a set of iOS apps (Üben brand) for practicing or learning specific topics for elementary school level. Topics are music notes, addition, multiplication, conversion, rounding. The apps share a common core implementation for the learning workflow. Artwork is developed with Inkscape in SVG format for easy scaling to different image dimensions. Scripts are developed to export artwork in all required image dimensions. Fastlane is used to automate development, testing and release process. Statistical data is collected in XML files or native databases (Core Data).

  • Xcode
  • RubyMine
  • Objective-C
  • Ruby
  • Inkscape
  • SVG
  • hg
  • git
  • iOS
  • fastlane
  • macos
  • iPad
  • iPhone

Updating custom Extended Apache PDFBox Library with latest public code base (1.8.5)

2014 - 2014

(NDA)

Updated custom Extended Apache PDFBox Library (developed for client during earlier project) with latest public code base.

  • Port custom code base to new version of Apache PDFBox
  • Java
  • Java 1.6
  • Swing
  • Eclipse
  • JUnit
  • Ant
  • Adobe Acrobat
  • Adobe Designer
  • hg
  • svn
  • ArgoUML
  • XML
  • XSLT
  • VMWare Workstation

Implement conservative approach for Markup Compatibility and AlternateContent in custom Apache POI XWPF Library

2014 - 2014

(NDA)

Adjust custom Apache POI XWPF library to remove newer variants of AlternateContent when modifying document content. (Office Open XML, OOXML / Word2007).

  • Adjust library to preserve only Word2007 compatible features in AlternateContent variants
  • Adjust handling of Markup Compatibility Attributes to preserve only Word2007 compatible features
  • Create the respective unit tests
  • Add content rendering tests for custom validation tools solution
  • Java
  • Java 1.6
  • Eclipse
  • JUnit
  • OpenXML4j
  • XmlBeans
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT
  • VMWare Workstation

Page insert solution in custom PDFBox library

2013 - 2013

(NDA)

Implement solution to merge PDF files, insert pages and add custom text on pages with customized PDFBox library.

  • Extend PDFBox interface for inserting content at specified page numbers
  • Add package for page numbering and adding custom page messages
  • Add unit tests
  • Add content rendering tests for custom validation tools solution
  • Java
  • Java 1.6
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • svn
  • ArgoUML
  • VMWare Workstation
  • Adobe PDF Tools

Migrate custom libraries to JDK6 (PDFBox, Apache POI HWPF, XWPF, jTDS, iText)

2013 - 2013

(NDA)

Analyze compatibility of customized projects with JDK6 and adjust them to work with JDK6.

  • Collect compatibility issues of customized projects with JDK6
  • Estimate efforts required to correct issues
  • Modify customized projects for JDK6 compatibility
  • Java
  • Java 1.6
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • OpenXML4j
  • XmlBeans
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT

Implement Support for Markup Compatibility in custom Apache POI XWPF Library

2013 - 2013

(NDA)

Extend custom Apache POI XWPF Library to handle Markup Compatibility correctly for insertion and removal of content (Office Open XML, OOXML / Word2007).

  • Added custom handling of Markup Compatibility elements
  • Supported adding, modifying and removing content
  • Created the respective unit tests
  • Java
  • Java 1.5
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • OpenXML4j
  • XmlBeans
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT

Updating custom Extended Apache PDFBox Library with latest public code base (1.6.0)

2011 - 2012

(NDA)

Updated custom Extended Apache PDFBox Library (developed for client during earlier project) with latest public code base.

  • Port custom code base to new version of Apache PDFBox
  • Java
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • Adobe Acrobat
  • Adobe Designer
  • hg
  • svn
  • ArgoUML
  • XML
  • XSLT

Develop cross-platform interactive vector graphics library

12/2010 - 4/2011

(NDA)

Develop a cross-platform interactive vector graphics library for use with the languages Java, JavaScript and Scheme and on platforms JavaSE, Web browsers and mobile phones.

  • Perform inception, elaboration and construction phase for project
  • Develop prototypes in each platform/language scenario
  • Develop common API and platform specific implementations
  • Develop tests
  • Java
  • Java 1.5
  • JavaScript
  • Scheme
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • svn
  • ArgoUML

Updating custom Extended Apache POI HWPF Library with latest public code base

2010 - 2010

(NDA)

Updated custom Extended Apache POI HWPF Library (developed for client during earlier project) with latest public code base.

  • Port custom code base to new version of Apache POI HWPF
  • Java
  • Java 1.4
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • OpenXML4j
  • XmlBeans
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT

Updating custom Extended Apache PDFBox Library with latest public code base

2010 - 2010

(NDA)

Updated custom Extended Apache PDFBox Library (developed for client during earlier project) with latest public code base.

  • Port custom code base to new version of Apache PDFBox
  • Java
  • Java 1.4
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • Adobe Acrobat
  • Adobe Designer
  • svn
  • ArgoUML
  • XML
  • XSLT

Continuous Maintenance and Support for Enhanced Apache POI HWPF Library

2009 - 2010

(NDA)

Provide ongoing support for the enhanced Apache POI HWPF library (developed in earlier projects).

  • Provided maintenance services for the various released versions: Analysis of problem reports, feature enhancements, bug fixes
  • Java
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • OpenXML4j
  • XmlBeans
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT

Analyze and Correct Support for XA in jTDS JDBC Driver

4/2009 - 5/2010

(NDA)

Extended the jTDS JDBC Driver (hosted on sourceforge) to correctly support XA (distributed transactions). (Existing XA support was unstable and lead to exceptions and even complete crashes of the database server. XA support was corrected to provide a production ready implementation.)

  • Analyzed and corrected usage of MS SQL Server XA API in Extended Stored Procedure DLL (XP DLL) of jTDS
  • Corrected multithreading and buffer overflow issues in XP DLL
  • Implemented hashtable storage in XP DLL to support big thread lists while maintaining fast access
  • Corrected XP DLL to reliably recover when SQL Server closes connections for deadlock victims
  • Created unit tests for XP DLL functionality which is testable without SQL Server
  • Changed build environment from Visual C++ 6 to freely available Visual C Express editions
  • Submit changes to public project and assist in acceptance
  • Java
  • Java 1.4
  • Java 1.5
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • svn
  • Visual C++ Express
  • MS Platform SDK
  • MS SQL Server Express

Extend the jTDS JDBC Driver to ensure, Date/Time values are processed correctly across Timezones and Daylight Savings dates

2/2009 - 3/2009

(NDA)

Extended the jTDS JDBC Driver (hosted on sourceforge) to correctly store and retrieve date and time values in different time zones especially during daylight savings change dates. (jTDS exposed multiple bugs regarding reading and writing date and time values. Especially values near daylight savings switch dates were impossible to process correctly. The project was carried out to correct all the date/time issues.)

  • Create detailed test cases to document existing date/time issues
  • Correct jTDS library to process dates/times as UTC values
  • Submit changes to public project and assist in acceptance
  • Java
  • Java 1.4
  • Java 1.5
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • svn
  • Visual C++ Express
  • MS Platform SDK
  • MS SQL Server Express

Extending the Apache PDFBox Library to Support Incremental Updates

09/2008 - 05/2009

(NDA)

Extended the Apache PDFBox Library (initially hosted on sourceforge) to fully support Incremental Updates. Incremental Updates allow filling form field data while preserving document signatures and usage rights. Usage rights allow saving PDF forms from within the Adobe Reader so the users do not need to own the fully functional and expensive PDF authoring suite.

  • Extended data model to track "modified" state
  • Corrected PDF file save module to keep original object structure
  • Adjusted library to ensure digital signatures / usage rights remain valid
  • Extended form modules to propagate changes of AcroForm to XFA forms
  • Created the respective unit tests
  • Java
  • Java 1.4
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • Adobe Acrobat
  • Adobe Designer
  • svn
  • ArgoUML
  • XML
  • XSLT

Extending the Apache POI HWPF Library - OOXML Support

2008 - 2008

(NDA)

Extended the Apache POI HWPF Library (formely part of Jakarta project) to improve and correct reading and writing capabilities of Word files adding support for Office Open XML (OOXML / Word2007).

  • Created modules for loading and saving Word2007 files
  • Created modules handling mergefields, mailmerge and mailing labels processing
  • Supported adding, modifying and removing content such as paragraphs, sections, formatted text
  • Created the respective unit tests
  • Java 1.4
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • OpenXML4j
  • XmlBeans
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT

Extending the Apache POI HWPF Library

2006 - 2008

(NDA)

Extended the Apache POI HWPF Library (formely part of Jakarta project) to improve and correct reading and writing capabilities of Word files (so called Word97 format, used by Word 97 - Word 2003).

  • Created an inspection tool for browsing Word file's internal data and structures
  • Created a library for extracting structured information from binary data with XML based record and format specification
  • Reverse engineered Word file format where publicly available specification is incorrect or incomplete
  • Fixed support for lists, tables, character and paragraph properties, 2-byte characters
  • Added support for bookmarks, fields, OfficeArt images, footnotes, endnotes, headers, footers, annotations, textboxes
  • Created the respective unit tests
  • Java
  • Java 1.4
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • Ant
  • MS Word
  • svn
  • ArgoUML
  • XML
  • XSLT

Porting an ASP/MS-SQL project to PHP/MySQL

3/2006 - 6/2006

Print Media Industry

Porting an industry register / catalog from ASP/MS-SQL to PHP5 with MySQL 5.x database; features of the catalog include user registration with confirmed opt in, presentation of user's contact and expertise details, sending inquiries to registered users by site visitors.

  • Normalize and improve database structure
  • Preprocessing of MS-SQL exported data for import in MySQL
  • Development of PHP package (public frontend and admin backend)
  • PHP
  • PHP4
  • PHP5
  • MySQL
  • MySQL 5.x
  • Savant2 Library
  • ImageMagick
  • sed
  • perl
  • svn

Library for retrieving data from Internet Explorer's proprietary ClientURLCache

2006 - 2006

IT Consulting

Implementation of a library which reads the ClientURLCache of Internet Explorer (various index.dat files with undocumented format)

  • Reverse engineering the format of binary index.dat files (ClientURLCache)
  • Implementation of library, modular design of record parsers
  • Java
  • Java 1.4
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant

Indexer for Seismic Trace Data

2006 - 2006

Geo Physics Industry

Implementation of a library which creates indexes of seismic trace data and which supports indexed retrieval of information from such data; trace data contains up to millions of records; focus on minimum index size and fast operation.

  • (task list to be completed)
  • Java
  • Java 1.5
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant
  • Core Library

Image File Move Application

2006 - 2006

Photography Professional

Small cross platform application for selecting specific images out of a couple of thousand entries, previewing highlighted image and batch copying selected files to destination directory; optimized for use with bar code reader

  • Implementation of a custom table model, cell renderers
  • Use background thread for copying files, mark success/failure status in file list for user feedback
  • Create additional icons and logos for application
  • Java
  • Java 1.4
  • Swing
  • Eclipse
  • Eclipse 3.1
  • svn
  • Ant
  • IzPack Installer
  • Adobe Photoshop
  • Adobe ImageReady

Image Renaming Application

2006 - 2006

Photography Professional

Small cross platform application for image preview and batch rename, focus on fast responsiveness of GUI

  • Implementation of a background image loader
  • Image preview panel with zoom and rotate function
  • Implementation of a custom table model, cell renderers and cell editors
  • Create additional icons and logos for application
  • Java
  • Java 1.4
  • Swing
  • Eclipse
  • Eclipse 3.1
  • svn
  • Ant
  • IzPack Installer
  • Adobe Photoshop
  • Adobe ImageReady

Modular Calculator

2005 - 2006

Cross platform calculator with editable protocol and basic mathematical functions

  • Implementation of a plugin-management
  • Implementation of a custom LayoutManager
  • Design of custom skins for Java LookAndFeels
  • Java
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant
  • SkinLF Library
  • NanoXML Library

Extension module "Industrial Designed Experiments" for calculator

2005 - 2005

module supports statistical analysis of "industrial designed experiments" for optimization of process parameters with minimal experimental efforts

  • implementation of parameter configuration (for instance Taguchi) and statistical calculations (for instance ANOVA).
  • import/export of data via clipboard, csv- and xml-files
  • implementation of custom TableModel, TableEditor, TableRenderer
  • Java
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant

Extension module "Matrix Calculations" for calculator

2006 - 2006

module supports basic matrix calculations

  • Java
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant

Extension module "Materials Science Calculations" for calculator

2005 - 2006

module supports calculations for materials testing including complex unit conversion

  • implementation of an XML based calculation and unit conversion configuration
  • Java
  • Java 1.5
  • Swing
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant

Unit management library

2005 - 2005

Management of physical units, their scope of application and unit systems (SI, MKS, ...)

  • implementation of conversion functions including offset based calculations such as °F to °C etc.)
  • extensibility by users with support of automatic determination of conversions between units of same kind of quantity
  • Java
  • Java 1.5
  • Eclipse
  • Eclipse 3.x
  • JUnit
  • svn
  • Ant

Software development for Scanning Laser Extensometers

2001 - 2005

Project Leader

Measurement and Control Industry

Development of a controller/data recording software under RTLinux and a data acquisition and visualization software under Java. (Scanning Laser Extensometers periodically observe the position of markers on objects which are to be deformed and determine the deformation profile from this information)

  • lead the software development team during detailed design and implementation
  • implemented drivers for measuring hardware and interface boards in RTLinux
  • developed a package for management and control of calculation modules for a wide variety of use cases
  • implemented online calculations and output of values for closed loop control of universal testing machines (UTM)
  • created the protocol specification for communication between realtime backend and Java frontend (control of realtime system as well as data transfer to Java frontend via TCP/IP)
  • implemented a module for data reduction during long time measurements with high data rate
  • Linux
  • SuSE Linux
  • RTLinux
  • Linux Kernel 2.2.x
  • Linux Kernel 2.4.x
  • gcc
  • gcc 2.x
  • gcc 3.x
  • Java
  • Java 1.4
  • Java 1.5
  • JNI
  • Eclipse
  • JUnit
  • Ant
  • C
  • C++
  • MS Visual C++
  • make

Design and implementation of prototype of controller software for Scanning Laser Extensometers using RTLinux

1999 - 2001

Project Leader

Measurement and Control Industry

Control of operation modes and of components of Laser Extensometers (control of Laser, deflection unit, setup of operation modes of optical sensors, status query of Laser-controller, etc.)

  • concurrent control and query of various data acquisition and interface boards
  • implemented drivers for DAQ and interface boards for RTLinux
  • implemented modules for merging multiple synchronous and asynchronous data streams
  • created a specification of an interface protocol to be used for OEM partners and customers
  • implemented remote control modules for the interfaces TCP/IP, RS232, GPIB, TTL
  • implemented online calculations and output of values for closed loop control of universal testing machines
  • Linux
  • SuSE Linux
  • RTLinux
  • gcc
  • make

Development of algorithms and extension of standard software package for biaxial Laser Extensometers

2001 - 2003

Project Leader

Measurement and Control Industry

(biaxial Laser Extensometer include a horizontal scan line in addition to the typically vertical scan line; the horizontal scan line must be positioned precisely during the experiment.)

  • extended the standard software package from support of a single scan line to two synchronous or asynchronous scan lines
  • implemented a module for positioning the secondary scan line with a galvanometer
  • developed a calibration procedure for the galvanometer control system
  • implemented a calibration software for determination of the characteristic curves
  • MS DOS
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • Borland C/C++
  • Assembler
  • MatLab
  • MKS Source Integrity

Development of a software package for controlling a calibration unit for Laser Extensometers

2002 - 2002

Project Leader

Measurement and Control Industry

(The certified calibration of a laser extensometer is done by automatically moving a marker throughout the measuring range and compare the results of the extensometer with a calibrated laser interferometer.)

  • developed the software modules for control of linear displacement unit, interferometer and laser extensometer via RS232
  • developed a package for management of different calibration procedures, running a calibration and post processing of measurement data
  • developed a module for approximation of the characteristic curve of a laser extensometer with a 7-grade polynomial or a cubic spline
  • MS DOS
  • MS Windows
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • Borland C/C++
  • Assembler
  • MatLab
  • MKS Source Integrity

Installation and customization of open source webmail software and project management software

2001 - 2001

Project Leader

Measurement and Control Industry

Analysis of available solutions (open source and commercial products), tests and selection of products and projects, installation and development of usage guidelines

  • installation and customization of qmail, horde/imp, courier-imap and dotproject
  • connection of home offices via VPN (fli4l, cipe, programming of software tool for caller-id authenticated remote control of VPN)
  • Linux
  • SuSE Linux
  • fli4l

Software development for LCF Laser Extensometer

1998 - 1999

Measurement and Control Industry

Developed module for realtime operating system (OsX) on Sorcus Modular 4/486 plug-in-board (ML8) . Developed interrupt controlled data acquisition and processing on personal computer. Developed data evaluation software in Windows.

  • developed module for realtime operating system (OsX) on Sorcus Modular 4/486 plug-in-board (ML8)
  • developed interrupt controlled data acquisition and processing on personal computer
  • developed data evaluation software in Windows
  • MS DOS
  • Sorcus OsX (RT)
  • MS Windows
  • Win32
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • MS Visual C/C++
  • Borland C/C++
  • Assembler
  • MatLab
  • MKS Source Integrity

Reverse-Engineering and driver development for a digital oscilloscope board

1997 - 1998

Measurement and Control Industry

Implemented an IO-port logger for Win95 to monitor port access. Analysed the recorded log files and derived the programming specification for the board. Implemented a driver in DOS.

  • implemented an IO-port logger for Win95 to monitor port access
  • analysed the recorded log files and derived the programming specification for the board
  • implemented a driver in DOS
  • MS DOS
  • MS Windows
  • Win32
  • Win32 DDK
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • MS Visual C/C++
  • Borland C/C++
  • Assembler
  • MatLab
  • MKS Source Integrity
  • Signal Generator
  • Digital Storage Oscilloscope

Development of algorithms for LCF-Laser-Extensometer

1997 - 1998

Measurement and Control Industry

Application of scanning laser extensometers for low cycle fatigue experiments with cyclic deformations

  • carried out error estimation and error calculation for the measurement process
  • signal evaluation with consideration of system related and process related phase shifts
  • developed algorithms for online optimization of data from multiple measuring cycles (required because of low sampling rate)
  • MS DOS
  • Win32
  • MatLab
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • MS Visual C/C++
  • Borland C/C++
  • MKS Source Integrity

Algorithm and software development for Laser-Doppler-Extensometer

1996 - 1997

Measurement and Control Industry

(measuring principle: Laser Differential Doppler Effect)

  • developed algorithms for analysis and evaluation of interference signals, design of digital filters
  • developed algorithms for determining material motion and deformation from raw data (MatLab)
  • tested prototypes with and without phase modifier (control of piezo phase modifier, optimization of control signal for excitation of phase modifier)
  • developed a data evaluation package in MatLab
  • developed a software package for data acquisition using a digital storage oscilloscope and a dedicated transient recorder board
  • MS DOS
  • Win32
  • MatLab
  • C
  • C++
  • Watcom C/C++
  • MS Visual C/C++
  • Borland C/C++
  • MKS Source Integrity

DOS-driver development for GPIB interface

1996 - 1998

Measurement and Control Industry

Developed a driver for integration of measuring systems as "device" in GPIB (ISA & PCI bus) . Carried out extensive debugging on chip and board level with use of digital storage oscilloscope to solve issues caused by specification errors of suppliers .

  • developed a driver for integration of measuring systems as "device" in GPIB (ISA & PCI bus)
  • carried out extensive debugging on chip and board level with use of digital storage oscilloscope to solve issues caused by specification errors of suppliers
  • MS DOS
  • C
  • C++
  • Watcom C/C++
  • Assembler
  • NEC7210
  • TI9914
  • AMCC 5933
  • ComputerBoards
  • National Instruments ISA
  • National Instruments PCI
  • MKS Source Integrity

Integration of software into testing environments of other manufacturers

1997 - 1998

Measurement and Control Industry

Implemented communication interface in measuring and data evaluation software. Implemented a plug-in for external testing machine software (Win32) for asynchronous communication with laser extensometer via RS232 (multi-threading) .

  • implemented communication interface in measuring and data evaluation software
  • implemented a plug-in for external testing machine software (Win32) for asynchronous communication with laser extensometer via RS232 (multi-threading)
  • MS DOS
  • Win32
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • MS Visual C/C++
  • Borland C/C++
  • Assembler
  • MKS Source Integrity

Optimization of software development process

1995 - 1998

Team Leader

Measurement and Control Industry

Created standard libraries for further use in software development. Merged various software variants with compiled settings (about 300 software variants) into configurable standard software packages (4 software packages) . Development involved data acquisition, interrupt handling, port IO, data visualisation, developer and end customer documentation .

  • created standard libraries for further use in software development
  • merged various software variants with compiled settings (about 300 software variants) into configurable standard software packages (4 software packages)
  • development involved data acquisition, interrupt handling, port IO, data visualisation, developer and end customer documentation
  • MS DOS
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Watcom C/C++
  • Borland C/C++
  • Assembler
  • MKS Source Integrity

Development of measuring and data evaluation software for burn-off measurements

1996 - 1997

Measurement and Control Industry

Application in research and optimization of fuels (rocket propellant)

  • implemented a measuring software for recording the activation timing of a photo diode array with inhouse developed data acquisition boards)
  • implemented data evaluation and visualisation software
  • MS DOS
  • Pascal
  • Borland Pascal
  • Assembler

Deployment of revision control systems for software development

1996 - 1997

Measurement and Control Industry

Analysed available RCSs (RCS, Source Safe, PVCS, MKS RCS/SI). Deployment of MKS Source Integrity on Novell Server 3.11, 4.20 and DOS- and Windows-clients.

  • analysed available RCSs (RCS, Source Safe, PVCS, MKS RCS/SI)
  • deployment of MKS Source Integrity on Novell Server 3.11, 4.20 and DOS- and Windows-clients
  • MS DOS
  • Novell Netware
  • MKS Source Integrity

Win32-driver development for inhouse developed data acquisition boards

1995 - 1996

Measurement and Control Industry

Interrupt handling, port IO, dynamic loading of hardware drivers.

  • interrupt handling, port IO, dynamic loading of hardware drivers
  • Win32 platform
  • Assembler
  • C
  • C++
  • MS Visual C/C++

Feasibility analysis for porting DOS software to Windows based software package

1995 - 1996

Measurement and Control Industry

(Major part of project was diploma thesis)

  • analysed consequences of porting DOS based software to Win32 platform
  • carried out timing analyses of various approaches for data acquisition
  • diploma thesis: "Design of a modular measuring and control system under Windows"
  • design of a Windows based measuring and data evaluation software
  • Win32 platform
  • Assembler
  • C
  • C++
  • MS Visual C/C++
  • Signal Generator
  • Digital Storage Oscilloscope

Algorithm development and data evaluation of semi-2D optical deformation measurement with scanning laser extensometers

1995 - 1998

Measurement and Control Industry

Implemented data evaluation scripts in MatLab, carried out the calculations using PC-cluster . Implemented a data browser for offline-analysis of the data.

  • implemented data evaluation scripts in MatLab, carried out the calculations using PC-cluster
  • implemented a data browser for offline-analysis of the data
  • MatLab
  • Watcom C/C++ (32bit Protected Mode)

Development of a DOS boot manager

1993 - 1995

(private project - was adopted by employer as standard boot manager for all on-site computers and all computers delivered to customers world wide.)

Implemented an MS-DOS device driver (character mode). Implemented a parser for analyzing CONFIG.SYS from within the device driver. Implemented menu based selection of boot configurations for the user. Adjusted source code of Turbo Vision library for use in device driver. Implemented a module for patching the memory image of CONFIG.SYS to apply the selected boot configuration . Implemented a mouse driver for use in the boot manager. Created user documentation.

  • implemented an MS-DOS device driver (character mode)
  • implemented a parser for analyzing CONFIG.SYS from within the device driver
  • implemented menu based selection of boot configurations for the user
  • adjusted source code of Turbo Vision library for use in device driver
  • implemented a module for patching the memory image of CONFIG.SYS to apply the selected boot configuration
  • implemented a mouse driver for use in the boot manager
  • created user documentation
  • DOS
  • C
  • C++
  • Borland C/C++
  • Assembler
  • lex
  • yacc

Development of macro recording and playing software (DOS TSR)

1994 - 1994

Measurement and Control Industry

Implemented a TSR program to log key presses and their timing. Implemented a program for starting a software and playing the recorded actions (purpose for the software is automated demonstration of MS-DOS based software on exhibitions) .

  • implemented a TSR program to log key presses and their timing
  • implemented a program for starting a software and playing the recorded actions (purpose for the software is automated demonstration of MS-DOS based software on exhibitions)
  • DOS
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Borland C/C++
  • Assembler

Integration of Laser Extensometer software into testing machines of other manufacturers using GPIB (IEEE 488)

1993 - 1994

Measurement and Control Industry

Extended existing software to support remote controlled setup of operation modes. Extended existing software to transfer measuring data and status information via GPIB.

  • extended existing software to support remote controlled setup of operation modes
  • extended existing software to transfer measuring data and status information via GPIB
  • DOS
  • Pascal
  • Borland Pascal
  • C
  • C++
  • Borland C/C++
  • Assembler

Maintenance of legacy software packages for laser extensometers

1992 - 1994

Measurement and Control Industry

Data acquisition, interrupt handlers, port IO. Data visualisation. Developer and user documentation.

  • data acquisition, interrupt handlers, port IO
  • data visualisation
  • developer and user documentation
  • DOS
  • Pascal
  • Borland Pascal
  • Assembler

Maintenance of various databases

1993 - 2003

Measurement and Control Industry

MS Access, FileMaker, ACT, MySQL. Created software to convert and transfer data from one database to the other (Visual Basic for controlling database software, Watcom C for implementation of data converters) .

  • MS Access, FileMaker, ACT, MySQL
  • created software to convert and transfer data from one database to the other (Visual Basic for controlling database software, Watcom C for implementation of data converters)
  • MS Access
  • FileMaker
  • ACT
  • MySQL
  • Visual Basic
  • Watcom C/C++

Design and creation of marketing documents

1994 - 2005

Measurement and Control Industry

  • Adobe Photoshop
  • Adobe InDesign
  • Adobe Illustrator
  • Adobe Acrobat Professional
  • CorelDraw
  • WinWord

Design, creation and maintenance of websites

1998 - 2005

Measurement and Control Industry

Implemented a perl script to generate static web pages on base of configuration, template and content files with support of language switching, creation of menus and sitemaps) . Initially used MS FrontPage.

  • implemented a perl script to generate static web pages on base of configuration, template and content files with support of language switching, creation of menus and sitemaps)
  • initially used MS FrontPage
  • Perl
  • HoTMetaL
  • FrontPage

Customer acquisition (national and international) / Demonstration, presentation, delivery and training; for customers and sales agents

1997 - 2005

Measurement and Control Industry

Developed solutions for custom applications of laser extensometers. Personally carried out tests and demonstration measurements as well as leading the team for such activities . Created detailed quotations. Contract negotiations (German and English language). Created presentation material, documentation and papers (German and English). Travel activity in Europe, America and Asia. Presentations on conferences (German and English). Representation on international exhibitions.

  • developed solutions for custom applications of laser extensometers
  • personally carried out tests and demonstration measurements as well as leading the team for such activities
  • created detailed quotations
  • contract negotiations (German and English language)
  • created presentation material, documentation and papers (German and English)
  • travel activity in Europe, America and Asia
  • presentations on conferences (German and English)
  • representation on international exhibitions
  • Sales

Project management, fund raising applications, status reports

1997 - 2005

Measurement and Control Industry

TBD

  • Project Management