flightaware.github.com
by flightaware

Overview

Welcome to flightaware.github.com, the home of a number of open source projects originated or adopted by FlightAware over the last few years.

speedtables

speedtables is a high-performance memory-resident database. The speed table compiler reads a table definition and generates a set of C access routines to create, manipulate and search tables containing millions of rows. Currently oriented towards Tcl.

tcl.gd

tcl.gd is a new Tcl interface to the GD drawing library that is nearly 100% feature complete with GD and provides Tcl developers with the ability to read and write JPEG, PNG, GIF, WBMP, animated GIF, and other formats and manipulate indexed color and truecolor images by drawing pixels, lines, polygons, rectangles, arcs, ellipses, etc, doing fills, drawing text with truetype fonts, draw anti-aliased, resize, resample, rotate and merge images, etc.

It's complete, solid, and fast.

yajl-tcl

yajl-tcl is a Tcl C extensions written to make the Yet Another JSON Library (YAJL) JSON parsing and generating C library available to Tcl programs.

Although there is already a package in the tcllib library, huddle, that can generate JSON, the big advantage in using yajl-tcl is performance. Also, yajl-tcl can parse JSON as well as generating it.

In a benchmark generating JSON representing 5,000 airports with code, name, latitude and longitude, yajl-tcl was 157 times faster than huddle.

tclbsd

tclbsd is a Tcl C extensions written to provide Tcl bindings to various BSD UNIX system calls and library routines.

tclbsd provides interfaces to get the system load average (getloadavg), get and set hard and soft resource limits (rlimit), obtain the resource usage for the current process or its children (rusage), set the process title (setproctitle), get information about mounted filesystems (statfs and getfsstat), log to the system log (syslog), abort the process (abort), and obtain system clock counts (cptime).

tcllauncher

tcllauncher is a way to have Tcl applications run under their own name, be installed in one place with all their support files, and provides them with commands to facilitate server-oriented application execution.

More to Come

the rest of the projects can be found at https://github.com/flightaware. They are being ongoingly improved. You can find repositories for a high-performance memory-resident database (speedtables), splining from Tcl without Tk (tclspline), and others.

License

All of these packages are licensed under the Berkeley copyright.