Home
Jason S. Kivlighn :: Portfolio

Skills and Experience Overview

Programming/Scripting Languages
C/C++
Krecipes - This application manages a database of recipes. It is approximately 30,000 lines of code. It runs on any operating system where KDE runs (Linux, BSD, Solaris, Mac OSX, to name a few).

Fung-Calc - This application is a 2 and 3-D graphing calculator. It utilizes Qt for the user interface and OpenGL for 3D graphing. It is cross-platform and runs on Windows, Linux, Mac, and more.
JavaScript/AJAX
Campus Route Finder - This web application allows students to find the shortest routes within the University of Washington campus. The frontend uses Javascript to dynamically select the points of the route.

Games - A collection of various games, including Monopoly. These were my first experiences with JavaScript.

Web Template Viewer - To display a larger preview of a template, the page utilizes JavaScript.
PHP
PHP Hypertext Preprocessor
Photo Browsing Application - This PHP application reads a directory of photos on the server and allows browsing and downloading photos, sorting them by folder.

Drupal Photobar - Written in PHP, this module interacts with the Drupal API to manage galleries of photos and display a sample on the main-page.

Sonlight Church - This site uses PHP to give the site a consistent header and footer on each page. A sidebar menu is automatically added to any page if the appropriate menu file written.

Portfolio - This portfolio itself is littered with the use of PHP. In fact, this table is automatically generated from a textual description of my skills and experiences. The site also uses PHP to load a consistent header and footer on each page as well as to manage the menu links along the left.

Web Template Viewer - Templates are detected and loaded using PHP. PHP scans a directory for templates and generates a page based on what it finds. Adding a new template to the viewer requires no coding at all.
Perl
'Perl Bits' - Some small Perl scripts I've written to make my life easier. If something can be automated, I'll automate it.
Python
Campus Route Finder - This web application allows students to find the shortest routes within the University of Washington campus. The backend is written in Python.

Annoamp - This is a proof-of-concept player of Annodexed media, written in Python.

GIMP Corners Plug-in - This uses the GIMP's python bindings to automatically generate images of rounded corners for websites. The corners in this website are generated with this plug-in.
SQL
Krecipes - Krecipes communicates with a database of recipes using SQL. It uses SQL specifically compatible with MySQL, PostgreSQL, and SQLite.

Krecipes Web-Frontend - This is a database-driven site that uses PHP and MySQL to browse a database of recipes created with Krecipes.

Lynden Tribune - This site displays news articles, read from a database. Articles are classified and viewable by section and RSS feeds are generated from database content.
Document Formats/Standards
(X)HTML All the websites I write make use of HTML in one way or another. Even when using applications such as Dreamweaver or Frontpage to generate HTML, my knowledge of raw HTML allows greater control and fine-tuning. This site is written entirely from scratch within a simple text editor.
CSS
Drupal Photobar - The module is written such that users can write CSS to theme a photobar.

The Bridge Church - I wrote the theme for this site, which is entirely CSS.

Sonlight Church - This site can be given a complete makeover simply by swapping out stylesheets, as it was built around separating content and look from the get-go.
Docbook
Krecipes Documentation - This documentation is written using the Docbook standard. From it, documentation can automatically be generated into various formats, such as Latex, man pages, PDF, or HTML
RSS
Really Simple Syndication
Lynden Tribune - RSS feeds are automatically generated based on content in the site's database.
XML Docbook, RSS, HTML are all XML formats I am well-familiar with, both practically and technically. Krecipes generates recipes in XML format and is also capable of reading and writing a variety of XML formats such as MasterCook and RecipeML.
Server/Web Applications
Apache
The most-used HTTP server on the Internet
I have installed and configured Apache as well as managed it's various modules. I know how to use .htaccess files to manage directory access and handle authentication.
Drupal
An advanced content management system
Drupal Photobar - Through writing a module for drupal, I got a firm grasp of how Drupal works from a developers standpoint. This understanding makes installing, using, and managing Drupal a breeze.
MediaWiki
An enterprise-grade wiki platform from which Wikipedia is based.
MySQL/phpmyadmin Many of the sites I've worked with access data from a MySQL database. I've handled installing and configuring MySQL both locally and remotely. I'm familiar with creating databases, setting up proper permissions, interfacing sites with the database, and backup and restoration. I have experience performing these tasks both from a web browser via phpmyadmin and from the Unix shell.
Unix/Linux shell On a daily basis I work from within a Linux shell. I'm familiar with all the common commands, including ssh, scp, cp, mkdir, touch, mv, rm, top, cat, less, stat, ls, man, echo, find, grep, gzip, tar, date, and ln. I can use pipes and redirection to execute complex commands as well as shell scripts to automate tasks. While a GUI often exists for configuration and installation of software, it is often more efficient to do the same tasks from within a shell. Other times, certain tasks require familiarity with the shell.
WebCalendar
An open source multi-user calendar
Sonlight Church - I installed and customized this calendar for the church. It integrates seamlessly into the site. Some modifications were made to the WebCalendar source code in order to best fit the church's needs. I also manage security updates.
Wordpress
A semantic personal publishing platform, i.e. an advanced blog platform.
I manage a private blog on my home system that uses Wordpress. I managed it's installation, configuration, and created a custom theme in PHP and CSS.
phpWebSite
An open source system to develop an interactive, community-driven web site
The Bridge Church - I managed the installation of phpWebSite as well as loading the site with initial content.