San Francisco, California, United States
4K followers 500+ connections

Join to view profile

About

For 30 years, I have developed, maintained, and built online communities for open-source…

Articles by Terence

  • How to explain gradient boosting

    Just finished a two-month slog to build this 3-part article with Jeremy Howard on "How to explain gradient boosting"…

    7 Comments

Activity

Join now to see all activity

Experience & Education

  • Google

View Terence’s full experience

See their title, tenure and more.

or

By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.

Publications

  • Partial dependence through stratification

    Machine Learning with Applications, Volume 6

  • Towards a Universal Code Formatter through Machine Learning

    Software Language Engineering (SLE) 2016

    Awarded the Distinguished Paper Award.

    Other authors
  • LL(*): The foundation of the ANTLR parser generator

    Programming language design and implementation (PLDI) 2011

    Describes the ANTLR v3 parsing strategy.

    Other authors
    • Kathleen Fisher
  • ANTLRWorks: an ANTLR grammar development environment

    Software: Practice and Experience , Wiley InterScience

    This paper describes ANTLRWorks, a complete development environment for ANTLR grammars that attempts to resolve these difficulties and, in general, make grammar development more accessible to the average programmer. The main components are a grammar editor with refactoring and navigation features, a grammar interpreter, and a domain-specific grammar debugger. (Superseded by Intellij IDE plug-in built later.)

    Other authors
    See publication
  • Chronica: A Temporal Web Search Engine

    International Conference on Web Engineering (ICWE) 2006

    (Paper poster not full paper.)

    Other authors
  • Web Application Internationalization and Localization in Action

    International Conference on Web Engineering (ICWE) 2006

  • Enforcing Strict Model-View Separation in Template Engines

    WWW Conference 2004

    Nominated for best paper (acceptance rate for WWW2004 was 14%).

  • ANTLR: A Predicated-LL(k) Parser Generator

    Journal of Software Practice & Experience, Vol. 25, No. 7

  • The Fortran-P Translator: Automatic Translation of Fortran 77 Programs for Massively Parallel Processors

    Journal of Scientific Programming, Vol. 4, pp 1-21

Join now to see all publications

Projects

  • ANTLR

    -

    ANTLR is a popular and widely-used parser generator that intro- duced a variety of parsing/translation techniques.

    See project
  • ANTLR 4 grammar repository

    -

    A collection of over 250 contributed ANTLR grammars.

    See project
  • ANTLR 4 Intellij IDE Plugin

    -

    Among other features, the plugin provides a “live programming” pane showing parse trees for input as programmers type and reflects changes to the grammar immediately without generating code. The plug-in has a sophisticated profiler that identifies ambiguous phrases, deep lookahead requirements, and grammar hotspots.

    See project
  • CodeBuff

    -

    Given a grammar and a code sample, this tool was an early attempt to use machine learning to format a new corpus in the same style.

    See project
  • dtreeviz

    -

    A Python library for visualizing decision trees and interpreting related models (scikit-learn, XGBoost, Spark MLlib, and LightGBM trees). dtreeviz also provides feature and classifier probability space illustrations.

    See project
  • Explained.ai

    -

    Deep explanations of machine learning and related topics. While he is best known for creating the ANTLR parser generator, Terence actually started out studying neural networks in grad school (1987). After 30 years of parsing, he's back to machine learning and really enjoys trying to explain complex topics deeply and in the simplest possible way.

    See project
  • lolviz

    -

    A simple Python data-structure visualization library that started out as a List Of Lists (lol) visualizer but now handles arbitrary object graphs, including function call stacks. lolviz tries to identify and nicely format common data structures such as lists, dictionaries, linked lists, binary trees, numpy arrays, and pandas data frames.

    See project
  • rfpimp

    -

    Identifying features with predictive power in random forests and other machine learning models is an important interpretation technique and this Python library provides permutation and drop-column importances for any scikit-learn model. As part of this work, we showed that random forest gini-drop feature importances can be highly biased.

    See project
  • StringTemplate

    -

    A Java template engine (with ports for C# and Python) for generating source code, web pages, emails, or any other structured text output. It is well-suited to building retargetable source code generators.

    See project
  • TensorSensor

    -

    This library clarifies exceptions from Python tensor libraries by augmenting messages and visualizing code to indicate tensor variable shape; works with JAX, Tensorflow, PyTorch, and Numpy, as well as higher-level libraries like Keras and fastai.

    See project

More activity by Terence

View Terence’s full profile

  • See who you know in common
  • Get introduced
  • Contact Terence directly
Join to view full profile

Other similar profiles

Explore top content on LinkedIn

Find curated posts and insights for relevant topics all in one place.

View top content

Others named Terence Parr in United States

Add new skills with these courses