Project ideas

Floating around in my head are a heap of project ideas that I want to do at some stage. I'm going to write them down now so I don't forget them.

TCPforward - This is a small program that listens for connections on a certain port, then, when it recieves a connection, it opens a connection to a remote host and forwards all traffic between them, essentially acting as a proxy. This is intended for medium-sized networks that only have a DMZ, to forward data away from the DMZ to a server. I could also make this into a primitive load balancer by allowing multiple destinations.


Backuptrans - This is a simple command-line utility that takes in a file, then opens an SSH connection to another machine in order to upload the file there. Then, it will verify the integrity of the transfer with hashes. Unlike 'ssh', this utility is non-interactive, allowing even the SSH password to be passed in to the utility, hence allowing automated transfers. Additionally, I could make it generate a folder structure and naming system for backups on the remote host.


Twitch - This project is about 60%. complete at time of writing. Twitch is a minimalist instruction set, virtual CPU, and assembler. It is intended to allow untrusted parties to write code that is executed under very controlled conditions, with the minimum of resources used. The state of a running twitch binary can be frozen at any time and sent over the wire.

UPDATE: 99% done, but havent written the code to serialize it's state.

p2p - This is a simple p2p. networking library written in go, that is about 70%. complete at the time of writing. This library is designed to allow the creation of secure, large-world packet-switched networks.

android-ex - This is an idea to build an assembler for the dalvik cpu, along with a packager for .apk. Ideally, I would like to produce an alternative to using the Android SDK for building apps, and this library would allow anyone to make a compiler targeting that platform. That said, its a massive project, and I will probably never do it.

LinSum - This utility will connect to a linux host via SSH and generate a summary of its configuration. It is intended to simplify management of linux systems. Such a project could be expanded with an interactive summary, which includes the ability to change the configuration.

Securityd - In the deployment of an IPS, IDS, or universal security policy, there remains issues for getting network/security policies across machines in real time; effectively meaning any action from an IPS or IDS is limited to a specific machine. Securityd not only acts as an IPS, but remains in contact with other instances of the daemon in your network, meaning that security policies are implemented across an entire network in real time.

3Projection - A library to render 3d. objects to a 2d. image file. Written in go, conceptually designed but not yet implemented.

UPDATE: Attempted, however I failed due to the unforseen complexity in projecting objects from 2d to 3d.

go-phys - Basical particle physics engine for Go. Implementing euler integration, gravity, collisions, (rigid) particle objects, (rigid) plane objects.


There are no comments on this article.