Tino Didriksen
×
Tino Didriksen

Tino Didriksen

Software Developer

English, Danish, German

Background


About

About

Remember how you could hold down the Reset combination on an Amiga 500 to free up slightly more RAM in order to play the largest maps in The Settlers? And how overpowered Paladins were in Master of Magic? Good times, good times...

While I was hex-editing everything I could get my hands on trial'n'error style, including the raw block device itself, I wasn't terribly interested in natural language processing in those early days. That came along as my English vastly improved, because as every NLP person knows, English is a seductively easy language to write NLP algorithms for - shame they fall apart as soon as any morphologically complex language enters the picture.

These days, I primarily develop tools for use in various parts of computational linguistics, from live language analysis, through corpus query, to rule-based machine translation.

Work Experience

Work Experience

  • Software DeveloperGrammarSoft ApS

    Mar, 2007 - Present

    All the public-facing parts of the site, tools, and remote APIs. All the interaction between the front-end, the middle storage layer, and the linguistic back-ends. Performance optimization of said back-ends, including load-balancing and caching. Formatting-aware manipulation of rich text formats, such as DOCX, ODT, MediaWiki, in order to preserve the metadata through the linguistic analysis and machine translation engines.

    • GramTrans (2007): Rule-based machine translation.

    • Deepdict (2009): Dictionary with lexicographic relations.

    • WikiTrans (2010): Cross-language Wikipedia.

    • WikiTrans XL (2013): Application for crowd-sourcing bilingual dictionaries. Users are given possible translations and can verify, throw out, or amend them. Or add entirely new ones.

    • Kommaforslag (2015): Danish comma checker.

    • RetMig (2016): Danish spelling and grammar checker.

    • Commatizer (2020): English comma checker.

    • Kommatroll (2020): German comma checker.

  • Software DeveloperLearn Greenlandic

    Jan, 2011 - Present

    Wrote all the code for the program itself in C++ and Qt 5, including the copy-protection system. Mastered the ISOs/DVDs and made them auto-startable and usable cross-platform (Windows, Mac OS X, Linux), plus made MSI versions. Made the website using WordPress as framework, key verification via HTTP callbacks, and ordering system via PayPal's API. Manages all the tech parts, including tech support for when Windows and OS X updates break everything.

  • Software DeveloperOqaasileriffik

    Dec, 2008 - Present

    Development of various language technology tools for Greenlandic.

    • Katersat (2009): Dictionary management interface customized for Greenlandic needs.

    • Kukkuniiaat (2011): Spell checker and hyphenation engine for Greenlandic, integrated into Microsoft Office and LibreOffice, cross-platform Windows, Linux, and macOS.

    • Nutserut (2022): Greenlandic-Danish rule-based machine translation.

  • PMC Member & Software DeveloperApertium

    Mar, 2009 - Present

    Open-source rule-based machine translation platform. Initial involvement was to provide support for their use of CG-3, but it has since grown to developing and running the nightly auto-packaging service, plus random maintenance of the core C++ tools.

    • Packager (May 2014): Nightly auto-packaging service, building the Apertium ecosystem for ~30 different configurations.

    • PMC Member (Nov 2014): Elected to Apertium's Project Management Committee

  • Software DeveloperVisual Interactive Syntax Learning

    Apr, 2004 - Present

    Full Stack DevOp. Everything from physically putting servers in racks, through LAMP/LAPP configuration and management, to software development and deployment. Website is in PHP and Perl, communicating with computational linguistics tools in C, C++, Perl, and PHP. Maintenance of Java applets, corpus query tools, live language analysis software, and machine translation tools. I basically have a finger in on every part of VISL.

  • Software DeveloperOrdret Consortium

    Aug, 2004 - Nov, 20051 year 3 months

    Integrated a multi-process pipe of Perl and C++ language and grammar analysis tools with a MS Office proofing tool front-end for the OrdRet project. Greatly optimized loading times and memory usage of the linguistic data by using on-disk databases instead of flat text files. Also wrote a performance, regression, and quality test suite.

  • Software DeveloperSwordsOnline.com

    Aug, 2004 - Dec, 20051 year 4 months

    Vastly improved security by properly using server-side storage. Improved performance by an order of magnitude by natural optimizations such as reducing the number of executed SQL queries from one per product listing, to fetch all products in a single query. Implemented new features, such as 'Customer Also Bought' and 'Flash Sales'. Also made a time management site to keep track of how long developers worked.

Projects Experience

Projects Experience

  • CG-3

    May, 2006 - Present

    Tools for the 3rd edition of the Constraint Grammar formalism. Created and actively maintained based on feature requests from an international community of computational linguists.

  • CG-3 IDE

    Jun, 2013 - Present

    IDE for developing CG-3 grammars, with syntax highlighting and live feedback designed to keep the edit-compile-test loop as fast as possible.

  • Project JJ Chats

    Jun, 2000 - Present

    Old school chat system, BeSeen-style. Made it from scratch, starting in mid-2000.

Skills

Skills

  • C++

    PHP

    Perl

    CMake

    Qt

    Boost

    Qt Creator

    Visual Studio

    Valgrind

    Natural Language Processing

    Machine Translation

    Unicode

    MySQL

    PostgreSQL

    SQLite

    HTML5

    JavaScript

    jQuery

    C

    Java

    Autotools

    ffmpeg

Education

Education

  • Computer Science, (BSc), University of Southern Denmark

    Sep, 2011 - Dec, 2011

  • Computer Science, (BSc), University of Southern Denmark

    Sep, 2002 - Jul, 2005

Volunteer Work

Volunteer Work

  • Operator, C++ on IRC

    Jun, 2011 - Present

    • Freenode (2011-06-29): Created ##C++-general with the blessing of the ##C++ operators. This quickly grew to be the 2nd largest C++ channel on Freenode, and indeed on any network at the time.

    • QuakeNet (2013-11-17): Granted operator status for #C++.

    • Freenode (2015-04-15): Granted operator status for the main ##C++ – the largest C++ channel on any IRC network at the time.

    • Libera.chat (2021-05-19): Following Freenode's hostile takeover, I created #C++ and #C++-general on Libera.chat, which continue to be the largest C++ channels on any network.

  • Maintainer, Debian

    Sep, 2014 - Present

Publications

Publications

  • CG-3 - Beyond Classical Constraint Grammar , NoDaLiDa 2015

    Published on: May 11, 2015

    Methodological strengths and shortcomings of the Constraint Grammar paradigm (CG), showing how the classical CG formalism can be extended to achieve greater expressive power and how it can be enhanced and hybridized with techniques from other parsing paradigms.

  • Keen Mind (SciFi Flash Story) , 365 tomorrows

    Published on: Jul 12, 2014

    The two young men have visited me twice per week in the past months, asking me to tell them stories about my past.

  • Amongst the Stars (SciFi Flash Story) , 365 tomorrows

    Published on: Oct 17, 2015

    The crying boy slunk down by the obelisk. "Everyone says you listen at these stones", he whispered, "so if you really do exist, please take me away from here."