summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-11-03 15:40:45 -0500
committerJesse Luehrs <doy@tozt.net>2014-11-03 15:40:45 -0500
commit29f68f28c994d900550a7aad7be13e02a786c546 (patch)
treefaaeaebc0ac777e5e77d557bc27e179af6e36acf
parent72fcc518537824e230e7622f203dfc7e198aeced (diff)
downloadtozt.net-29f68f28c994d900550a7aad7be13e02a786c546.tar.gz
tozt.net-29f68f28c994d900550a7aad7be13e02a786c546.zip
add projects page
-rw-r--r--root/template/projects.tt108
-rw-r--r--root/template/wrapper.tt1
2 files changed, 109 insertions, 0 deletions
diff --git a/root/template/projects.tt b/root/template/projects.tt
new file mode 100644
index 0000000..7eee79b
--- /dev/null
+++ b/root/template/projects.tt
@@ -0,0 +1,108 @@
+<h4>projects i've worked on</h4>
+<ul>
+<li>
+ Termcast (<a href="https://github.com/doy/python-termcast-server">https://github.com/doy/python-termcast-server</a>)
+ <p>
+ Termcast is a program which allows users to stream the contents of
+ terminal-based programs to a central server, and allow other people to
+ watch them. It is useful for remote pair programming, as well as things
+ like spectating on terminal-based games. I have written a client which
+ allows users to broadcast, as well as a server which allows users to
+ watch the broadcasters either over an SSH connection or through a
+ website.
+ </p>
+</li>
+<li>
+ libvt100 (<a href="https://github.com/doy/libvt100">https://github.com/doy/libvt100</a>)
+ <p>
+ I am the author of libvt100, a terminal parsing library written in C
+ and Lex. I am currently using it in the Termcast server and in Runes, a
+ terminal emulator.
+ </p>
+</li>
+<li>
+ Text::Handlebars (<a href="https://github.com/doy/text-handlebars">https://github.com/doy/text-handlebars</a>)
+ <p>
+ I am the author of Text::Handlebars, 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.
+ </p>
+</li>
+<li>
+ Reply (<a href="https://github.com/doy/reply">https://github.com/doy/reply</a>)
+ <p>
+ I am the author of Reply, 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.
+ </p>
+</li>
+<li>
+ Plack (<a href="http://plackperl.org/">http://plackperl.org/</a>)
+ <p>
+ I am 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 contributed to the design of PSGI, as well as
+ implementing my own PSGI-based web framework called OX.
+ </p>
+</li>
+<li>
+ Perl (<a href="http://www.perl.org/">http://www.perl.org/</a>)
+ <p>
+ 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 been a lead developer on the p5-mop project, a
+ prototype of a new object system for Perl, including features like a
+ meta-object protocol.
+ </p>
+</li>
+<li>
+ OX (<a href="https://github.com/iinteractive/OX">https://github.com/iinteractive/OX</a>)
+ <p>
+ I am the lead author of OX, a web framework for Perl based on the PSGI
+ specification, which uses the Bread::Board dependency injection system
+ to manage application components. We have used it internally at
+ Infinity Interactive for many client projects. In addition to writing
+ most of the framework itself, I also wrote a series of advent calendar
+ posts documenting it, which can be seen at
+ \url{http://ox.iinteractive.com/advent/}.
+ </p>
+</li>
+<li>
+ Moose (<a href="http://moose.perl.org/">http://moose.perl.org/</a>)
+ <p>
+ I am a member of the lead development team for Moose, a module which
+ provides advanced object orientation capabilities for Perl. I was also
+ the release manager from 2011--2012. I wrote several extensions for
+ Moose, including MooseX::NonMoose, which allows classes built with
+ Moose to easily interoperate with other types of classes, and
+ MooseX::Aliases, which allows Moose attributes to be referred to by
+ different names.
+ </p>
+</li>
+<li>
+ TAEB (<a href="http://taeb.github.io/">http://taeb.github.io/</a>)
+ <p>
+ I am one of the lead framework developers for TAEB, a Perl framework
+ for programmatic interaction with NetHack. I am also the primary
+ developer for the leading AI written for TAEB. I developed several
+ standalone Perl modules, including Graph::Implicit, which implements
+ several useful graph algorithms, and IO::Pty::Easy, which provides a
+ simple read/write interface for interacting with pseudo terminals.
+ </p>
+</li>
+<li>
+ Dungeon Crawl Stone Soup (<a href="http://crawl.develz.org/">http://crawl.develz.org/</a>)
+ <p>
+ I am 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.
+ </p>
+</li>
+</ul>
diff --git a/root/template/wrapper.tt b/root/template/wrapper.tt
index 9b3e084..b7b7463 100644
--- a/root/template/wrapper.tt
+++ b/root/template/wrapper.tt
@@ -19,6 +19,7 @@
<ul>
<li[% IF page == 'index' %] class="active"[% END %]><a href="index.html">about</a></li>
<li[% IF page == 'work' %] class="active"[% END %]><a href="work.html">work</a></li>
+ <li[% IF page == 'projects' %] class="active"[% END %]><a href="projects.html">projects</a></li>
<li[% IF page == 'profiles' %] class="active"[% END %]><a href="profiles.html">internet</a></li>
<li[% IF page == 'talks' %] class="active"[% END %]><a href="talks.html">talks</a></li>
<li[% IF page == 'contact' %] class="active"[% END %]><a href="contact.html">contact</a></li>