Curriculum Vitae
Personal Details
Name: Tim-Hinnerk Heuer
Permanent Resident with Returning Resident’s Visa and living in Palmerston North, New Zealand since August 2001.
German born and citizen.
Contact Details
Mobile: +64 21 077 9289
Email: th.heuer@gmail.com
City: Palmerston North, New Zealand
Summary
- 2010 to current: Web Developer at Manaaki Whenua, Landcare Research Ltd. (CRI), specialising in web GIS front-end technologies with a focus on JavaScript and TypeScript.
- 2007 to 2010: Software Developer at Unlimited Realities Ltd. specialising in ActionScript 3 (Flash) and PHP.
- 2007: Various small contracts with Ezi Sites Ltd. (Linux system administration), EFX and FWD Media (web development).
- 2002 to 2007: Bachelor’s Degree of Science with major in Information Systems (Database and Information/Computer Science principles).
- Until 2001: German High School (Gymnasium) and various part-time jobs.
Relevant experience:
GitHub: https://github.com/geekdenz
.NET C#
- Used .NET/C# at previous company: Unlimited Realities on Web Applications.
- .NET/C# is an integral part of applications I am involved with at Manaaki Whenua Landcare Research Informatics. These applications are the Riparian Planner and the Security User Management System.
Algorithms and Datastructures
JavaScript and TypeScript:
- Read various books on JavaScript for a complete understanding of the language core (functional, asynchronous, prototypal and classical inheritance).
- Helped with NetBeans plugin for TypeScript development.
- Did NodeJS online course on Udemy and self-taught.
- Practiced and learned about core functional programming concepts like monads, higher order functions, currying, AJAX, promises, async/await, observers etc.
- Can pick up new frameworks and concepts quickly and easily and also explain.
Interests
- Competitive Programming Challenges with C++, Python, and occasionally Java or JavaScript.
- Algorithm Design and implementation.
- Active interest in artificial intelligence concepts and have been learning the core mathematics of neural networks and in particular gradient descent and genetic algorithms.
- Cryptographic algorithms such as RSA, principles of symmetric vs. asymmetric ciphers and AJAX/web security in practice.
- Linear mathematics and graphics algorithms.
- Follow YouTube channels on programming concepts and personal development.
- Geographic Information Systems and concepts.
- Test Driven Development and Behaviour Driven Development.
- Mathematics in general.
- People, philosophy and psychology.
At Manaaki Whenua, Landcare Research, I
- made core framework choices for frontend and backend web applications.
- develop end user application code on both front- and backend.
- develop data transformation engines.
- develop Web * Services related to GIS such as the OGC API's reference implementation PyGeoAPI and WMS-V.
- 2018 attended a WFS 3 (OGC API) hackathon in Fort Collins USA and developed a WFS 3 client in TypeScript with OpenLayers:
https://npm.landcareresearch.co.nz/hackathon-wfs-3/ (service is external) - develop WMS-V frontend client (HTML 5 video tiles)
https://npm.landcareresearch.co.nz (recently synchronisation)
and backend service. - work on S-map Online, which has over 15,000 users and my frontend application code contribution was at least 50%. I contribute to this project also in architecture, design and scaling.
Leadership:
- Lead development on S-map Online and Our Environment (version 2 framework).
- Supervised students end of 2012, beginning of 2013 of whom we hired one.
- Supervising one student from end of 2013 until early 2014.
- Both times we were innovating proof of concept applications in the context of web GIS technologies.
- In 2012/13 it was a digital elevation model visualisation with PostGIS and OpenLayers, which is similar to Google Maps and a Photo GIS Tool for uploading and managing photos geographically.
- One student was working on ‘Optimising Web Technologies for Vector Graphic Rendering and Transport’ which works and was a success.
- Lead development/programming of major projects such as: Antarctic Environments Portal, an internationally recognised project with Antarctica New Zealand and other countries participating as stakeholders.
- Technical lead in game software development as a hobby in a team of 10 people including artists, writers and game designers.
Portfolio: https://dcoder.nz/portfolio/
Work Experience
2010-2020
Working full-time for Landcare Research, New Zealand as a software engineer with web developer title, specialising in Web GIS Development. Client and server side programming, especially TypeScript, JavaScript, PHP, Java and also Android native.
Projects include:
- A mapping application where one can find out about soils in New Zealand based on their geographic properties.
- It also features geographic text search with support for the Maori language. Try “Taupo” without or with accent: “Taupō”.
- A mapping portal like S-map with more features including address/place name/coordinate search, point query, dynamic grids, pie charts and tree map visualisations.
- An internationally significant platform for scientists and decision support.
- In particular, I implemented the interface between SilverStripe CMS (MVC Framework developed in Wellington) and the full-text indexing search engine SphinxSearch to provide ultra-fast search results with support for stemming and lemmatization etc plus the front-end responsive HTML/CSS/JS, the backend database and what needed to be done to extend the CMS and get i18n/l10n working.
- I was/am the leading programmer/software engineer on the technical side.
- This project was made public on National Radio: http://www.radionz.co.nz/news/national/131302/website-to-provide-platform-for-antarctica-research
- A proof of concept video tiling web application proving the concept of WMS-V (Web Map Service - Video).
- A mapping application about New Zealand plant specimen.
All the above require experience and extended knowledge of JavaScript and libraries like OpenLayers, GeoExt, ExtJS and JQuery as well as C, C++, PHP and Java in the backend.
Also, the above projects include a print module for maps, namely MapFish Print of which I have been a committer ( https://github.com/geekdenz/mapfish-print ). This happened after submitting numerous patches, which had to be approved by the community of MapFish developers. The MapFish Print module is written as a Java servlet. This should prove my strong programming skills in Java.
Working at Landcare Research, I've had the opportunity to visit conferences as outlined below and learn more about HTML5 and CSS3 as well as general principles working in the field.
In 2011 and 2013 I visited FOSS4G (Free and Open Source Software for GIS) in Denver, Colorado and Nottingham, UK to learn more about technologies related to GIS (Geographic Information Systems). There I also met numerous open source developers with whom I'm collaborating on a regular basis. FOSS4G is the biggest conference in its area, sponsored by companies like Google and ESRI (http://2011.foss4g.org/ , https://2018.foss4g.org/ ).
In 2013, at FOSS4G in Nottingham, I presented a proof of concept implementations of the proposed WMS-V standard to visualise geo-temporal data with HTML 5 videos (see National Possum Model).
2007-2010
Working full-time for Palmerston North local IT company Unlimited Realities (famous for their touch screen software on the new Dell touch screens: http://www.ur.co.nz ) as a software developer/engineer in services to an Australian key client (DigitalDM).
Projects for DigitalDM include:
I maintained, debugged and enhanced these with new features. The portals were designed and engineered with me leading the projects in development, server admin and deployment.
Education
2002 - 2007 | Massey University, Palmerston North Bachelor's Degree in Information Science (with strong mathematical background) called Bachelor of Science on paper. Major: Information Systems Minor: Computer Science. |
1994 - 2001 | Ratsgymnasium[4], Rotenburg/Wümme (Germany) Abitur (highest school qualification in Germany, comparable with American college or New Zealand bursary). Majors: Mathematics and History. Minors: English and Informatics |
1992 - 1993 | Eichenschule (Gymnasium), Scheeßel (Germany) high school. |
1991 | Torrence (high school), Guelph (Canada). |
1989 - 1990
| Kantor Helmke Schule (primary school), Rotenburg/Wümme (Germany). |
1988 | German primary school, Mogadishu (Somalia). |
1987 | Kantor Helmke Schule (primary school), Rotenburg/Wümme (Germany). |
1984 - 1986 | American Kindergarten, Lahore (Pakistan). |
Training/Conferences Visited
2018:
- WFS 3 Hackathon in Fort Collins, Denver - Colorado, USA.
2016:
2015:
2013:
- JavaOne - Oracle Open World in San Francisco, USA (60,000 delegates).
- FOSS4G (Free and Open Source Software for Geo-Spatial) in Nottingham, UK.
- Webstock in Wellington, New Zealand.
2012:
- eResearch in Sydney, Australia.
- Webstock in Wellington, New Zealand.
2011:
- FOSS4G in Denver, USA.
- eResearch in Auckland, New Zealand.
- Webstock in Wellington, New Zealand.
Contract Work
Until now
Full Flavour - NZ ISP - Programming various backend jobs interacting with RESTful services.
2007
Part-time work for FWDMedia ( http://www.FWDMedia.co.nz [5]), doing Web Development (PHP, MySQL, HTML, CSS).
Half a year, part-time work for EFX (http://www.efx.co.nz), doing Web Development (PHP, MySQL, Perl, HTML, JavaScript, CSS).
2006 (May - November):
EziSites Ltd. - Setting up Debian Linux servers (Network server administration).
- IDS (Intrusion Detection System) setup and configuration.
- LAMP stack setup and configuration.
University Project
2006:
http://www.nzfma.com [6].
Project included learning Drupal CMS API and installation/administration of Drupal CMS.
Result:
feemanager module developed in PHP and user managed website with little intervention by web developer required (also see other modules I have contributed to on Drupal).
University Tutoring (not part of degree, as a part-time job)
2005:
Tutor for Introduction to Information Systems – HTML, MS Access, MS Excel (official).
Tutor for 'Algorithms and Data Structures' – Java (private).
Tutor for Discrete Mathematics – Graph Theory, Algebras, RSA Security Algorithm (used in all web browsers and SSH for key exchange) (private).
University Project (not part of degree, part-time job)
2004 (December):
Revespa ( http://www.redvespa.com ) – Content migration/re-purposing for http://www.southbeds.gov.uk [7] and http://www.bedfordshire.gov.uk [8].
Around 5000 pages in total on those sites.
Tools used: Hyperwave CMS, Dreamweaver 2004 and BASH scripting for downloading/uploading approx. 2000 PDF documents which we were suggested to download manually.
Other (no contract, temporarily)
2002/2003 (2 months):
Website for ISRC (Information Systems Research Centre). Project was to query database for participants etc. in dynamic web pages (PHP).
http://isrc.massey.ac.nz [9]
Computer Skills
Programming Languages
- 8051 Assembler (lowest level language)
Course in 2006 with full marks on assembler programming assignment. - Actionscript 3 (Flash)
Primary language in the 3 years at Unlimited Realities, developing a scaling online ebook. - C
Course in 2001 and paid university project in 2002 (CGI, using MySQL API).
MapServer development to fix a bug and to generate the National Possum Model tiles on a cluster machine in Auckland with 3000 CPU cores. - C++
2 years experience with UR/DDM ebook application, which is a rich projector with an astonishingly small 350KB executable. And hobby programming. - Java 8
2 courses with results (A+ in both), giving private lessons and hobby (game) programming.
MapFish Print servlet, Java Wicket.
8 years experience at Landcare Research with the portal applications RESTful backend services.
Participated in Google Code Jam in 2011 and 2013 placing among the first 3,000 of 10,000 who qualify out of 15,000 participants (geekdenz).
Used for game development in jMonkeyEngine 3D scene graph framework ( https://sourceforge.net/projects/gravitysource/ , http://sourceforge.net/projects/salvageteam/ ). - Delphi 2005
Learned Pascal and early Delphi in school (Ratsgymnasium in 2000) more advanced at University course. - Visual Basic
Experience with DDM Super Editor for editing ebook content. - C# (.NET)
2 years experience with Crusher.NET web application framework with Unlimited Realities. Web apps at Manaaki Whenua and hobby game development (Duck Game mod). - Matlab/GNU Octave
Implemented genetic algorithms in Artificial Intelligence course and got a high mark (A). - Prolog
Implemented expert system in Artificial Intelligence course. - Haskell
Learned concepts of recursion very well with this at University course. - BATCH (DOS/Windows)
Deployment tools for DDM/UR.
Hobby – optimisation for games in early teenage years. - BASH (Unix)
Shell programming for automating Linux administrative tasks including generating WMS-V videos with ffmpeg and the WMS caches (see above). - Server side scripting: PHP
11 years experience:
Dynamic ebook Portals. 4 big projects with client in Australia, including Magic Millions and LJ Hooker (Symfony MVC Framework).
Paid university project in 2002, course project in 2006 and casual website design.
Projects at Landcare Research.
SilverStripe CMS 3.1.2. - Python
Useful for quick results and in 3D packages like Blender.
Implemented algorithm to submit 300 jobs to the Auckland University cluster machine (NeSi) that Landcare Research uses for HPC (High Performance Computing).
AI and data analysis programming with Numpy and Pandas. - Perl
Working on proprietary CMS A-Man (Article Manager of EFX.co.nz). - Client side scripting: (D)HTML(5)/JavaScript and CSS(2/3)
JavaScript/TypeScript used in web development projects for big client side projects.
Experience with Frameworks:
Prototype, jQuery, Mootools, Scriptaculo.us, OpenLayers 2/3/4/5, GeoExt, Ext, famo.us, three.js, Underscore, Backbone, AngularJS (with TypeScript) and many more.
8 years experience in combination with the online portals.
Operating Systems
GNU Linux
- Ubuntu (main OS since 2005)
- Debian (since 4.0)
- Red Hat/Fedora
- SUSE
- Gentoo
- CentOS
Debian/Ubuntu Server Admin
Some experience with Puppet for large scale deployment orchestration of software on servers.
Lots of experience with managing and servicing Linux servers, mainly Ubuntu and Debian, but also Red Hat, CentOS and Fedora. I've used these technologies throughout my career and also as a personal interest.
Microsoft
- DOS (since 5.0), Windows (3.11/95/98/ME/2000/XP/Vista/7/8/10/Server 2003).
- Office Suites.
- Visual Studio.NET.
Database Knowledge
- NoSQL - CouchBase(Lite).
- Conceptual database/software design (high level visual UML, HERM, RDM and ERD Modelling).
- Implementation of Database Management Systems (full marks on Java assignments at Uni).
- PostgreSQL/PostGIS (Open Source leading spatial database)
Taught course in collaboration with Massey University in 2013.
GIS portal applications at Landcare Research. - MySQL
3 courses and numerous projects, knowledge of administration and high availability/redundancy. Optimising indexes. - Oracle (SQL)
and databases in general (database design, administration etc.) through 3 courses, 3 projects and experimenting. - MSSQL
Microsoft SQL server.
Other Software Familiarity
- Master of GIT distributed version control system.
- Great knowledge of 3D operations and scene-graph API in jMonkeyEngine since I lead a 4 developer team in a hobby game project.
- Basic knowledge of Blender (3D OS Tool).
- Open/Libre Office
Writer (excellent), Calc (excellent), Impress (basic),
Formula Editor (excellent, used to write assignments in mathematics assignments, also with LaTeX). - Inkscape
for drawing simple vector diagrams for illustrating algorithms or simply for design purpouses. - Adobe
Flex (Flash AS3 Development), Flash CS4/5, Photoshop CS, Acrobat.
Macromedia/Adobe
Dreamweaver, Fireworks. - GIMP
GNU Image Manipulation Program, Open Source software similar to Photoshop. - Microsoft Office 2010 (and lower)
Word, Excel, Powerpoint, Access. - Microsoft Accessories
Notepad, Paint, Regedit, MSconfig, etc. - Made own docker.io container(s)
(e.g. https://registry.hub.docker.com/u/denz/postgis/ ). - Vagrant for VM provisioning for common development platform for all developers on a team.
- Oracle VirtualBox
for test-deploying VMs. - VMware Workstation (Virtual Machine emulation)
- Eclipse (Java and general IDE)
TinyEclipse (PHP), Aptana (HTML, JavaScript, PHP IDE) - Netbeans IDE – PHP, Java, JavaScript and C(++)
- Android Studio and IntelliJ IDEA
- Gradle general purpouse build tool
- NPM
- Visual Studio Code (VIM mode)
- VIM (expert)
jVi - Netbeans Plugin
IdeaVim - Android Studio Plugin
GVI Improved (Graphical Text Editor, extensible to almost an IDE, lightweight)
Favorite editor/IDE because it's the fastest and most installed on Unix/BSD. - Notepad++
Some experience but since I'm using VIM, there is no necessity. - Sublime
Tried but since VIM can do the same and possibly more I prefer that. - Heidi SQL Database Frontend
Used this years ago, but PHPMyAdmin or other tools are more accessible. - PG Admin 3 (PostgreSQL tool).
- Ultraedit.
- XAMPP (Windows or Linux Apache/MySQL/PHP/Perl).
- Apache2
Familiarity with most concepts like the RewriteEngine, RewriteRules, modules, VirtualHosts etc. - Grep, sed, git, and many other Unix and Linux command line utils.
- Mastered Regular Expressions
Theoretical background from University and practical experience at work.
Tabs vs Spaces
Tabs, but not religious. The project’s coding convention and consistency are much more important.
General Skills
Communication skills
- Fluent in German (mother tongue)
- Fluent in English (learned in early childhood in Pakistan at an American kindergarten, grade 5 to 13, 1 year in Canada and in the 17 years I have been in New Zealand)
- Very basic Portuguese because my wife is from Rio, Brasil.
- Basic French (5 years at school).
- Basic Latin (1 ½ years at school).
- Relaxed, patient personality.
Social skills
- Ability to adapt to different ethnics and cultures quickly (used to people with different backgrounds since early childhood).
- Like to play sports and learn new disciplines.
- Culturally adaptable.
Driving
- Full driver licence (New Zealand).
- Motorcycle licence (European). Not used since in New Zealand.
Other
- Played the trumpet in the Manawatu Jazz Club Big Band for 3 years.
- Can do attitude.
Other jobs
2001:
Shell petrol station cashier for 6 months on weekends in 2001 (Germany).
2000:
Manual labor for Expert Megaland (e.g. delivering washing machines)
and small (e.g. DiscMan, WalkMan) electronics store (Germany).
Other relevant information
Got a letter/invitation from the Mathematics department at Massey to study Mathematics as a major, because of results (A in Calculus, A- in Discrete Mathematics).
Have compiled own kernels on Gentoo and Ubuntu successfully.
Maintain own vserver (Ubuntu) for hosting web sites for friends and myself:
I have set up SSL, IMAP/POP3, Postfix, LAMPP (Linux Apache, MySQL, PHP, Perl) and incremental backups on servers before.
Also interested in high-availability and load-balancing in general and for Apache, MySQL and possibly other DBMS and web server technologies.
Have a laptop for on the move, but it’s old now.
[1] * Note: Links may be old and not contain products with my contribution any longer.
[4] Gymnasium in Germany is the most advanced qualifying school type, preparing for university. It is NOT a sports school.
[5] Note: Links may be old and not contain products with my contribution any longer.
[6] * Note: Links may be old and not contain products with my contribution any longer.