Dipl.-Inf. Jashan Chittesh

This profile is available on the web at:
https://www.daten-raum.de/

Deutsche Version                                                                                                                        

[Photo of Jashan Chittesh] Contact:

Dipl.-Inf. Jashan Chittesh
Forellenstraße 17
D-82266 Inning am Ammersee

Mobil:+49 (176) 234 289 29
eMail: david@daten-raum.de

 

General

Job Title: Graduate Computer Scientist, Software Developer, Independent Game Developer                                                                                                                                                                
Activities: Game development, especially multiplayer; Virtual Reality
Software analysis, design and implementation
Code reviews and quality assurance etc.
Specialties: Development of interactive 3D applications, in particular Virtual Reality (VR), games, game-based learning
for Windows, Mac, Linux, iOS, Android,
SteamVR, Oculus/Meta Quest, Sony PlayStation 5 and PS VR2 (Unity)


Training in the Unity area
Software development in the .NET environment (implementation language: C#)
Software development in the Java environment
Project management
Industries: Architecture, Events, Cinema Ticketing, Educational Software, Marketing, Mechanical Engineering, News Services, Insurance, Economic Planning, Entertainment / Games
Hourly Rate:
Annual Salary:
Depending on project scope: €80.00 - €100.00
€90,000.00
Availability: Available for projects in the games area through my company narayana games UG (limited liability)
Area of Operation: On-site: Munich and surroundings up to 80km west of Munich (e.g., Ammersee, Wörthsee etc.)
Home Office: Worldwide ;-)
Year of Birth:1975
Nationality:German
Education:
1994:High school diploma, overall grade: 2.0
from 1996: Study of computer science with
minor in communication studies
at the LMU Munich
1998:Diploma preliminary examination, overall grade: very good
03/2003: Diploma examination (Diploma), overall grade: with distinction (1.0)
Languages: German: Native,
English: fluent, translation activities at spiritual seminars
French: school knowledge,
Spanish / Italian: basic knowledge, which likes to get confusingly mixed up
Professional Experience: 1990 to 1994 as System Administrator / Consultant: side job alongside school
1995 to 1996 as IT Support: self-employed, full-time
1998 to 2003 as Software Developer: self-employed, alongside studies
2003 to 2015 as Software Developer: self-employed, full-time
2015 to 2021 Founder, Managing Director and "Chief Developer" of narayana games ug
2021 to 2024 as Virtual Reality Game Developer: for Ramen VR
available from 06/2024 for new tasks
Other Interests: Dolphins and Environmental Protection (see also Sleeping Dolphins - about the spinner dolphins off Hawaii)
Kung Fu and Tai Chi (see also Martial Arts School Ajahn Lao)
Meditation and Consciousness Development

 

 

Skills (Software Development)

Tools: Main IDEs / Authoring Tools
  • MS Visual Studio 2002-2022 (.NET): all .NET projects since 2003, one C++ project ;-)
  • JetBrains Rider
  • Unity 2.0-2022.3: all game/real-time 3D projects since 2007
    Member of most alpha and beta groups of Unity Technologies
Other IDEs / Tools (+)

Build Tools (+)

Version control (+)

Performance optimization (+)

Other (+)

Implementation: .NET / C#: my favorite ;-) - extensive project experience since 2003 (+)

Java (JDK 1.0 to Java 2 SE 1.4, J2ME, J2EE): project experience;
Project experience with the following Java APIs (+)

Small test projects with the following Java APIs (+)

C/C++: project experience (+)

Other programming languages: (+)

Analysis / Design: Unified Modelling Language (+)

Special Together Diagrams (+)

Databases: Query languages (+)

Relational database systems (+)

Object-oriented database systems (+)

Markup languages:
  • (X)HTML: especially the X - i.e., clean, handwritten HTML (see below)
  • CSS: for formatting of (X)HTML
  • XML: developed some DTDs, processing via SAX/DOM/JDOM in Java
  • XSL: solid knowledge
  • VRML: private use, with tool support, solid knowledge, but no longer relevant
Communication:
  • TCP/IP: academic knowledge of the entire protocol family
    (including application protocols HTTP, POP3, SMTP, FTP etc.)
  • CORBA: one project
  • RMI: two projects
  • (D)COM: one project, Java2COM bridge, communication with Delphi application
  • ExitGames Photon: one project
  • SpatialOS: one Unity project
Servers:
  • Microsoft Internet Information Server from 5.0: several projects, ASP.NET web applications, web services
  • Apache HTTP Server 1.3, 2.2: administration skills (Linux)
  • Jakarta Tomcat 4.0: administration skills, including Apache connection
  • JBoss 3.2.3: several projects, simple administration
