• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
  • Created about 8 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bounty program for improvements to Tcl and certain Tcl packages

Due to the impact of the coronavirus, FlightAware's Tcl Bounty program is temporarily on hold until the business climate has stabilized.

Tcl-bounties

Bounty program for improvements to Tcl and certain Tcl packages.

FlightAware is offering a number of bounties for various enhancements, fixes, etc, for Tcl and/or Tcl extensions.

Bounties we are offering run to tens of thousands of dollars.

Upgrade the scotty extension

  • $1000 to update Scotty to modern Tcl Extension Architecture (TEA) build standards, compilling properly under FreeBSD, Debian and macOS, with stub support.

Status: bounty conditions met by @jorge-leon PAID

  • $1000 to fix bugs in Scotty's UDP stuff -- "configure/cget" of config vars working and configured host and port to be used if not specified in "send".

Status: bounty conditions met by @jorge-leon PAID

Support for SO_REUSEPORT on server sockets

  • This would allow multiple programs to open the same port from a server socket.
  • It would be a switch to the socket command.
  • It looks pretty easy.
  • $2500

Status: Bounty conditions met by lemonboy... PAID

tclreadline improvements

  • $2500 to make tclreadline able to recognize iTcl and tclOO objects and do tab completion for method names, tab completion for variables if indicated by the present of cget or configure

Status: Bounty conditions met by dbohdan, pull request flightaware/tclreadline#1. PAID

Support for epoll()/kqueue() to replace select() in socket handling

  • This could considerably reduce the overhead for Tcl programs that have thousands of sockets open.
  • There was a Google Summer of Code project to do this that never got integrated and might not have been completed but could be a starting point.
  • $10,000

Status: Bounty conditions met by lalbornoz, implementation in trunk. PAID

Clean up of tcltls

  • support all TLS versions.
  • fix hangs in protocol negotiation.
  • fix background errors to provide an error message.
  • test and get it working with LibreSSL -- drop SSLv2, SSLv3, etc.
  • plus light maintenance for a year
  • $5,000

Status: Bounty conditions met by rkeene. PAID

Call-by-name syntactic sugar for proc definitions that would obviate most uses of upvar

  • something like... proc find_flightplan_from_position {*flightplan *position} {}
  • ...that would replace proc find_flightplan_from_position {_flightplan position} ... upvar $flightplan flightplan $_position position, etc
  • (To be implemented as a first class thing in the Tcl code, not some proc that generates a proc or something lame like that.)
  • $10,000

Status: Part of http://www.tcl.tk/cgi-bin/tct/tip/457.html

Speed up clock format and clock scan

  • 2X for $5,000
  • 4X for $10,000
  • 10X for $20,000

Complete by @sebres, waiting on core team to pick up. PARTIALLY PAID

Revive the Tcl Pro debugger

There was a Tcl Pro package from Scriptics many years ago that was open sourced. Included was a source-level debugger.

  • Get the source-level debugger working again with Tcl 8.6 and accepted into the Tcl core
  • $20,000

Status: Completed by blacksqrl, PAID

Make TclX's signal trap handlers safe to use with threaded Tcl

  • currently they are prone to deadlock as the signal can be delivered to the select thread and this will self-deadlock if it happens at the wrong time
  • this will need Tcl core changes to support it
  • $5,000

## Make TclX's profiler work properly with Tcl 8.6

  • currently it crashes Tcl
  • this may need Tcl core changes to support it
  • $2,500

Status: complete by Rami Khaldi.

