Skip to main content.

Collaborative software trades

:
:
:
:
:

Make up a username and use the same one for different projects

Email is used by the matcher and not displayed.

Enter two days of the week separated by a space in the Anti-Spam field (case insensitive).

To edit a project, submit a "new" project with the same username and project name. Please don't squash other people's projects or we'll all have to start creating accounts.

Project list

username name description
test test
test
Hello Undo in Python
Dear Asrp

I am looking into a potential research project focused on being able to undo and redo within python, particularly for interactive analysis. While looking for similar projects I come across your project undoable, and more generally your self referential project and I wanted to reach out to you to find out if you'd be interested in telling me more about your project. I'm particularly interested in the undo part and any advice you have about my intended project

A bit of background:

Interactive data analysis in frameworks like jupyter notebooks has a common issue - the modification of potentially large datasets within an interactive session. Unintentional modification is frequent, and the common solution is to re-run the steps that were required to get from a data file to the point in question. This reduces the usability of the analysis tools, makes “what-if” exploration difficult, and creates a lot of unnecessary overhead for either manually saving state or re-running scripts to recreate it. 

I'm investigating a proposed project focused on the use of relational Multi-Version Concurrency Control (MVCC) techniques from database systems for these interactive workloads. In essence allowing a control z undo functionality to return to the previous state after running a particular step of an interactive script.

I look forward to hearing from you.

Kind regards
Jayme Bird

PS: this seemed like the best way to contact you
asrp Toy Memory Allocator
It only needs to support two operations: alloc(size) and free(pointer) for some large array. alloc can give an error if it can't find enough space. "Toy" in the sense that it doesn't need to plug into anything but is otherwise efficient.

It could implement multiple strategies and indicate for each how fast the two operations are and what percentage of the space we'll use in the long run in the worst case.

## Common preference of all projects

For all projects, I'd like to have a comprehensive write up of how the internals works, enough to recreate it (and produce this if I'm selected for this project).

I have a strong preference to have it (natively) runnable on Linux.

There's no programming language restrictions unless stated otherwise.
asrp Python 3 PEG Grammar
Just a text describing the Python 3 language that can be use with a parsing expression grammar (PEG) of the creator's choice. (It need to use the "ordered choice" operator instead of the usual "or".)

If I make this, I'll use pymetaterp. Bonus points for concision.

Strong preference to have it (natively) runnable on Linux.

No programming language restrictions for the parsers used with the grammar. Python 3 is only the target language being parsed.

## Common preference of all projects

For all projects, I'd like to have a comprehensive write up of how the internals works, enough to recreate it (and produce this if I'm selected for this project).

I have a strong preference to have it (natively) runnable on Linux.

There's no programming language restrictions unless stated otherwise.
asrp A concatenative language interpreter in Nim, Go or D
A concatenative language interpreter in Nim, Go or D

Any (Turing complete) concatenative language should do. Could just be a port of flpc_all.c [1] from Flpc with a few changes to make it fit the new host language better.

Less built-in features and more extensibility would be better. Needs to have a minimal debugger for the concatenative language.

Hard limit of 1000 LoC of the host language.

[1] https://github.com/asrp/flpc/blob/master/flpc_all.c

## Common preference of all projects

For all projects, I'd like to have a comprehensive write up of how the internals works, enough to recreate it (and produce this if I'm selected for this project).

I have a strong preference to have it (natively) runnable on Linux.

There's no programming language restrictions unless stated otherwise.
asrp Grammar-based description of popular graphical tools
Especially tools that are editors. This is really multiple projects but the description would be the same except for the target project being described.

Use guitktk's [1] grammar to describe only user interactions *without* filling in the function calls. The functions still need to be named approapriately (possibly with a comment of what they should be doing, if complex).

Some examples: Inkscape, Audacity, any text editor (Vim, Emacs, Nano), any movie editor (Blender VSE, Openshot, etc), Xournal, Blender, any slide editor with animation (already partially done in make these slides), any terminal.

Obviously these are too big. So for a single project, pick one of two subtool inside (preferably one of the "basic" tools first).

Any other compact description of user interaction (instead of using guitktk's grammar) would work too but I'm unaware of them.

[1] https://github.com/asrp/guitktk

## Common preference of all projects

For all projects, I'd like to have a comprehensive write up of how the internals works, enough to recreate it (and produce this if I'm selected for this project).

I have a strong preference to have it (natively) runnable on Linux.

There's no programming language restrictions unless stated otherwise.