Chris Gregory

Home Blog LinkedIn Github

Contact information: czipperz AT gmail DOT com.

Work Experience

Software Engineer at Green Hills Software

February 2021 — Present

Working on The Dawn Project.

Self Directed Projects

Mag

A text editor.

Mag is designed to be fast and configurable. Users of Mag are encouraged to edit the source code of the editor to customize it to fit their usages.

Mag supports many programming languages, including C, C++, CMake, Go, HTML, CSS, JS, Markdown, and Shell / Bash. It also supports graphical and console rendering, multiple cursors, file name completion, animated scrolling, and many other features.

Check out the Github page for more information.

cz

A common library for building data-oriented C++ applications.

Cz provides you with the building blocks to make an efficient and easily optimizable application. Cz provides memory allocators and custom data structures with allocator support.

Cz also provides a simple, low level, cross-platform interface to system resources. It provides file system, threading, and process control layers. Cz also integrates with The Tracy Profiler allowing easy analysis and optimization of your application.

Cz also provides high level interfaces to many system functions allowing you to write simple "C++ scripts" that are then easy to optimize and refactor into the low level utilities.

Check out the Github page for more information.

base-project

A C++ base project with CMake, cz, Tracy, GNU Global, Catch2, and simple cross-platform build scripts out of the box.

This project is explicitly designed to make it easy to start a new C++ project. Just clone the repository, follow the instructions in the readme, and then build out your application.

Check out the Github page for more information.

git-shorthand

git-shorthand provides an extremely terse syntax for interacting with git urls via the git clone and git remote commands.

git-shorthand supports:

  1. Acronyms for remote subcommonds. For example so is aliased to show origin.
  2. Acronyms for urls. Configured in ~/.git-remotes.

    For example, with the configuration file:

    git@github.com/
    c:git@github.com:czipperz/
    
    1. git-shorthand clone torvalds/linux clones git@github.com/torvalds/linux
    2. git-shorthand clone c:cz clones git@github.com:czipperz/cz

Check out the Github page for more information.