Kurt Stephens

Nerd Up!

software

ruby-units: Ruby scientific units conversion package

Kurt on Sun, 2006-10-29 18:08.

I came across the excellent ruby-units package, written by Kevin Olbrich, while working on a Ruby package to analyze Polar S710i heart rate monitor files.

My own units package had a few problems. But, Kevin’s worked out much better, after working with him on test cases and pinpointing performance enhancements.

It supports Kevin’s Uncertain class, like “5 +- 1 meter/sec”.

Go get it: gem install ruby-units


UserQuery: Ruby Package Simplifies General Searching in Rails

Kurt on Thu, 2006-10-26 18:53.

See: http://rubyforge.org/projects/userquery/

The RubyForge package userquery allows users to do general queries on SQL database table columns using a simple query language. The package parses tokens from the user’s query and generates SQL WHERE clauses immune to SQL injection attacks.

For example, if a user wants to search for all entries records on a DATETIME field named date, the user can enter: “11/1/2006“ into a text field associated with searching on the date column.

UserQuery will intuitively convert this query into an SQL WHERE clause fragment:

(
 (entries.date >= '2006-11-01 00:00:00') 
AND 
 (entries.date <  '2006-11-02 00:00:00')
)

The user query syntax includes “NOT“, “OR“, “AND“ operators, grouping with parentheses, well as relational operators like “LESS THAN 5“ or “>= $500“. Keyword searching, like “foo AND NOT ‘bar baz’“ using SQL LIKE operators is configurable.


Data Transform Programming Style

Kurt on Sun, 2006-10-22 22:26.

Data Transform Programming Style is somewhere between imperative and functional programming.

Data representations flow towards the desired result, from least expressive to most expressive. This allows greater reuse of code on multiple data representations, greater locality of intent and more literal coding. The nested nature of functional application is flattened into an imperative style that reads more like pseudo-code, while retaining functional elements.


Software Projects

Kurt on Sun, 2006-10-15 23:00.

Here is a list of packages I've developed. These are available for free, but I retain all copyrights except for software copyright by others that may be included.

Software Research

Kurt on Sun, 2006-10-15 22:57.



All papers: Copyright Kurt A. Stephens and ION, Inc., unless otherwise noted.


Software

Kurt on Sun, 2006-10-15 22:54.

I like writing software components; little bits of code that can be assembled into bigger programs. UNIX fits well for me as its design philosophy is focused around combining small programs into larger systems.

I’ve compiled most of the software I’ve written into a respository. I’m interested in any questions or feedback.

I’ve been very interested in meta-programming for a while: programs that have access to information about their own construction and state and programs that synthesize other programs.

One big open-source project I’m working on is a UML meta-modeling framework written in Perl: UMMF.

Extensible AJAX Calendar Widget

Kurt on Thu, 2006-08-31 18:24.

Check it out!

I have written an extensible AJAX Calendar. The calendar events are asyncronously downloaded and cached using a simple XMI representation from the server. Auxillary data can be attached to each calendar event. Each of the days in the calendar are decorated by callback. Calendar navigation events can also trigger callbacks.


Embedding a properly tail-recursive, stack-based interpreter in C

Kurt on Wed, 2006-05-17 14:21.

See /pub/tail_call_interp/tail_call_interp.c

The Scheme programming language requires proper implementation of tail calls, because all looping in Scheme is implemented as function calls — there is a very fundamental relationship between tail-calls and iteration.
Syndicate content

Primary links

Syndicate

Syndicate content

Browse archives

« May 2012  
Mo Tu We Th Fr Sa Su
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31