Operating systems:
  • MacOS X: user knowledge
  • Windows 95/98/NT/NT-Server/2000/2000-Server/XP/2003 ... 8, 10, 11: administrator knowledge
  • MS-DOS: administrator knowledge (lol, I'm that old)
  • Unix (HP-UX, Linux, Solaris): user knowledge

 

 

Training

Development of a
small treasure hunt game
with Unity
(Unity Workshop)
Contents:
  • Lifecycle of a game project
  • Creating design documents
  • Production planning and project plan creation
  • IP (Intellectual Property) tracking
  • About the Unity Game Engine
  • Working with prefabs
  • The Unity asset pipeline
  • Using different cameras
  • Advanced scripting with C#
  • Physics engine: working with colliders and triggers
  • Implementing a GUI with UnityGUI
  • The animation editor
  • Audio in Unity
  • Unity Terrain Engine
  • Working with the Unity Asset Store
Duration:
Ongoing over 3 months,
with a 2-day "Kickoff" on a weekend
and 2 additional single days of support during the project,
as well as a final presentation with project showcase                                                                                                                        
Development of interactive
3D applications with Unity
(Unity Course for Beginners)
Contents:
  • Lifecycle of a game project
  • Creating design documents
  • Production planning and project plan creation
  • About the Unity Game Engine
  • Working with prefabs
  • The Unity asset pipeline
  • Using different cameras
  • Introduction to scripting with C#
  • Physics engine: working with colliders and triggers
  • Brief introduction to UnityGUI
  • The animation editor
  • Audio in Unity
  • Special effects: Slow motion ;-)
Duration: 2 days                                                                                                                        
Network Basics Course Contents:
  • History of the Internet
  • Network topology of the Internet
  • Types of protocols (connection-oriented / connectionless)
  • Network topologies
  • Physical layer, data connection: transmission media; Ethernet, ATM, ISDN, DSL
  • Network layer: IP protocol
  • The client/server principle
  • Practical exercises with Windows 2000
  • Standard protocols and services at the application level (SSH, FTP, SMTP, IMAP4, POP3, NNTP, HTTP)
  • Proprietary services (e.g., AIM, ICQ, MUDs, video conferencing)
  • In-depth look at email communication, including privacy and cryptography
  • In-depth look at HTTP, including IIS setup
  • Brief introduction to "Internet Security"
Duration: 1 day
Windows 2000 Contents:
  • Basic concepts of operating systems (user management, file management, input/output, processes, etc.)
  • History and product lines of Microsoft operating systems, including a look at Windows XP
  • Features and different versions of Windows 2000
  • The Windows 2000 boot process with a "look under the hood"
  • User administration
  • Networking multiple PCs
  • Device drivers
  • Practical exercises in various areas
Duration: 1 day
                                                                                                                       
Visual Basic - Basic Course Contents:
  • Introduction to Visual Basic
  • Fundamentals of programming
  • Event-driven programming
  • Input and output
  • Control structures
  • Procedures
  • Methods
  • Menu navigation
  • Error handling
Duration: 2 days
Visual Basic for Applications (Excel) Contents:
  • Fundamentals of object-oriented programming
  • Declaring variables
  • Creating and testing procedures
  • Toolbar and menu customization, keyboard shortcuts
  • Dialog control, dialog elements
  • Forms and masks
  • Subroutine techniques
  • Control structures and loops
  • Using Excel-specific object structures
  • Practical examples
  • Solution suggestions for specific participant problems
Duration: 3 days

 

 

Projects

09/2024-12/2024

Effort: 3 months

For Flat2VR Studios: Porting the VR music game Trombone Champ: Unflattened to PS VR2:
  • Porting to Sony PlayStation 5 / PS VR2
  • Fixing various platform-specific crashes and other errors
  • Adapting the Save Game System to platform-specific peculiarities
  • Implementation of Achievements / Trophies, Activities, and Leaderboards for PSN / PlayStation 5
  • Implementation of platform-specific PS VR2 features: Advanced Haptics, Adaptive Triggers, HMD Rumble
  • Successful release after Sony FQA
Tools / APIs / Servers:
  • Unity Game Engine: Authoring
  • Git: Version control
  • ClickUp: Task management
03/2021-06/2024

Effort: 3 years

For Ramen VR: Console porting of the Virtual Reality MMO Zenith: The Last City:
  • Porting to Sony PlayStation 4 / PSVR
  • Porting to Sony PlayStation 5 / PS VR2
  • Performance and memory optimization
  • Development of various gameplay systems both client and server-side
  • Team Lead for the engineering team (4 people)
  • Implementation of a Microtransactions solution for Virtual Currency on all platforms (Steam, Oculus, PlayStation)
Tools / APIs / Servers:
  • Unity Game Engine: Authoring
  • ASP.NET Core: Web service for PlayStation Microtransactions
  • Plastic SCM: Version control
  • ClickUp: Task management
03/2015-03/2021

Effort: 6 years

Development of the Virtual Reality Rhythm Game Holodance:
  • Game design
  • Development of the game using the Unity Game Engine
  • Production with an international team of about 25 people
  • Server-Side Web API using ASP.NET Core
  • Release via Steam
  • Marketing: creation of trailers, press releases, etc.
Tools / APIs / Servers:
  • Unity Game Engine: Authoring
  • Git with Git LFS: Version control
References:
10/2006-03/2015