Stop Tcl from eating child process exit status gratuitously

  • currently if you want to retrieve child status for subprocesses yourself asynchronously, there are a bunch of things you must avoid, including "open |foo" even if it's a completely unrelated child
  • Tcl core should either not call waitpid for children it is not directly managing, or it should have a mechanism for preserving the return statuses it consumes via waitpid so the app can retrieve them when needed
  • this makes any non-trivial communication scheme with subprocesses painful (see piaware's fa_sudo to see the lengths you must go to, and then everything must use that and avoid the core pipe functionality)
  • $5,000

Status: Integrated into core, thank you FrΓ©dΓ©ric Bonnet.

A reasonable C API for enumerating an array

  • (without using any Tcl code, that is, no invoking Tcl_Eval or equivalent)
  • $5,000

"after -at"

  • basically some other way to set a point in time when something is to occur rather than a delay time
  • we're not married to it being "after -at"
  • $2,500

array default arrayName value

  • Default values for arrays, "array default arrayName value", causes that value to be returned any time an attempt is made to access an element of the array that isn't present.
  • $2,500

"array foreach"

  • this adds a new suboption to the array command, "array foreach varName {code}"
  • $2,500

Status: Bounty conditions met by Brad Lanam, paid.

Tcl package introspection improvements

  • A more legit way to get a list of all the source files loaded by a package.
  • "package files" or something
  • $2,500

Status: bounty conditions met by nijtmans

Named Parameters

Status: No longer part of the program.

Tcl runtime performance improvements

  • $20,000 for Tcl to run 2X faster than Tcl 8.6 for a benchmark program TBD.
  • $100,000 for Tcl to run 10X faster than Tcl 8.6.
  • (We need help with the benchmark.)

Rules for Tcl bounties

  • All code must be released under the BSD license.
  • For bounties under $10,000, the bounty will be paid when the code is accepted into the Tcl core, or if not part of the core, accepted by the package maintainer.
  • For bounties $10,000 and over, we’ll pay 50% of the bounty will be paid out when the code is accepted into the Tcl core and the remaining 50% when it appears in a release of Tcl.
  • The first person or team to succeed wins the bounty.
  • If you succeed in fulfilling the conditions for receiving a bounty as a team then the team has to apportion the bounty among themselves; we are not getting involved in any disputes over who deserves what.
  • We request that people or teams publicly announce their intention to pursue a bounty to reduce the likelihood of wasted work, hard feelings, etc.
  • That being said we understand that some people or teams may announce and not succeed, so the fact that someone has announced they are pursuing a bounty does not prevent others from pursuing it as well.
  • If due to the nature of their employment someone is not allowed to accept a bounty or their share of a bounty, they can assign their share to others on their team, to a charity of their choosing, or to the Tcl Community Association.
  • FlightAware employees can participate but not double-dip; i.e. don't work on it at work.
  • When appropriate, the TIP process may need to be followed for changes that impact the public interfaces of Tcl core.

More Repositories

1

piaware

Client-side package and programs for forwarding ADS-B data to FlightAware
Tcl
487
star
2

speedtables

Speed tables 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
66
star
3

piaware_builder

Debian package builder for piaware
Shell
60
star
4

tclreadline

GNU readline for interactive Tcl shells
Shell
56
star
5

cpptcl

C++ library for interoperability between C++ and TCL
C++
53
star
6

adsb-flight-scanner-android

Open Source ADS-B aircraft position tracker on the 1090 MHz (ES) and 978 MHz (UAT) bands for Android devices
Java
53
star
7

fa-grafana

Grafana dashboards for PiAware
Shell
38
star
8

yajl-tcl

Tcl bindings for Yet Another JSON Library
Tcl
37
star
9

firehose_examples

Example programs that demonstrate how to use the FlightAware Firehose service
Java
35
star
10

scotty

A Tcl extension for building network management (SNMP, ICMP, UDP, DNS) applications
C
32
star
11

Pgtcl

Tcl client side interface to PostgreSQL (libpgtcl)
C
31
star
12

TclProDebug

Upgrade of debugger from classic TclPro to Tcl 8.5+
Tcl
30
star
13

flightxml3_examples

Example programs for FlightXML3
C#
30
star
14

firestarter

Getting started with FlightAware Firehose
Python
29
star
15

tclx

Official home of the TclX extension for Tcl
C
29
star
16

beast-splitter

Utility that distributes Mode-S Beast output to multiple clients
C++
28
star
17

mdsplib

Updated METAR Decoder Software Package Library
C
24
star
18

aeroapps

Getting started with FlightAware AeroAPI
Python
22
star
19

tohil

a feathered serpent, delightful integration between python, the serpent, and TCL, the feather...
C
21
star
20

swift-tcl

Swift class library that bridges between Swift and Tcl
Swift
16
star
21

tcllauncher

This is tcllauncher, a launcher program for Tcl applications.
M4
16
star
22

tcl.gd

Feature-complete Tcl interface to GD graphics drawing library
M4
16
star
23

tclrmq

Pure Tcl Library for RabbitMQ
Tcl
13
star
24

mongotcl

Tcl interface to the MongoDB database
C
13
star
25

flightxml2-client-ruby

FlightAware FlightXML Ruby Client
Ruby
13
star
26

dump1090_builder

Debian package builder for dump1090
12
star
27

kafkatcl

Tcl interface to the Apache Kafka distributed messaging system
C
12
star
28

fids_frontend

Frontend FIDS service for FlightAware sample apps
JavaScript
12
star
29

tclcurl-fa

TclCurl package to provide Curl support in Tcl.
C
12
star
30

piaware-support

Configuration support package for PiAware sdcard images
PostScript
11
star
31

tclbsd

A Tcl package for interfacing to various BSD UNIX system calls and library routines
M4
10
star
32

casstcl

Tcl language interface to the Cassandra database
C
9
star
33

pg-deltaflood

stream changes to a PostgreSQL database in an easily parsed format for mirroring to a third party application or database
C
9
star
34

piaware-web

Landing/status webpage for PiAware sdcard images
JavaScript
9
star
35

FlightXML-FIDS-PHP

This is an example Flight Information Display System (FIDS) using PHP and FlightXML, the FlightAware API.
PHP
8
star
36

tclspline

This is tclspline, a direct Tcl interface to spline routines extracted from Tk
Shell
8
star
37

piaware-gui

Tcl/Tk GUI for PiAware
Tcl
7
star
38

memcached-for-Tcl

memcached client library for Tcl based applications
M4
7
star
39

tcl-jira-api

Tcl package to interface with the JIRA REST API
Tcl
6
star
40

tcl-apns

Tcl methods for interfacing with the Apple Push Notification Service (APNS) for iPhone/iOS alerts
Tcl
6
star
41

tclsyslogd

BSD syslogd with integrated Tcl interpreter that can look at each message received
C
5
star
42

TclTweezer

An instrument for examining and modifying the internal state of Tcl objects
C
4
star
43

readonly-pi

Run a Pi with a readonly sdcard
Shell
4
star
44

tcl-ip-console

provides telnet access to the Tcl interpreter of long-running, event-driven programs
Tcl
4
star
45

fa_schema_tools

Schema tools for PostgreSQL including comparing two database schema for differences, making sure all tables have a primary or unique key, and more...
Tcl
4
star
46

flightxml-client-ruby

Ruby bindings for FlightXML -- FlightAware's API for accessing real-time and historical aviation data
Ruby
4
star
47

syslogbox

Tcl code libraries to go with tclsyslogd
Tcl
4
star
48

flightaware.github.com

website for flightaware.github.com
HTML
3
star
49

zookeepertcl

Tcl interface to Apache zookeeper distributed coordination system
M4
3
star
50

tclbench

a few simple benchmarks for Tcl interpreters
Tcl
3
star
51

socketservertcl

Basic socketserver support in Tcl inspired by libancillary
M4
3
star
52

tcl-udp-examples

Demos/examples using UDP from Tcl with Tnm and tcludp
Tcl
2
star
53

swift-tcl-extension-demo

Demo Tcl extension implemented in Swift
Swift
2
star
54

swift-tcl8.6

Swift modulemap for Tcl8.6
C
2
star
55

piaware-configurator

Flask endpoints to configure and control PiAware over HTTP
Python
2
star
56

piaware-exporter

Prometheus metrics exporter for PiAware
Python
2
star
57

speedtable-tools

Tools for speedtables
Tcl
2
star
58

baremaps-exporter

A fast golang exporter for tilesets created with Apache Baremaps
Go
2
star
59

tcl-fogbugz-api

Tcl package for using the FogBugz API
Tcl
2
star
60

alerts_frontend

Frontend Alerts service for FlightAware's AeroAPI
JavaScript
2
star
61

tsvcut-c

cut out specific fields from a TSV (tab separated values) file containing alternating key-value pairs
C
2
star
62

speedbag

a package for providing accelerated C-based routines for TSV parsing into an array
M4
2
star
63

jsmin-tcl

A Tcl JavaScript minifier inspired by Douglas Crockford’s JSMin
Tcl
2
star
64

tclgdb

Use gdb breakpoints for Tcl source with Tcl_CreateTrace
M4
2
star
65

tcltls-rebuild

Rebuild of Debian tcl-tls package with --enable-ssl-fastpath
C
1
star
66

prometheus-tcl

Pure Tcl Prometheus Client Library
Tcl
1
star
67

piaware-ble-connect

Bluetooth Low Energy Service for PiAware SD card images
Python
1
star
68

TclXML

Tcl package that wraps the functionality of libxml2 and libxslt
C
1
star
69

target-eye

REST API For File-Based Service Discovery in Prometheus
Python
1
star
70

tcljs

Tcl extension to execute JavaScript using the SpiderMonkey Javascript interpreter
C
1
star
71

pltcl94

C
1
star
72

tclpacparser

Tcl bindings for pacparser, a proxy auto-config (PAC) file parser and proxy lookup tool
Shell
1
star
73

starch

Framework for runtime selection of architecture-dependent code
C
1
star
74

tsp_examples

Examples using the Tcl Static Prime compiler
Tcl
1
star
75

swift-speedtables

Framework for creating multi-way indexed tables in Swift, similar to Speedtables in Tcl
Swift
1
star
76

tclsass

Tcl interface to the libsass library
M4
1
star
77

swift-tcl-demo

Demonstration application for Swift and Tcl integration
Swift
1
star
78

tcl-otp

A Pure TCL library providing the HOTP and TOTP Algorithms
Tcl
1
star
79

lttngtcl

LTTng trace provider which connects to Tcl_CreateTrace
M4
1
star
80

pltcl96

Base for standalone pl/tcl from Postgresql 9.6
C
1
star
81

egm2008

Earth Gravitational Model (EGM2008)
Rust
1
star