Project: New JavaFX - Exposing and utilizing hardware acceleration cross platform.
Activities: Targeting the desktop and mobile device for high performance state of the
art UI, utilizing OpenGL and OpenMax.
Redesign of JOGL to support any windowing system without AWT and exposing the different OpenGL
profiles (ES 1.1, ES 2.0 and GL 2.0).
IT-Environment: Solaris, Windows, Linux, Java, JOGL, OpenGL, OpenMax, OpenKode, ARM,
IA-32, Amd64, Sparc, GCC, VS-C, ..
Project: New Java Plugin incl. JNLP support
Activities: Migrating JNLP in the new plugin. Design and refactoring of the new plugin and JNLP modules,
incl. Client/Server communication, Unix Domain Sockets, and lots more.
IT-Environment: Solaris, Windows, Linux, Java, IPC, Networking,
UML, IA-32, Amd64, Sparc, GCC, VS-C, ..
Project: Embedded Graphics driver; Various embedded driver features and enhancements.
Activities: Design, realization and ongoing enhancement of the embedded graphics driver
and interfaces to the OpenGL core, EGL 1.1, ES 1.1/2.0, etc. for various graphic chips R3xx,
R5xx, R6xx and their mobility variants.
Technical Team lead.
Design and implementation for various features based upon customer requirements,
e.g. performance OpenGL extension, hardware overlay, asynchronous ReadPixel, GLSL/DMA texture
transfers, page flip and VSync, multi DMA page locks, etc.
High performance enhancements about 250% targeting many functional blocks of the driver, e.g. TLS, inlining, caching, dispatch table, stream copy, etc.
Managing and analysing customer requirements and transfering them to technical specifications.
Participating in the general driver development within the software team.
Targeting AMD's Linux kernel driver enhancements, etc.
IT-Environment: Doxygen, Office, UML, Perforce, Remedy; GNU: GCC, Linux,
Valgrind, VTune, ATI Graphic Cards, Linux Kernel, OpenGL, GL ES; IA-32 and PPC, MPEG.
Project: Non Volatile Ram Manager
Activities: Requirement Management and writing the Specification for a new NV Ram Manager. The new module is based upon the experience of the predecessor module and its users, as well as the customers new requirements.
IT-Environment: MKS, Doors, Innovator, Doxygen, MS Office, NEC, Lotus
Project: Linux Device Driver - Monolithic and User Space
Activities: Improving knowledge about how to use user space functionality with Linux device drivers. Learning the pros and cons of simple ressource handler and the questionable usage of complex user space libraries. Implementing a portion of the linux dvb api as an user level driver using the knowledge of FUSD and the gelato project.
IT-Environment: Linux Kernel 2.6.x, gcc, g++, dvb api, FUSD, gelato, ...
Project: Embedded Multimedia Player
Activities: Evaluation and Proof of Concept of hardware and software solutions.
Writing the Proof of Concept paper including the evaluating, test and quality audit of one mpeg solution incl. the software toolchain.
IT-Environment: Change Synergy, CM Synergy, x86, ESS 6218, ST20, Ansi-C++, DSP, gcc, mpeg2, a52, mp2, lpcm, dvd, ...
Project: OSGI, Multimedia, Embedded Sytems, Open Source, ...
Activities: Various activities around multimedia and OSGI support for embedded automotive systems.
Evaluating, porting and enhancing misc. open source multimedia projects, like vdr, vdr-dvd, xine, mplayer, libdvd, ... to being used on a QNX-NTO sh4 platform.
Creating a dvb-driver for a DSP mpeg2 decoder board running under QNX-NTO, which implements the linux-dvb api. This allows the usage of dvb-api application like VDR and mplayer (dvb video-out).
Evaluating linux-sh for the sh4 developing platform, adding pci-dma support, as well as implementing the PCI-IRQ managment. Porting a sh4 bootloader using bootp/nfs for the discless system.
Evaluating a platform independing GUI/Widget toolkit: QT. The goal was to use any host and target system to develop, test and crosscompile a GUI enabled project. To satisfy quality requirements, source code as well as a GUI Builder should be available, some platform ports should allready exist and the API should be state of the art.
Implementing OSGI bundles/applications in an client/server environment for embedded systems (QNX-NTO, XFree86, Java/J2ME, ...).
IT-Environment: Linux, QNX-NTO, x86, SH4, Ansi-C, Ansi-C++, Java, OSGI, XFree86, QT, QT Designer, DSP, gcc, gdb, ddd, mpeg2, a52, mp2, lpcm, dvd, ...
Project: Multimedia ..
Activities: Evaluation and enhancing of open source multimedia projects, like VDR, vdr-dvd, ...
IT-Environment: GNU/Linux, Ansi-C++, mpeg2, a52, dvd, ...
Project: Speaker: OpenGL(R), and New I/O - High-Performance 3D Graphics for the Desktop Client.
Activities: Presentation about the high performance New I/O, demonstrated with the OpenGL(R) language mapping for Java(TM).; Architecture, implementation and future prospects.
IT-Environment: GNU/Linux, Windows, Java, OpenGL
Project: System Administration
Activities: Installation, design and maintenance of a heterogene IT infratsructure, using GNU/Linux, iptables, ppp, apache, sendmail, fetchmail, procmail, samba, nfs, nis, ssl, ssh, ... for the DMZ to serve GNU/Linux and Windows clients within different secure and insecure subnets.
Customers are public schools, training centers and internet shops.
IT-Environment: GNU/Linux, Windows, MacOSX; iptables, ppp, apache, sendmail, fetchmail, procmail, samba, nfs, nis, ssl, ssh, popper, imapd, VPN, ..
Project: OSGI - CarRemoteControl
Activities: Implementation of ClientServer OSGI bundles. The server, installed into the car, provides misc. remote maintenance services, like door locking, camera snapshots of the driver and retrieving it's current position via GPS. The client may connect to the server and use such services in the role of the main user, or in the role of the observer (read-only access). The network access is secured via SSL and RSA encryption and authorized using RSA signatures.
The goal is to demonstrate the remote car control via Java and OSGI bundles, which may be installed onto the client through the internet.
More bundles are under development.
IT-Environment: Java (Sun J2SE, IBM's J2ME J9), OSGI (IBM, Oscar, Acunia), HTTPS/SSL (JSSE), RSA (JCE) Encryption + Signature, Serial+Parallel (JavaComm), MOST, GPS
Project: XFree86 Integration and Driver Modules
Activities: Implementation of an XFree86 driver module for the Scarlet Fujitsu MB86291 graphics device running under Linux & QNX (X86, SH4).
Adaptation and bugfixing of the XFree86 driver module, for the Siliconmotion Lynx3DM graphic device running under Linux & QNX (X86,SH4).
The X11-Server should being used within embedded systems and should provide therefor a graphics interface with network abilities.
While using an X11-Servers in the unix (qnx) environment we open up our platform to a huge amount of available applications, e.g. media players, Java AWT implementations etc.
Hardware accelerated functions of such graphic devices, such as blitter (XAA), YUV overlay (XVideo), can also being used via the generic X11R6 interface. A high performance usage of the Scarlet and of the Lynx3DM should therefor being guaranteed.
Miscellaneous adaptation of the XFree86 internals to QNX-NTO, for usage for the X86 and SH4 processor are made.
IT-Environment: Linux, QNX-NTO, Ansi-C, Ansi-C++ XFree86, Scarlet Gfx Chip, Lynx3DM Gfx Chip, gcc, gdb, ddd, X86, SH4
Project: X11-Server AWT Implementation for Java
Activities: Completion & Bugfixing of the AWT Implementation of Kaffe. This AWT implementation does not require Motif (low Memory Footprint), but renders the GUI Widgets exclusively with the XLib. With the assistance of this AWT solution we are able to use standard Java GUI's within the J2ME environment on a Unix and X11R6 based platform.
A QT solution was evaluated as well, but because of the limited availability of a native QT implementation for the embedded device, this approach was discarded.
IT-Environment: Java (Sun J2SE, IBM's J2ME J9), Linux, QNX-NTO, X11-Server, QT, Kaffe
Project: Location Based Premium Services (Usability)
Activities: Evaluation of an application server based upon XML. The application logic is provided via XML-Tags to the web-author. These application-sheets, XSP, can be implemented with Java, as well as with any other programming language. The XML engine Cocoon, provides a framework for this purpose. XML documents may be filtered (piped) and serialized in such a manner, so the application logic (XSP) as well as multilanguage support and several output formats may be used.
Database objects may be used through the J2EE interface.
The purpose of this server is to provide location based services. Premium information (e.g. traffic control) is provided to the subscriber, which is connected to the network (GSM) and provides it's location via GPS.
IT-Environment: Linux, Java, Servlets (Tomcat), Cocoon (XML/XSP/XSL), J2EE (JBoss), Apache, GPS
Project: Visualisation Organized Sturktures in 3D
Activities: Implementation and Design of a 3D visualisation of organized structures (likely an organigram). The hyperbolic space (3D) is used therefor, so the objects and their correlated links are represented within a sphere. Interactions via mouse-over, mouse-drag and selection are used to navigate through the strukture.
IT-Environment: GNU/Linux, UML, Java, OpenGL For Java (GL4Java), OpenGL, UML(ArgoUML).
Project: Client/Server Protocol via XMLRPC
Activities: Implementation and Design of a communication solution between a native server application running on AIX incl. DBMS and many Java clients.
The XMLRPC is used for this purpose as the lightweight protocol.
The XMLRPC is implemented in native Ansi-C++ for the server side, as well as in Java for the client side.
IT-Environment: AIX, Java, XMLRPC, UML(ArgoUML).
Project: HLR-Innovation
Activities: Participation of new inventions of the Home Location Registers (HLR). This HLR ist part of the infrastructure for the mobile telecommunication. Design, implementation and tests belong to these task areas.
IT-Environment: Unix (Solaris), UML, C++, Java, TCP/IP, MAP/TCAP/CSS7, RTC.
Project: Speaker: Introduction to the OpenGL(R) language mapping for Java(TM)
Activities: Presentation about the OpenGL language mapping for Java.; Architecture, implementation and usage.
IT-Environment: GNU/Linux, Windows, Java, OpenGL
Project: Tutoring in the Subjects networking and Java
Activities: Basics and praxis of network techniques, as well as the programming of tcp/ip based protocols in Java.
IT-Environment: Unix (Linux), Java, TCP/IP
Project: Reassurance auction platform in the internet
Activities: Architecture and implementation of an auction application for the internet. Direct insurers are able to offer partial layers of the overall risk to the reassurance companies. The whole handling incl. customer managment (booker, direct insurer and reassurance) can take place on the HTML interface (Webbrowser).
IT-Environment: Application server (Websphere, Apache, XML, Java servlets), Java, EJB, DB2, PowerDesigner (DB-Design), Win32, Solaris.
Project: Cheops
Activities: Modelling, implementation and test of theme objects based upon created UseCases. The product discusses the complete energy economy (device managment, customer services, etc.). The application is implemented in Java as a client/server solution.
IT-Environment: Java2, Paradigm Plus, PVCS, Win32, Oracle, Framework incl. ODBMS<->RDBMS Maper, GUI (View, Controller, Business Object), Java Generator for Paradigm Plus, JDBC, Corba, RMI, EMail.
Project: 3D Scenegraph-API for Java.
Activities: Implementation of a native interface to the scenegraph library. Using the scenegraph API and GL4Java an application should be able to manage complex 3d structures and access native 3D techniques. The maintenance and adaption of the scenegraph API is also part of this work.
IT-Environment: Unix (Linux), Windows, VRML, OpenGL, GL4Java, Java
Project: GLMame32 .
Activities: Implementation of a M.A.M.E. display drivers for OpenGL for unix and windows. Alegation was Mike Oliphant's GLMame XMame . The same could be modified, bugfixed and improved. GLMame32 is licensed under the GNU Library General Public License !
IT-Environment: Unix (GNU/Linux), Windows NT/95, OpenGL, MSVC++ 5.0
Project: Easy Travel Online (ETO) der Lufthansa Airplus .
Activities: My tasks included the support of the C++, IIOP and Java environments, as well as the networking area. I managed to find a solution for the IIOP tunneling via HTTP incl. proxy server and a firewall. This solution is implemented like the ETO client in Java and uses the Java-Servlet-API (JSDK). The targets of this new middleware are the client itself and the web server within the server domain. The middleware also implements secure transaction via SSL.
IT-Environment: Unix (Aix, GNU/Linux), Windows NT, , JDK 1.1.X, Java2, JSKD 2.1, Apache, Iona Orbix (-Web), Cygwin32, TCP/IP, HTTP, SSL, Firewall, Proxy-Server
Project: GL4Java Version 2.X (see 04/1997 - 01/1998).
Activities: Design and implementation of the new objectmodel, to seperate the OpenGL , GLU and window handler objects. Java2 and Netscape are now also supported for Win32. GL4Java is licensed under the GNU Library General Public License !
IT-Environment: Unix (Aix, Solaris, GNU/Linux), Windows NT/95, Macintosh, OpenGL, JDK 1.1.X, Java2, Java-Native-Interface, Cygwin32, TCP/IP, HTTP, GNU-C++, MSVC++ 5.0
Activities: Tutoring in the areas of Ansi-C++, Java and networking. Next to the theory, the learning target was deepened using practical example projects.
IT-Environment: Unix (GNU/Linux), Windows NT, , GNU-C++, JDK 1.1.X, RCS, SNMP, TCP/IP, Apache, UML
Project: Realisation of an upgrade process in SDL and C++
Activities: Participation in Design und Coding of each of the processes for the Upgrade module in SDL and C++. Special functions in C/C++ within the OS VxWorks. Review process, documentation and execution of module and unit tests (regression tests) on the host and target system.
The emphupgrade module is used for the remote maintained firmware distribution of diverse components (xDSL modems).
The emphupgrade process was developed for the project XpressLink of the Siemens AG, M"unchen.
IT-Environment: Unix (Sun - Solaris), Windows NT, SDT 3.11 (Telelogic SDL) , GNU-C++, ClearCase (ClearTool), VxWorks (Target), SNMP (MIB)
Project: GL4Java, OpenGL language mapping for Java
Activities: Creation of a Java extension, which makes OpenGL and GLU natively available under Java. The OpenGL interface is realized with the Java Native Interface (JNI), which connects the Java-Methods to the native OpenGL functions. Creation of a platform independent devlopment environment under Unix (AIX, GNU/Linux) and Windows NT (Cygnus-GNU-Tools, ...) for using Java, ANSI-C, Makefile, etc. These works started under the supervision of Prof. Dr. math. Bunse FH-Bielefeld within my diploma thesis. GL4Java is available under the URL: http://www.jausoft.com/gl4java/.
IT-Environment: Java Developer Kit 1.1.X (JDK), JavaCC, Latex, HTML, Make, RCS, Unix (AIX, GNU/Linux, Solaris), Windows NT, Cygnus-GNU for Win-NT 4.0 (bash, vi, sed, grep, awk, ...)
Project: Technical Prototype (GUI) for a Call-Center Application
Activities: Creation and integration of GUI widgets (objects) and functional extensions in Java for Sun's Java-WorkShop:
Creation of prototypes, creation and installation of a Source Control System (SCCS) on AIX, support of the GUI-Team with Java know-how, Web-Publishing.
IT-Environment: Sun's Java WorkShop 1.0, Java Developer Kit 1.02 (JDK), Symantec Visual-Cafe, JavaCC (Java Compiler Compiler), HTML, Netscape (WWW), Make, SCCS, Unix (AIX), Windows NT, Cygnus-GNU for Win-NT 4.0 (bash, vi, sed, grep, awk, ...)
Project: Platfrom independed graphical user interfaces and applications.
Activities: Usability test of Tcl/Tk and Java, to provide OS independent applications with a GUI. Examples with multithreading, sound, animation, tables, menues and system interfaces are created for testing purposes. The Java libraries, (applet, awt, io, ...) as well as the TK-Library were evaluated for this purpose. The development environment was assembled with the JDK 1.02, GNU/Linux and Java Workshop 1.0.
IT-Environment: Unix (GNU/Linux), MS-Windows 95, ANSI-C, ANSI-C++, Tcl/Tk, Sun's Java WorkShop 1.0, Java Developer Kit 1.02 (JDK), HTML, Netscape (WWW), Make, RCS
Projects: CAD/CAM DIN66025 for 80166-Controller (Sewingmachine), OS services for 8051 and 80166 controllercards.
Activities: Implementation of modules in ANSI-C to support OO development in ANSI-C. Run-Time-Type-Information (RTTI) and virtual methods for user defined datatypes. Implementation of a dynamic polymorph list type. All modules are designed to implement OO designed applications in ANSI-C (80166-Controller, KEIL-C compiler). Making a GUI, a unix like filesystem for a PCMCIA ramcard, and an IPC communication protocol for two 80166-Controller. Porting of the DIN66025 compiler (C++ to C), which was created for the Windows CAD/CAM application (see above). The DIN66025 CNC description is now visualized and editable on the 80166-Controller also.
IT-Environment: Controller hardware 80166 and 8051, MS-Dos, ANSI-C (KEIL compiler for 80166 and 8051 Controller), Unix-Environment for MS-Dos (MKS), RCS, Make, Ansi-C++ (GNU)
Activities: SQL-DB GUI for a webserver. Queries and db-management is offered with a http/cgi interface. Filters to process the non-uniform data for the db import are realised with unix scripts (awk/sed/...).
IT-Environment: Unix (GNU/Linux), HTTP-Server (Apache), mSQL (DBMS), ANSI-C, ANSI-C++ (GNU), RCS, Make, awk, sed, grep
Project: CAD/CAM DIN66025 under MS-Windows (3.1 u. 95)
Activities: Development of a CAD/CAM application. The applications have two windows. One for the grafical, and the other for the text based (DIN 66025) visualisation of the geometric and the technical data. Both windows are editable and the data is hold synchron. The text representation is the source data which is compiled into an OO data structure, which can be drawn in the 2D window and be printed in a DIN66025 text file.
IT-Environment: MS-Windows/Windows95, ANSI-C++ (MS VisualC++), MFC, Word 5 (Onlinehelp), Lex & Yacc (MKS), RCS (GNU), Make (GNU), Unix env. (MKS/GNU/Linux)
Project: DB interface to AutoCad (visualisation and grafical editing)
Activities: Analysis and manipulation of a dBase-DB for AutoCad. Data sets from a Street- and Drain-DB are visualised and edited with AutoCad.
IT-Environment: MS-Dos, ANSI-C++ (Watcom), dBase DB, AutoCad (MS-Dos), RCS (MKS), Make (MKS), Unix env. (MKS/GNU/Linux)
Project: C++ Training
Activities: ANSI-C++ Training 1-2 times weekly.
IT-Environment: ANSI-C++, Teaching with MS-Dos and Borland-C++ 4.0
Projects: CAM tools, compiler- and interpreter construction, crosscompiler for different CNC-Formats, geometric and technologic manipulation of CNC-Formats (optimization and insertion of machine steps and vectors), DB interface, CNC compiler and interpreter.
Activities: Making of a C-like interpreter/compiler. The programs written for this interpreter process a universal CNC-Format (FXM) and translate them to a machine specific CNC-Format. Different CNC filters for analysis and completion of vectors. Machine-cycle-optimization and Vector optimizations. While using generic hash-lists incl. a kind of quick-sort, the seeking of variable objects is fast enough for the big programs. A new version of this interpreter generates a kind of byte-code, a OO program tree. This generated instance of the compiled source code is much faster, and the implementation is much cleaner and more modular and OO orientated.
IT-Environment: MS-Dos, Unix, ANSI-C++ (Borland 4.0, Watcom, GNU-C++), Lex Yacc (MKS), RCS (MKS), Make (MKS), Unix-Env. (MKS/GNU/Linux)
Project: Cross compiler from SET-PR (SDL) to SDT-PR (SDL)
Activities: Development of a Specification-Description-Language (SDL) Cross Compiler from SET-PR to SDT-PR, as well as of SDL-PR to ANSI-C. The task was solved by using LEX, YACC and an ANSI-C Compiler of a SUN- and HP-Workstation.
IT-Environment: Sun- u. HP-Workstation, ANSI-C, LEX u. YACC, Make, Korn-Shell
Project: Solutions- and optimizing systems
Activities: Development of OO genetic algorithmus incl. sample applications Missionary and cannibals (game simulation), as well as distance (travel-salesman) optimization.
IT-Environment: Unix, MS-Dos, ANSI-C++ (Borland 4.0), RCS, Make
Project: Spezification and documentation of parallel Processes.
Activities: Translation of SDL-PR to SDL-GR (Grafic Display) for MS-Windows. Development of protocols for ISDN and Ethernet using SDL.
IT-Environment: MS-Windows, Unix, C++ (Borland 3.1 - Windows), ISDN, Ethernet, SDL
Project: ScanArts - GUI for manipulation of scanned mathematic 2D formulas (described in c't 1993/09).
Activities: Grafic programming for MS-DOS and MS-Windows. General Drag and Drop, Pixelchain scanning, fill algorithms, drawing of Lines and circles, Matrix rotation and transformation as well as Techniques for reversible grafical editing (undo). Co-author of publication Mathematic User Interface with Recognition of two-dimensional Formulas1. My adds here are the chapters Grafical Editing of Grafic Formulas as well as User Interface for ScanArts to Maple Algebra Program.
IT-Environment: MS-Dos u. -Windows, ANSI-C (Borland 3.1, BGI), MapleV, Word 5
Project: Porting a quick-Basic application to Turbo-Basic
Activities: Making translation automats for two Basic-Dialects in ANSI-C.
IT-Environment: MS-Dos, ANSI-C, Basic
sven goethel 2008-06-09