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:

  • WebCalendar: PHP 8 LAMP multi-user calendar with a 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 30 translations.
  • 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: Golang 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).

And older stuff that is not really maintained anymore:

  • 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 also set up the CI/CD pipeline in AWS CodePipeline, but that's not on GitHub.)

I'm currently working on:

  • I have updated 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). This work is now in the main branch and part of the v1.9.X releases. I also rewrote the web-based installer and updated everything for PHP 8.
  • Teaching myself Golang. My first Go code on Github was the 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 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 established until a few years later in 1998.

Popular repositories Loading

  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 152 74

  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 6

  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. javacaltools javacaltools Public

    Library for parsing/importing and writing iCalendar-formatted data

    Java 1 1

  6. ilib ilib Public

    C