Archiv der Kategorie Ideas

Check Out a Preview of My New Game!

Check out my a preview of my new game, “2017!” . It’s my first program for Adobe Flash, and I created it using the free Adobe Flex 4 SDK (the underlying framework is even open-source). I used only free and open-source tools on Linux to create all of the program and artwork. It’s still only an intro, but I hope to be able to work on it occasionally in my spare time. :)

On the page, you’ll also find the source code to the application. It illustrates with how little effort you can create applications using Flex 4. :)

MusicEd: A Music Editor V0.0.1

A very very early version of my new music editor MusicEd, which is still a work in progress. It’s written in C and uses SDL for its graphical user interface. This also means that all controls are self-drawn. I chose a look and feel akin to that of AmigaOS 2.x/3.x, mainly b/c it was the quickest to implement and also renders quickly, since it needs only 4 colors / palette entries and hence can run in SDL’s palettized 8 bit per pixel mode.

MusicEd v0.0.7 - Update (see comments)

Screenshot of MusicEd v0.0.7

MusicEd v0.0.6 - Update (see comments)

MusicEd v0.0.5 - Update (see comments)

MusicEd v0.0.4 - Update (see comments)

Screenshot of MusicEd v0.0.4

MusicEd v0.0.3 - Update (see comments)

Screenshot of MusicEd v0.0.3

MusicEd v0.0.2 - Update (see comments)

Screenshot of MusicEd v0.0.2

MusicEd v0.0.1 - Initial version

Screenshot of MusicEd v0.0.1

MusicEd SourceForge project

GobSmack: A GUI Framework for the Web V0.0.1

In an effort to create a GUI framework that can be used on web pages, I managed to complete a first, very early version. It includes a session manager demon for UNIX-like systems, a CGI frontend that communicates with the daemon, an AJAX library for communicating with the CGI frontend, and a simple test page to write the screen size to the session manager.

GobSmack v0.0.5 - Version with bugfix for get_resource() and the new features of configuration files and JavaScript serving.

GobSmack v0.0.4 - Version with bugfix for internal document fragment serving.

GobSmack v0.0.3 - Version with bugfix for invalid CGI request handling.

GobSmack v0.0.2 - Version with bugfix for random number generator.

GobSmack v0.0.1 - Initial version.

Binary Data Structure Definition Language

I just had an idea how to store the definition of data structures in binary form, which can be useful for implementing high-level programming language compilers.

Full Text

Web Server Skeleton

How often have you wished to write your own web server? With my little program, you can. It contains all necessary code to write a UNIX-based web server (i.e. just like in the real world, you’ll need an operating system like Linux, FreeBSD, Solaris or AIX). The only thing that remains to be done is to implement a single function, handle_http_request(), that handles the Hypertext Transfer Protocol (HTTP). The input will be ready on the specified input stream, and you can write any output to the specified output stream. The code is written in the C programming language, and comes with a BSD license, ready to be used at home or at work.

Source code (.tar.gz format)

Program to convert binary data to web pages

This set of two small utilities I’ve written can be used to tunnel binary data over HTTP by the usage of HTML pages that appear normal to most machines.

Thus, firewalls can be avoided since most data going through port 80 is relatively unfiltered.

Of course, these two small programs are only part of the cure. The source code can be used in more sophisticated solutions. They’re written in portable ANSI C, and have a BSD license (so, use in commercial applications and/or organizations is expressly permitted).

Source code (.tar.gz format)
Source code (.zip format)

Idea for a Six Dimensional CPU

I had a phase many years ago, in which I envisioned concepts for six dimensional computers. Such a processor as I envisioned would consist of many cells which would be three-dimensionally organized in cubes. Each cell would consist of a data word, an instruction word, and a processing circuit. Cells would be linked to each other in three dimensions. Cubes would be linked in three dimensions as well, creating effectively six dimensions. Memory addresses would be in six dimensions, and there would be links from specific cells inside a cube outside to other cubes. Program flow could then “travel” inside a cube, allowing room for as many parallel streams of execution as there is space in the cubes. A computer like this could foster thinking in six dimensions and make comprehension of such concepts easier. Perhaps it could also be used to write multidimensional simulations.

|