Last updated on April 13, 2024
Major Contributions
EditorConfig
EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readibly and they work nicely with version control systems.
Visit EditorConfig project page to know more about it.
Chromium OS
Chromium OS is an open-source project that aims to build an operating system that provides a fast, simple, and more secure computing experience for people who spend most of their time on the web. It is the open source project behind Google Chrome OS. I'm currently actively working on this project as an employee of Google.
My commits are in multiple repositories: platform2, Chromium, overlays/chromiumos-overlay, platform/tast-tests, platform/libchrome, third_party/autotest, platform/minijail, chromite
PyTorch
PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. I was formerly a module-level maintainer. I worked on the project as an employee of International Business Machines (IBM). You can view my commits on GitHub.
8 Hobbies Projects
8 Hobbies is a small tech company that I own and operate. I'm the main author of projects under 8 Hobbies.
Nikola publication_list Plugin
The Nikola publication_list plugin provides an easy way to manage your publication list on the web. All you need to do is writing a BibTeX file and refer to the file in the publication_list
directive. See the project page for more details.
flake8-executable
flake8-executable is a flake8 plugin for checking executable permissions and shebangs of Python source files.
dired-quick-sort
dired-quick-sort is an Emacs extension which provides easy way to sort files in dired with various sorting criteria.
Jekyll Table of Contents Generator
Jekyll Table of Contents Generator is a Jekyll plugin which generates Tables of Contents.
oh-my-zsh web-search plugin
web-search is an oh-my-zsh plugin which adds several commands to do web search within zsh.
Reveal.js Explicit Link Plugin
Reveal.js Explicit Link is a tiny reveal.js plugin that helps type links more easily.
Backup On The Go
Backup On The Go is a tool written in Ruby, which backs up (or mirror) your GitHub repositories to BitBucket in the cloud. You could deploy it on Heroku, and it will automatically mirror your GitHub repositories to BitBucket periodically.
CmdLauncher
CmdLauncher helps people use command line tools in a graphical environment.
This project is aimed at helping people launch a command in a graphical way. Command line tools are powerful, but some people, especially those who are not computer experts, do not like command line tools. CmdLauncher provides a simple way for developers to make their console programs launch by selecting one from the list, or choosing a file, or something else in a graphical user interface. What the command line program developers need to do is to write a simple yaml format file containing information of their command line programs, which will be read by CmdLauncher.
Quine-McCluskey minimizer
Quine-McCluskey minimizer is a Quine-McCluskey algorithm implementation library modified from Stefan Moebius' command line only version. It is modified to be used as a library. Also additional compatibility fixes and documents are added.
Blober (no longer maintained)
Blober is Blober is a project which aims to help individuals and organizations set up servers which run free/open-source Internet and/or intranet services. It helps set up an extensible framework where you can install Internet software using Docker in an integrated manner. The Blober project also promotes open federation protocols and software whenever applicable.
Emacs Related Projects
dired-quick-sort
See above.
dired-icon
dired-icon is an Emacs extension which provides a minor mode dired-icon-mode
to display an icon for each file type in dired buffers.
Vim Related Projects
Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems. This page contains some of my projects related to Vim.
SingleCompile
A Vim plugin which makes it more convenient to compile or run a single source file.
IniParser
This is a Vim plugin providing a set of functions to read and write ini
format files for vimscript.
Nautilus-Edit-with-Vim
A Nautilus extension aimed at helping start editing with Vim fast and conveniently on GNOME.
Nautilus-Edit-with-Vim is an extension for Nautilus, the GNOME file manager, and is written in python. This extension adds several menu items in the Nautilus right-click context menu for gvim, such as "Edit with gVim", etc, just like gVim on Windows.
compiler/gfortran.vim
Vim compiler file for GNU Fortran Compiler.
This script has been included in the offical Vim distribution since Vim version 7.3.152.
compiler/ifort.vim
Vim compiler file for Intel Fortran Compiler.
This script has been included in the offical Vim distribution since Vim version 7.3.152.
compiler/g95.vim
Vim compiler file for G95 Fortran Compiler.
This script has been included in the offical Vim distribution since Vim version 7.3.152.
tags2db
Tags2db is a command line tool that convert tags files (ctags, gccxml, etc.) to databases (sqlite, etc.).
Tags2db is a program that converts tags files (ctags, gccxml, etc.) to database tables (SQLite, etc.). Currently only ctags, gccxml and SQLite are supported. Other tags files such as etags, and other databases such as MySQL will be supported in the future.
Projects I Took Over Maintainance
indent/java.vim
This is a Vim indent file for java source files. This indent file is based on the java indent file maintained by Toby Allsopp, which was shipped with the official Vim distribution before Vim version 7.3.408.
This script has been included in the official Vim distribution since Vim version 7.3.409.
syntax/dosini.vim
Vim syntax file for dosini files (*.ini).
This script has been included in the offical Vim distribution since Vim version 7.3.313.
Other Contributions
I've also contributed to a variety of projects (Listed in alphabetical order).
- atp_vim -- commits
- bitbucket_rest_api (ruby) -- commits
- dired-hacks -- commits
- el-get -- commits
- Elpy -- commits
- Evil -- commits
- F-Droid -- commits | wiki edits
- git-archive-all -- commits
- GNU Data Language -- changeset idl_validname.pro 1.4
- GNU Emacs -- commits
- GnuCash -- commits
- Homebrew -- commits in the main repo | commits in homebrew-dupes | commits in homebrew-science
- Hoodie -- commits
- HTTPS Everywhere -- commits
- Isso -- commits
- Ivy -- commits
- Keras -- commits
- keyword-search -- commits
- Kubernetes -- commits
- latexcodec -- commits
- Linux (the OS kernel, not the whole OS) -- commits
- lsp-mode -- commits
- MELPA -- commits
- mu4e -- commits
- Nikola -- commits in the main repo | commits in nikola-themes
- NumPy -- commits
- Octopress
- Octopress-Theme-Slash -- commits
- PrismJS -- commits
- pybtex -- commits
- Pygments -- commits
- Pypa Packaging (Core utilities for Python packages) -- commits
- PyTest -- commits
- oh-my-zsh -- commits
- Spacemacs -- commits
- Sphinx -- commits
- Sphinx ReadTheDoc Theme -- commits
- sphinxcontrib-bibtex -- commits
- sphinxcontrib-srclinks -- commits
- SymPy -- commits
- Synpurge -- commits
- Transformers -- commits
- typeshed (bundled with mypy) -- commits
- verbs -- commits
- Vim -- patches
7.3.063
7.3.079
7.3.094
7.3.113
7.3.115
7.3.174
7.3.191
7.3.234
7.3.293
7.3.493
7.3.844
7.3.845 - web-mode -- commits
- word_cloud -- commits
- wxWidgets -- changeset 67022
- xfce4-i3-workspaces-plugin -- commits
- zsh -- commits
- zsh-completion -- commits