Skip to content
View craigk5n's full-sized avatar
Block or Report

Block or report craigk5n

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
craigk5n/README.md

Hi there

I am a software engineer, and I've been contributing to open source projects for 20+ years. My open source repositories include:

  • Cliquetool: Multi-purpose tool written in Go for finding cliques within a graph, building dense groups from the cliques, and generating reports on the results.
  • ilibgo: Go library for reading, writing, and manipulating images with API loosely based on X11 API and utilizing any X11 BDF font for writing text. This is a Go port of my C library (listed below).
  • WebCalendar: PHP LAMP multi-user calendar with translations to over 25 languages and long history of support. I have had many code contributions to WebCalendar over the years and can only claim to have authored about half the code. There are also over 25 translations.
  • Java Calendar Tools: Java library for parsing and generating iCalendar (RFC 2445) data
  • k5nCal: Desktop calendar application written in Java
  • GTimer: Linux GTK application for timing how much time you spend on various projects
  • Ilib: C library for reading, writing, and manipulating images with API loosely based on X11 API and utilizing any X11 BDF font for writing text

Other projects/repos I have contributed to:

  • CVE services: I've contributed to the REST API for MITRE's CVE project while I worked at MITRE. My primary contributions have related to containerizing the NodeJS app.

I'm currently working on:

  • Updating WebCalendar's UI to use Bootstrap and jQuery. It was previously using some very old custom HTML/CSS and a mix of JS tools (Prototype.js and others). The work for this is now in the main branch.
  • Teaching myself Go. I recently posted my first Go code on Github with my new cliquetool project. The project deals with cliques in a sparsely populated undirected graph based on some work I did years ago in C. My example data set includes be a list of NCAA basketball games from a single season. The goal was to determine the conference affiliations for all teams based on the list of games. (Note that in college basketball, each team within a conference generally plays each other team at least once. This is not true in college football where teams often play a subset of the other teams within their conference.)

You can look me up on:

Reach me at:

  • craig AT k5n.us

Interesting facts:

  • My first open source contribution was a system menubar for HP-UX, SunOS, AIX and OSF/1 that I released in 1995 called xapplaunch (still online here) by placing the source code on a public FTP server. Note that the term "open source" was not actually established until a few years later in 1998.

Popular repositories

  1. webcalendar webcalendar Public

    WebCalendar is a PHP application used to maintain a calendar for a single user or an intranet group of users. It can also be configured as an event calendar.

    PHP 142 69

  2. gtimer gtimer Public

    GTimer is a GTK application for timing how you spend your time among various projects and tasks with support for generating plain text and HTML reports.

    C 11 7

  3. webcalendar-docker webcalendar-docker Public

    Docker container for WebCalendar

    Shell 8 2

  4. k5ncal k5ncal Public

    Java-based calendar application that leverages existing standards (iCalendar) to create an open source cross-platform multi-user desktop calendar application.

    Java 6 4

  5. ilib ilib Public

    C

  6. javacaltools javacaltools Public

    Library for parsing/importing and writing iCalendar-formatted data

    Java 1