Effort: Years,
sometimes full-time,
sometimes 60%

Further development of an LMS (Learning Management System):
  • Porting individual modules from .NET 1.1 to .NET 2.0, up to .NET 4.5
  • Adapting the administration interface to a proprietary administration framework
  • Quality assurance through automated testing
  • Creation of automatic build scripts with MSBuild and PowerShell
  • Enhancements in the seminar management module
  • Development of an SQL-based reporting module
  • Development of various tools for managing/editing localization files for different clients
  • Implementation of new SCORM recommendations (import of learning programs, evaluation of learning progress, etc.)
  • Enhancements with AJAX
  • Major refactorings both at the business logic and database level to maintain and continuously improve maintainability in a large project with many, sometimes changing developers
Tools / APIs / Servers:
  • MS Visual Studio.NET 2005-2012: Implementation, Debugging (C#/ASP.NET)
  • MS SQL Server 2000-2012 (Persistence)
  • Team Foundation Server (Version control, Task Management, Bug Tracking)
  • Visual Studio Team System (VSTS) Unit Testing (Quality assurance of business logic)
  • Selenium (Quality assurance of web interface)
09/2013-11/2013

Effort approx. 20 days

Development of a company presentation software for touchscreen tables and mobile devices:
  • Photoshop scripting to extract texts and images from a multilingual designer template
  • Conversion of an existing window-based design in Unity with NGUI
  • Design and implementation of a simple "Depth Manager" so that active windows always appear in the foreground and various Z-order issues resulting from the implementation of NGUI are cleverly concealed
  • Development of an XML format for controlling the application and localization (multilingualism)
  • Implementation of various gestures detection (move / zoom / rotate)
  • Incorporation of product videos
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring (later integration of real-time 3D is planned)
  • Photoshop / JavaScript: Automated extraction of image and text data into XML for reading in Unity
  • Unity Asset Server: Version control
08/2013

Effort approx. 5 days

Development of an architectural visualization for color selection in a room:
  • Measurements taken on-site in a relatively complex room
  • Precise modeling of the room in modo
  • Integration and lighting of the room in Unity / Lightmapping
  • Creation of a simple user interface that allows coloring of various wall segments according to a color chart
  • Staging of the room with props (sofas, tables, etc.) from the Unity Asset Store, as well as original images
  • Design and implementation of a simple text-based exchange format, so that various variants could be exchanged simply via copy and paste through Google Documents and discussed in a geographically distributed team
  • Adjustments as a virtual reality application using Oculus Rift
  • "Site supervision": Implementation of the color concept guided and monitored by a painter team
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • modo: 3D Modeling
  • Unity Asset Server: Version control
04/2013-06/2013

Effort approx. 10 days

Development of several product visualization demos in the medical and mechanical engineering fields:
  • Design of a simple environmental scene for various products
  • Inspection camera for mouse control and finger control on mobile devices (Zoom / Pan / Rotate)
  • Visualization of an operating table light including control of various rotation possibilities
  • Preparation of complex CAD models of devices from a mechanical engineer for real-time 3D, including animations
  • Lightmapping for optimal performance with high visual quality
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • NGUI: Implementation of the user interface (GUI)
  • Unity Asset Server: Version control
01/2013-03/2013

Effort approx. 15 days
Development of the small RPG demo Resurrect:
  • Selection of Art Assets (3D models, music, sound effects, etc.) from Unity Asset Store
  • Development of a simple, magic-based combat system with targeting
  • Integration of animations via Mecanim
  • Development of various visual effects, particle effects, etc.
  • Adjustments as a Virtual Reality application using Oculus Rift
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • Unity Asset Server: Version control
09/2012-08/2023

Effort approx. 40 days
Development and marketing of the Unity Extension Score Flash:
  • Extraction of a component from existing projects for marketing in the Unity Asset Store
  • Extension of the component for the "mass market," including integration into the Unity Editor, development of custom inspectors, etc.
  • Integration with tools from various other manufacturers (NGUI, EZ GUI, Playmaker, Text Box)
  • Creation of tutorial and marketing videos
  • Handling of support requests
  • Several smaller consulting projects in the context of this extension
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • NGUI: Integration as a rendering option
  • EZ GUI: Integration as a rendering option
  • Text Box: Integration as a rendering option
  • Playmaker: Integration to control the component for non-programmers
  • Unity Asset Server: Version control
References:
09/2012-10/2012

Effort approx. 12 days
Development of the puzzle game Tapuzzle:
  • Design of a novel game mechanic for tap puzzle games, inspired by 15-Puzzle, but in 3D
  • Implementation of the game mechanics with points and power-ups
  • Selection of a collection of motifs
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • Unity Asset Server: Version control
04/2012-06/2012

Effort approx. 6 days

Development of a split-screen JetPack game for a game show:
  • 2 players fly through the air and must collect rings on two levels (top/bottom)
  • Contributed to the design of webcam-based controls
  • Development of a 2.5D "engine" based on Unity
  • Development of a Unity extension allowing levels to be designed text-based
  • Level design
  • Development of the GUI and various effects
  • Implementation of all relevant game mechanics
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • Unity Asset Server: Version control
01/2012-03/2012

Effort approx. 8 days

Development of a multiplayer "Pac-Man" variant for a game show:
  • 4 vs 1: The original design had 1 player catching 4 players in a maze, but play-testing revealed that reversing the mechanic (4 players catching 1 player) worked better
  • Built upon an existing webcam-controlled project
  • Implementation of all relevant game mechanics
  • Animation control for characters
  • Particle effects / teleporting / collecting coins that appear randomly at different locations
Tools:
  • MS Visual Studio 2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • Unity Asset Server: Version control
12/2011

Effort approx. 10 days

Development of a demo for game-based learning:
  • Selection and integration of engaging 3D characters with facial rigs for character animation (Rocketbox Libraries)
  • Development of a Unity extension for designing branching dialogues
  • Recording of male and female voice-overs for the dialogue
  • Creation of lip-synced character animations for the dialogue using FaceFX
  • Creation of an office scene as the setting for the dialogue
  • Selection and adaptation of animations
  • Dialogue and camera control with a simple user interface
Tools:
  • MS Visual Studio 2010: Implementation (C#)
  • Unity Game Engine: Authoring
  • Unity Asset Server: Version control
  • Steinberg Wavelab: Audio recording and processing
  • FaceFX: Character animation creation
12/2007-11/2011

Effort so far approx. 210 days

The project is currently "on hold." A more detailed description will follow upon release.

Development of the multiplayer game Traces of Illumination, based on light cycles ("Tron") / Snake:
  • Game design
  • Development of the client software using the Unity Game Engine
  • Development of server software and multiplayer functionality using Unity and Photon
  • Modeling with Cheetah3D and Modo
  • Level design using Cheetah3D, Modo, and Unity
  • Customization of some shaders to meet the project's specific needs
  • Composition and production of the entire soundtrack
  • Sound effects design
  • Design and implementation of the persistence layer (player states, etc.)
  • Porting to iOS (iPhone 3GS, iPhone 4, iPad) and Google Android (Google Nexus One)
  • Design and implementation of an award system
  • Website with user management, blog, forums, high scores, etc., built using DotNetNuke
Tools / APIs / Servers:
  • MS Visual Studio 2008-2012: Implementation (C#)
  • Unity Game Engine: Authoring
  • Unity Asset Server: Version control
  • Unity Built-In Networking: Network layer (V1)
  • Exit Games Photon: Network layer (V2)
  • Cheetah3D: Modeling
  • Modo: Modeling
  • Cubase: Audio sequencer
  • Komplete: Sound design
  • MS SQL Server 2008: Persistence
  • DotNetNuke: Portal system for the website
References:
09/2005-06/2006

Total effort approx. 80 days

Cinema ticketing with 2D and 3D seat selection for mobile phones:
  • Developed idea and concept
  • Sought and found clients, conducted price negotiations
  • Implementation based on the Cinetixx-Ticketing System by CreateCtrl (see "Development of a complex web application for online ticketing for various end customers")
  • Development of a bandwidth-saving transmission protocol optimized for GPRS/UMTS between web server and mobile phone
  • Mobile-friendly user management (all complex functionalities run via the website, e.g., registration as a new user, restricting the cinema program to one's own city and personal settings)
  • Concept and implementation of an elegant navigation through the cinema program, which automatically adapts to the user and his search habits
  • Selection of seats in a 2D auditorium plan
  • Selection of seats in a 3D auditorium plan with various views
  • Execution of the purchase process (or reservation process)
  • Charging of customer cards via credit card
  • Testing and quality assurance on about 25 different mobile phone models
  • Conducting a field test to assess functionality and customer acceptance
  • Various evaluations and customer statistics in ongoing operation
  • Second-level support
Tools / APIs / Servers:
  • Eclipse: Implementation, debugging (Java/J2ME) for client
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET) for server
  • Oracle (persistence)
  • Subversion: Version control client (integrated in Eclipse)
  • VSS: Version control server (integrated in VS.NET 2003)

Older Projects

 
09/2006-09/2006

Total effort approx. 13 days

Extension of a LMS (Learning Management System) to include a simple seminar management:
  • Data modeling of attendance seminars
  • State model for the seminars (bookings, invitations, etc.)
  • Sending of emails at various events (booking, cancellation / by the user, by the administrator)
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • MS SQL Server (persistence)
  • Excel integration (export of data to Excel files)
05/2006-08/2006

Total effort approx. 43 days

Integration of a broker database in a LMS (Learning Management System):
  • A customer needed a broker database integrated into a web-based learning platform
  • Relational design of the data model
  • Development of all stored procedures for data changes and data retrieval
  • Implementation of calculations necessary for ratings in the broker environment
  • Development of the complete GUI in ASP.NET with CSS
  • Import of data from CSV files provided by a mainframe
  • Export of data for an offline client into an Excel workbook with multiple worksheets
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • MS SQL Server (persistence)
  • Excel integration (export of data to Excel files)
06/2004-09/2005

Total effort approx. 200 days

Development of a complex web application for online ticketing for various end customers:
  • Design of a database and application abstraction layer for a web application that can access database models of various (similar) ticketing applications through a unified interface (differences include some being multi-tenant, some not, some multilingual, some not, etc.)
  • Design of a web GUI abstraction layer that allows different "skins" for different end customers, and partly different business processes (especially different booking processes)
  • Design of a common, modular application core
  • Development of a Flash-based auditorium view
  • Development of all processes (registration, booking process, orders and adding of customer cards, complete credit card processing, etc.)
  • Various additional features such as "Postcards"
  • At peak times, over 1500 tickets per hour were sold through the system, including credit card transactions etc. (Single web server, single DB server, www.ticketone.ch during the pre-sale for "Kino im HB" in Zurich, Switzerland)
  • Second-level support
  • See also: http://www.kitag.com, http://www.cinetixx.de, http://www.ticketone.ch
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • MS Visual Source Safe: Version control
  • Oracle: Persistence
  • IIS 5.0/6.0: Web server
03/2005-03/2005

Total effort approx. 8 days

Made an LMS (Learning Management Systems) Firefox-compatible:
  • Modified a complex web application that had display errors in some areas on the Firefox browser, making the application partially unusable, so that the entire application is correctly displayed in Firefox – especially some constructs that were solvable in Internet Explorer with HTML, but required the use of JavaScript in Firefox
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • HTML / CSS / JavaScript
10/2004-11/2004

Total effort approx. 25 days

Customizing a learning platform for an end customer:
  • Quality assurance using unit tests, implemented with NUnit and NUnitAsp (developed the corresponding test design, which other employees could build upon)
  • Development of a module for attendance seminars
  • Implementation of a "learning progress evaluation view", in which the current learning status of a learner can be checked or in which the learner can check his current learning status
  • Coaching other employees in the use of the Microsoft Application Test Center for conducting load tests
  • Use of web services to cleanly realize unit testing of ASP pages in complex web applications
  • Extended course viewer for WBTs
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • MS Visual Source Safe: Version control
  • MS SQL Server 2000: Persistence
09/2004-09/2004

Total effort approx. 15 days

Technical analysis WBTs, development of various small WinForms tools:
  • Analyzed various approaches to implementing WBTs, evaluated and documented existing technical implementations, also checking SCORM compliance
  • Developed a Windows-based tool for translating resource files, including "standard terms" that should always be translated the same way (with highlighting and automatic display of the standard translation)
  • Designed and implemented a tool for checking IMS files
  • Created a SCORM test WBT, with which various SCORM functionalities of the platform can be easily tested (including for cross-browser testing)
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/WinForms)
  • MS Visual Source Safe: Version control
  • MS SQL Server 2000: Persistence
  • XML as data format
  • SCORM-API
03/2004-08/2004

Total effort approx. 75 days

Further development of a learning platform:
  • Access to the MS SQL Server 2000 database with ADO.NET (Stored Procedures for changes and data retrieval)
  • Implementation of "Educational Controlling", tracking various data of the learner and presenting evaluations in HTML views as well as CSV export, tracking using JavaScript
  • Implementation of a JavaScript-based HTML tree structure for navigation in hierarchical data
  • Developed concepts for quality assurance
  • Various significant refactorings to increase the maintainability of the system (on all levels, from database schema to C# GUI classes)
  • Significant adjustments for the multi-tenancy of the learning platform
  • Introduction of clean logging using log4net
  • Developed templates for MS Visual Studio to optimize the development process (including appropriate code style guidelines)
  • Documentation using UML diagrams, as well as proprietary SQL Server table diagrams
  • API documentation using NDoc
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • MS Visual Source Safe: Version control
  • MS SQL Server 2000: Persistence
  • IIS 5.0/6.0: Web server
11/2003-12/2003

Total effort approx. 15 days

Development of a web frontend for a ticket order system with seat selection.
  • Access to the Oracle database with ADO.NET (Stored Procedures for changes)
  • Development of a business logic layer to encapsulate database access
  • Representation of auditorium plans with dynamically generated HTML
  • User management and complete order process
Tools / APIs / Servers:
  • MS Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • MS Visual Source Safe: Version control
  • Oracle: Persistence
09/2003-11/2003

Total effort approx. 20 days

Developed a web application that allows customers to perform calculations for selecting air coolers.
  • Accessing a Fortran-implemented DLL from the .NET environment.
  • Development of the user interface.
  • Development of the database and logic, including user management.
Tools / APIs / Server:
  • Visual Studio.NET 2003: Implementation, debugging (C#/ASP.NET)
  • Eclipse and CVS: Version control
  • iTextSharp: Generating PDFs for calculation results
  • MS SQL Server: Persistence
  • Windows 2003: Deployment, hosting
09/2003-10/2003

Total effort approx. 6 days

Consulting and development of a system for calculating commissions based on Access and Excel using Visual Basic for Applications. Additionally, provided training on VBA for two Bosch employees.
  • Development of an Access database for data storage.
  • Connecting a Pivot table in Excel to Access data.
  • Evaluation and formatting of the Pivot table using VBA.
  • Automatic generation of PDF files from VBA using MakePDF.
Tools / APIs / Server:
07/2003-09/2003

Total effort approx. 27 days

Scoring Client approx. 12 days
Scoring Server approx. 6 days
Popup Timer approx. 1 day
LiveTracking approx. 2 days
Project management approx. 5 days
Developed a Pocket PC 2002 application for the Golf BMW International Open 2003 as a promotional tool for the event. The application ran on Pocket PC 2002 devices that were loaned to event visitors. It consisted of multiple components: LiveScoring to display and analyze player scores in real-time, PopupTimer to welcome visitors and notify them of various specials (questionnaire, test drive with the new BMW 5 Series), and LiveTracking to track and graphically represent the strokes of each player.
  • Developed a client/server architecture for LiveScoring, where XML data from the PGA was cached and processed so that the Pocket PCs only had to retrieve incremental updates via WLAN.
  • Developed a highly efficient and visually appealing table component to display player data, including color-coded cells depending on distance to PAR (Par, Birdie, Albatross, Bogey, etc.). The entire development process focused on high rendering performance even with large datasets.
  • Development of the LiveScoring client.
  • Development of the PopupTimer client.
  • Development of a simple JSP and XSL-based web application as a framework for the LiveTracking client, with graphical data prepared externally.
Tools / APIs / Server:
  • Eclipse: Implementation, debugging (Java)
  • Visual Studio.NET 2003: Implementation, debugging (C#/.NET)
  • CVS / WinCVS / Eclipse: Version control
  • .NET Compact Framework with C# as the implementation language for all client applications (LiveScoring, PopupTimer).
  • J2EE with EJB-CMP for the servers (LiveScoring, LiveTracking) on JBoss 3.2.1 with Jetty.
  • JSPs/Servlets
  • Debug logging with Log4J
  • Accessing XML feeds from the PGA for LiveScoring using JDOM
  • Ant and XDoclet for a convenient, simple build process, including automatic generation of required EJB files (interfaces, implementations, configuration files).
12/2002-06/2003

Total effort approx. 37 days

Client approx. 30 days
Server approx. 7 days
Developed a sports news service for Pocket PC 2002 and Palm. The project consisted of multiple components: A Windows service that processed news packages from a supplier and prepared them for Palm and Pocket PC. Synchronization clients for Palm and Pocket PC that downloaded the data from a server and transferred it to the devices. Clients on the devices for displaying and navigating the data. My main task was the development of the Pocket PC synchronization client and the Pocket PC client for displaying the data. During the project, I also took over the Windows service and full system administration:
  • Embedded the Internet Explorer for Pocket PC ActiveX control into a standalone application.
  • Developed an ActiveSync service provider that transferred news from a web server to the devices.
  • Created a template engine that generated HTML news from a data source for both Palm and Pocket PC in two languages.
  • HTML design for Internet Explorer for Pocket PC and a proprietary HTML viewer for Palm OS: Overview pages for navigating different sports categories, news overviews with headlines and article links, news articles. Each sport had its own design.
  • Extended functionality, bug fixes, and optimizations for the Windows service that received and processed news from an external provider.
  • Planned, implemented, and administered a server system with very limited resources, consisting of: A FreeBSD server where data was transmitted via SCP, with pre-processing already happening there; A Windows server for preparing data for the devices; A Linux server providing processed data packages for devices (uploaded to this web server via SCP).
Tools / APIs / Languages / Server:
  • MS eMbedded C++ 3.0: Implementation of the Pocket PC client (as an MFC application) and the device component of the ActiveSync provider.
  • MS Visual C++ 6.0: Implementation of the desktop component of the ActiveSync provider.
  • MS Visual Studio.NET 2002: Enhancements to the Windows service for processing data packages, implementation language: Visual Basic.NET.
  • CVS / Eclipse: Version control.
  • FreeBSD / Java: Preprocessing of data packages (Java application executed as a cron job), copying data to a Windows share using mount_smbfs.
  • SuSE Linux / Apache: Web server where the data was uploaded via SCP.
10/2002-06/2003

Concept and development of a news system for mobile phones. The system provided users with a set of hierarchically organized channels where news initially appeared as headlines. If interested, users could view the full article with an optional graphic. The client supported extensive customization options, including skins.
  • Concept, design, and implementation of server and client.
  • Development of a process to aggregate news from various sources (XML data feeds, web pages, etc.).
  • Development of a billing system.
  • Quality assurance across multiple devices, including Nokia 7650, Nokia 3650, Nokia 7210, Siemens S55, Sony Ericsson P800, Samsung SGH-S100, various BlackBerry devices, Motorola T720i.
  • Device-specific adjustments (e.g., playing sounds on Nokia 7650 and 3650 when receiving specially marked messages).
Tools / APIs / Server:
  • Together: Analysis, design.
  • JBuilder: Implementation, debugging (at the beginning of the project).
  • Eclipse: Implementation, debugging (from early 2003 onwards).
  • CVS / WinCVS / Eclipse: Version control.
  • J2EE with CMP-EJBs for the server, running on JBoss 3.2.1 with Jetty.
  • Servlets (Controller).
  • Debug logging with Log4J.
  • Web scraping for news using JTidy.
  • Accessing XML news feeds using JDOM.
  • Custom XML formats for data transmission.
  • J2ME, MIDP 1.0, and proprietary APIs (e.g., from Nokia and Siemens) for implementing the client as a MIDlet.
  • Antenna with preprocessor functionality for the client build process, automatically generating versions for specific devices.
  • Ant and XDoclet for a streamlined, simple build process, including automatic generation of necessary EJB files (interfaces, implementations, configuration files).
11/2000-12/2002

Effort approx. 90 days
Independently managed, partially as a project and thesis work at the Institute of Computer Science at the Ludwig Maximilian University of Munich:                                                            
Concept and development of a system for collaborative use of the World Wide Web (Project page, Tutorial for the software)
  • Project idea, complete concept, etc.
  • Literature research and analysis of similar projects
  • Design and implementation of a prototype in multiple iterative steps
  • Deployment on SuSE Linux: JDK 1.3.1, Tomcat 4.0.1, Apache 1.3.19
  • User documentation / Developer documentation
  • Field test with the prototype and evaluation (Questionnaire in HTML, evaluation via Servlet, which stores responses in XML, XML responses were transformed into SVG diagrams using XSL)
  • Development of an XML-DTD for a document format for academic papers
  • Development of an XSL stylesheet for conversion into XML (Description in English)
  • Writing of the thesis
Tools / APIs / Server:
  • Together: Analysis, design, overview of JSPs with linking
  • JBuilder: Implementation, debugging
  • CVS / WinCVS: Version control
  • J2SE 1.4, later J2SE 1.3.1 with JSSE 1.0.2 (for HTTPS connections)
  • XHTML with CSS and JavaScript
  • JSPs (View)
  • Servlets (Controller)
  • Debug logging with Log4J
  • URL rewriting with JTidy and Jakarta ORO RegExp
  • Custom XML formats for persistence, accessed via JDOM
  • Flash movie for navigation bar (Graphic design by Kernzeit)
  • Email notification with JavaMail
Project scope:
  • 3 general packages with a total of 10 general classes and interfaces
  • 1 specific package with 2 sub-packages for a total of specific classes and interfaces
  • 55 Java Server Pages (some fragments), divided into 8 logical sections
02/2001-10/2001

Total effort approx. 70 days

ActionEngine approx. 15 days
UI refactoring approx. 20 days
Migration to Client/Server approx. 30 days
Contribution to the development department setup in a startup company that was developing business planning software using Java and the OO database POET FastObjects j2. Further development of an existing prototype, solving design and implementation tasks, and performing optimizations:
  • Provided training on UML, Together, and JBuilder (for approx. 6 employees)
  • Set up version control and trained employees (CVS, WinCVS)
  • Defined code style conventions: Code Conventions for the JavaTM Programming Language, plus additional conventions for file structure and Javadoc documentation.
  • Introduced structured logging (Log4J)
  • Taught best practices to two junior developers (e.g., use of the Collection Framework, proper Javadoc documentation, etc.)
  • Analyzed the Use Cases in the existing system
  • Documented the existing system with class, sequence, and collaboration diagrams
  • Developed an API. To achieve this, the existing classes and interfaces (over 100) were first organized into packages. During the project, a framework for business applications was created (30 classes and interfaces distributed across multiple packages and sub-packages, including specialized GUI components).
  • Designed and implemented the ActionEngine. The goal was to track and control all changes to the data model. To achieve this, Actions were introduced, which abstracted the respective changes. Proxies were implemented for persistent objects to encapsulate changes.
    Used class, sequence, and activity diagrams for this purpose.
  • Migration from a standalone application to a Client/Server architecture using RMI (Project planning and management, design, implementation). Generic proxy objects were introduced to avoid duplicating complex server objects on the client and to prevent performance issues due to frequent RMI calls over slow connections.
  • Accessed XML data using JDOM
  • Developed test cases for some classes using JUnit
  • Performed performance optimizations using JProbe Profiler
  • Contributed to planning future versions of the software (long-term strategy)
11/2000-04/2001

Total effort approx. 20 days

Concept approx. 4 days
Design approx. 3 days
Implementation approx. 10 days
Documentation approx. 1 day
Design and development of a Java applet for navigation in semantic networks
  • Development of an intuitive navigation approach for complex semantic networks
  • Implementation with JDK 1.1 and AWT (custom UI with popups, drag and drop, etc.)
  • Communication with the server via XML, using NanoXML
  • Comprehensive documentation of the code using Javadoc and class diagrams
Scope:
  • 2 Packages (Logic/UI)
  • 24 Classes and Interfaces
08/2000-09/2000

Effort approx. 3 days
Development of a Java applet that displays an animated countdown:
  • Designing the animation
  • Implementation in JDK 1.0.2 (JBuilder)
  • 3 Classes
  • Compatibility tests on Windows: Internet Explorer, Netscape Navigator
  • Compatibility tests on MacOS: Internet Explorer, Netscape Navigator
08/2000-09/2000

Effort approx. 10 days
Development of a Java applet that displays the positions of the residents of the Big Brother house
  • Concept for data updating and transmission under extreme server load (loading a file via HTTP - the file is overwritten with a new version every few seconds)
  • Object-oriented system design using UML
  • Implementation with some enhancements, JDK 1.0.2 (JBuilder)
  • Ensuring functionality across different browsers and architectures (Windows, MacOS, Internet Explorer, and Netscape Navigator)
  • Documentation (overview diagram, Javadoc, applet parameters, demo of both applets) (Demos are under "Description")
02/2000-04/2001

Effort approx. 110 days
Development of a backend architecture for accessing Java, CORBA, COM, XML, or RMI object-oriented data stored on any system (relational / object-relational / object-oriented):
  • Object-oriented system design using UML
  • Concept for data localization
  • Development of an XML-based description language for the data model
  • Development of a Java tool for editing such XML data models using the DOM tree as the data structure (models for UI components are directly the DOM nodes, UI implemented with Swing, the tool consists of 14 classes and interfaces)
  • Specification of a thoroughly documented API for the entire framework (4 sub-packages with a total of around 60 classes and interfaces)
  • Implementation of SQL database access using JDBC (various DBMS, e.g.: Oracle8i, Sybase SQL Anywhere, MS SQL Server)
  • Implementation of access with XML output
  • Implementation of access via COM (Java-COM bridge: JIntegra), CORBA, and RMI
  • Implementation of access with user permissions
08/1999-11/1999

Effort approx. 34 days
Development of components for a Java client for industrial bill of materials management
  • Design and implementation of an applet toolkit for web designers (building the GUI layout within applets using XML files)
  • Programming of a split-pane component for Java without Swing
  • Programming of a table component for Java without Swing (JDK 1.1) with high external configurability via parameters, sorting function, adjustable column width, etc. Interparts demo by belenus (opens new window).
  • Design of an XML specification for transferring table data (multilingual, with external links, connection to image files)
  • Mapping the data model within the database to XML
  • Localization separated for data and user interface
01/1999-07/1999

Effort approx. 43 days
Development of a Java client for a multimedia database system
  • Participation in database design
  • Object-oriented analysis and design with UML / Rational Rose
  • Design and implementation of an application/ applet framework
  • Design and implementation of a plugin framework (for viewers and connection types, e.g., RMI, CORBA)
  • Database connection via JDBC
  • Design and implementation of a multi-tier architecture with CORBA and RMI as alternatives (as plugins)
  • Development of viewer plugins with Java Advanced Imaging and Java Media Framework
Development of the corresponding Java backend:
  • Mapping a relational data model to an object-oriented structure
  • Mapping search queries to objects
  • Data retrieval via tree structure and various search methods
11/1997-03/1998 At the university in a team of 3 people:
Development of a board game as a client/server applet in Java 1.1
  • Object-oriented analysis and design with UML
  • Implementation of a server with a player database
  • Implementation of a graphical client with chat
  • Presentation of the finished product
Our team's implementation was rated as the best implementation.
07/1997-03/2009 For a mid-sized property management company:
  • Consulting/training on hardware and software
  • System administration in a Windows NT environment
  • Design and implementation of a master database (MS Access, Visual Basic) as well as its integration into Microsoft Word (Visual Basic)
08/1998-06/1999 For effective music & media (site no longer exists) (music promotion):
  • System administration in a Windows 95 environment
  • Training in Windows and MS Office
  • Setting up a computer-based fax solution
  • Concept and implementation of a web-based information service (CGI, Perl)
  • Setting up a network-wide internet connection via a proxy (Sambar)
  • Design and implementation of the company website
04/1998-10/1998 For a software development company, working for corporations:
  • Design of processing screens (Prolifics JAM)
  • Implementation of database connections (JAM, JPL, Sybase SQL Anywhere)
11/1995-03/1996 For DigiTeam GmbH (Service and Support):
  • Installation and maintenance of Apple hardware and software
  • Hotline support for office products (Mac and PC)
08/1990-05/1999 For the engineering firm Boehler (construction management, project management, high-rise construction):
  • System administration in a Windows NT environment (initially Novell)
  • Consulting on hardware and software
  • Training on MS Office, Sidoun WinAVA
  • Design and implementation of a project management system
    • Database design (MS Access)
    • User guidance/interface (MS Access, Visual Basic)
    • Integration of project management into office applications (MS Word, Visual Basic)
  • Connecting the company network to the internet (Sambar)

 

 

 

Last modified: Wednesday January 29 2025
by Holger (David) Wagner
Valid XHTML 1.0! Valid CSS!