summaryrefslogblamecommitdiffstats
path: root/content/projects.md
blob: e435c72aff092cb2f60dda26f2b4e55a5f6c3ea7 (plain) (tree)
1
2
3
4
5
6
7





                                
                                     




                                                 
                                      





                                                          
                                      









                                                                              
                                                      


























                                                                                 
                                                














































                                                                               
---
title: "projects i've worked on"
---

### conf

* [Source](https://git.tozt.net/conf)

My (extensive) collection of configuration files.

### runes

* [Source](https://git.tozt.net/runes)

Runes is a VT100 terminal emulator for Linux written in C.

### reply

* [CPAN](https://metacpan.org/release/Reply)
* [Source](https://git.tozt.net/reply)

Reply is a customizable and lightweight REPL for Perl. It provides features
like pluggable tab completion, automatic class loading and refreshing, history
support, and (through the Carp::Reply module) automatically launching a REPL
when an exception is thrown. It can be easily extended through a powerful
plugin system.

### Spreadsheet::ParseXLSX

* [CPAN](https://metacpan.org/release/Spreadsheet-ParseXLSX)
* [Source](https://git.tozt.net/spreadsheet-parsexlsx)

Spreadsheet::ParseXLSX is a Perl module which can read .xlsx files (as
generated by new versions of Microsoft Excel). It handles reading both the data
and formatting from these files.

### Dungeon Crawl Stone Soup

* [Website](https://crawl.develz.org/)
* [Source](https://github.com/crawl/crawl)

I was a member of the development team for Dungeon Crawl Stone Soup, a
roguelike game written in C++ and Lua. I contributed several features
throughout the game, and I was also the release manager for the 0.6 release.

### Moose

* [CPAN](https://metacpan.org/release/Moose)
* [Source](https://github.com/moose/Moose)

I was a member of the development team for Moose, a module which provides
advanced object orientation capabilities for Perl. I was also the release
manager from 2011 – 2012. I am also the maintainer of several widely used Moose
extensions, such as MooseX::NonMoose and MooseX::Aliases.

### Text::Handlebars

* [CPAN](https://metacpan.org/release/Text-Handlebars)
* [Source](https://git.tozt.net/text-handlebars)

Text::Handlebars is a port of the Handlebars.js templating language to Perl. It
uses a custom parser on top of the Xslate template engine framework. It
supports nearly the entire feature set of the JavaScript implementation, and we
used it at Infinity Interactive to ease the transition of one of our large web
applications from client side templates to server side templates.

### OX

* [CPAN](https://metacpan.org/release/OX)
* [Source](https://github.com/iinteractive/ox)

OX is a web framework for Perl based on the PSGI specification, which uses the
Bread::Board dependency injection system to manage application components. We
used it internally at Infinity Interactive for many client projects.

### Plack

* [Website](https://plackperl.org/)
* [CPAN](https://metacpan.org/release/Plack)
* [Source](https://github.com/plack/Plack)

I was a member of the core development team for Plack, the reference
implementation of the PSGI specification for Perl web server/application
interaction (similar to Python's WSGI and Ruby's Rack). I have also contributed
to the design of PSGI.

### Perl

* [Website](https://perl.org/)
* [Source](https://perl5.git.perl.org/perl.git)

I was the release manager for the 5.17.1 development release of Perl, and I
have also contributed many bug fixes to the Perl core. In addition, I have
contributed to the initial implementations of the p5-mop project, a prototype
of a new object system for Perl, including features like a meta-object
protocol.

### TAEB

* [Website](https://taeb.github.io/)
* [Source](https://github.com/TAEB/TAEB)
* ["Behavioral" AI Source](https://github.com/TAEB/TAEB-AI-Behavioral)

I was one of the lead framework developers for TAEB, a Perl framework for
programmatic interaction with NetHack. I was also the primary developer for the
leading AI written for TAEB.