My name is Olaf and I am a software engineer working at Sourcegraph living in Oslo, Norway.
I've authored numerous dev tools related to compilers, build tools and IDEs for various programming languages.
My email is [email protected]
. I'm @olafurpg
on
GitHub and
Twitter.
Projects:
- scalafmt: code formatter
- scalafix: refactoring and linting tool
- scalameta: library to analyze source code
- metals: language server with rich IDE features
- metabrowse: online code browser with IDE features
- mdoc: markdown tool for typechecked documentation
- munit: testing library
- metaconfig: configuration library
- sbt-ci-release: plugin to automate releases for open source projects
- sbt-native-image: plugin to generate GraalVM native-image binaries.
- build-server-protocol: protocol for IDEs and build tools
- scip-typescript: code navigation indexer for TypeScript and JavaScript
- scip-java: code navigation indexer for Java, Scala, and Kotlin
- scip: language-agnostic code indexing format
- cody: AI coding assistant
Downloads:
As of April 2023, projects that I've worked on get ~18m downloads per month from ~300k unique IP addresses.
Presentations:
- 2019 Scale by the Bay Building rich IDE features beyond the Language Server Protocol
- 2019 ScalaDays Lausanne Rich code editing for Scala in VS Code, Vim, Emacs and beyond
- 2018 ScalaDays Berlin Six steps from zero to IDE
- 2018 ScalaSphere SemanticDB for Scala developer tools
- 2017 flatMap(Oslo) Move fast and refactor with Scalafix
- 2016 flatMap(Oslo) Scalafmt - opinionated code formatter for Scala
Posts:
- Nov 2024. Base model Mac Mini M4 is a great coding machine
- Jan 2021. Building precise universal code search at Sourcegraph
- Dec 2020. Becoming a software consultant in Oslo, Norway
- Mar 2020. Dos and don'ts in open source
- Feb 2020. MUnit is a new Scala testing library
- Dec 2019. Scala tooling in 2019
- Mar 2019. Joining Twitter
- Jan 2019. Low-memory symbol indexing with bloom filters
- Dec 2018. Fast typechecked markdown documentation with clear error messages
- Dec 2018. Fast goto definition with low memory footprint
- Nov 2018. Build code analyzers with Scalameta and Scalafix
- Mar 2018. Features I want in an IDE
- Nov 2017. What's happening with macros?
- Oct 2017. Roadmap towards non-experimental macros
- Sep 2017. Catch bugs with Scalafix v0.5
- Feb 2017. Refactor with Scalafix v0.3
- Oct 2016. Introducing Scalafix: a code migration tool for Scala
- Oct 2016. Scalameta at Scala World
- Jun 2016. Master's thesis done
- May 2016. Scalafmt at flatMap(Olso)
- Feb 2016. Three cool things you can do with Scalameta
- Nov 2015. Slick codegen and Scala.js
- Oct 2015. Authorization with Autowire
- Jun 2015. Directembedding: Concealing the Deep Embedding of DSLs
- Sep 2014. Launaskil: payroll managment for independent contractors
- Jun 2014. Orðspor: labeling named entities with computer games
- Dec 2013. Buddy AutoMagic - using network flow to connect students
- Sep 2013. IceQA - Question Answering for the Icelandic language
- Sep 2013. IceQC - Question Classification for the Icelandic language
- Apr 2013. Permutation pattern avoidance