foot pedal
Web Foot Avio 1.0
Web Foot Avio is a GDM theme based on wallpaper Blue Web Foot - Gnome. more>>
bwFXPbot 0.1
bwFXPbot is an IRC bot designed for file sharing networks, to distribute files between FTP/FXP servers; Simple Fast and Clean! more>>
The idea is simple, the files are uploaded to a specific FTP server by the administrators who would like to spread them to their other FTP servers on the network, using bwFXPbot they can provide access for who ever they see feet to access the IRC and spread the files by a single command to the IRC bot.
bwFXPbots features are as followed:
- Using IRC bwFXPbot provides you with an easy global access to your file distributions.
- Easy distribution of files from a local host to multiple FTP servers.
- Easy distribution of files from one FTP server to many using FXP.
FreeType 1.3.1
FreeType is a software font engine that is designed to be small, efficient, highly customizable and portable. more>>
FreeType 1 is a clean-room implementation that is not derived from the original TrueType engine developed by Apple and Microsoft. It has been created with the sole help of the published TrueType specifications, which to our great surprise (and pain) turned out to be extremely poor and misleading in critical areas. Much hard work has been undertaken to solve ambiguities. The end result is a portable and fast renderer.
Note that FreeType 1 is a library. It is not a font server for your favorite platform, even though it was designed to be used in many of them. Note also that it is not a complete text-rendering library. Its purpose is simply to open and manage font files, as well as load, hint and render individual glyphs efficiently. You can also see it as a "TrueType driver" for a higher-level library, though rendering text with it is easy, as demonstrated by the test programs.
Its quality matches these of Windows and the Macintosh, while its memory foot-print and code size (between 48 and 55 kByte of Intel code) remain modest. A thing that cannot be said for most other commercial engines available.
Main features:
- Supports TrueType files (TTF) and collections (TTC). Doesnt support GX or OpenType fonts, but these can be opened and used as normal TTF files by the library. (With the exception of OTF OpenType fonts which really embed a Type 1 font file within a TrueType storage).
- Modular design: Memory and I/O operations can be very easily tailored to your own platform/system (the standard release comes with ANSI libc support).
- Font smoothing, a.k.a. gray-scaling. Just like Win95, the renderer only smoothes the parts of a glyph which need it (i.e., diagonals and curves).
- Support for all character mappings defined in the TrueType specification. The client application can select whichever pleases it.
- A full-featured and efficient TrueType bytecode interpreter. The engine is able to produce excellent output at small point sizes. This component has been extremely difficult to get right, due to the ambiguous and misleadings TrueType specifications. However, we now match Windows and Mac qualities.
- Written in portable ANSI C (and Pascal, for older FreeType 1 versions). Should compile well on all kinds of systems (tested on 16, 32 and 64 bits processors). With full source code available.
- Open Source License. FreeType can be included in all kinds of commercial systems and software.
- Provides test programs to "show-off" the library, runnable on the following platforms: Dos, Unix, OS/2, Win95, and Amiga. Any porters for other systems are welcome and should contact the developers team.
- Support for extensions. These are separately linkable units which can be used to enhance the engines functionalities without recompiling it. They can be written to access additional TrueType tables, or even GX and/or OpenType ones (the latter is already available).
- Kerning support: The TrueType kerning data is available through one of the standard extensions that comes in this release. However, it is up to the application to "interpret" the data, as many different `formats are supported.
- Support for vertical metrics. The engine is able to provide client applications with vertical glyph metrics if they are found in font files (usually in CJKV fonts). If not present, it synthetizes metrics from the horizontal values, ascender, and descender metrics. This means that it is possible to render vertical text correctly.
- Standard extensions are provided to access and load the glyph names in the Postscript table.
FileCentral 0.0.8
Filecentral is a filesystem browser and file manager. more>>
Filecentral is programmed in C, the best programming language to shoot yourself in the foot.
Xfce 4 Xfapplet Plugin 0.1.0
Xfce 4 Xfapplet Plugin is a plugin which allows one to use applets designed for the Gnome Panel inside the Xfce Panel. more>>
The current stable version of the XfApplet Plugin has the following features:
Most Gnome applets are supported. Basically the only exceptions are the Gnome Systray and Window List applets, which should be considered not very well supported. This should be fixed in the next stable version;
The XfApplet properties dialog allows you to choose between all Gnome applets currently installed, just as the Gnome Panel does.
The XfApplet context menu shows both the Xfce Panel related items (such as “Move”, “Remove”, “Customize Panel”, etc.) and the Gnome applet ones, which of course will depend on the specific applet being displayed.
Applets are displayed correctly in terms of layout, popup menus and other issues no matter the Xfce Panel specific configuration such as position (top, bottom, left or right side and floating) and size.
By now you may be wondering: why would someone write XfApplet? The motivations for both starting and maintaining this project can be resumed as follows:
Olivier Fourdan (Xfce project leader) was asked in his interview in FOSDEM 2005 about the possibility of integration between the Gnome Panel applets and the Xfce Panel. His answer stated that (by that time) the Xfce Panel did not support stand alone applets such as the Gnome Panel, but instead one could write a plugin for the Xfce Panel that was capable of showing Gnome applets.
Software reusability is very common in FOSS projects, especially in code level. XfApplet allows for reusability in component level by linking against the Bonobo infra-structure and the Xfce Panel libraries. So there’s no need to rewrite every single Gnome applet against Xfce libraries; all of them can be used out of the box from within both the Xfce and Gnome panels.
Many new Xfce users come from Gnome or at least have a good Gnome experience. The possibility of using Gnome applets inside the Xfce Panel makes the experience of moving from Gnome to Xfce or even using both desktop environments easier.
Usage:
Using XfApplet is quite easy, specially because XfApplet itself doesn’t have any special functionallity; its only purpose is to display Gnome applets. To learn how to use a specific Gnome applet you will have to refer to the applet’s particular documentation.
Assuming that you have properly built and installed XfApplet, you need only to right click the Xfce Panel and choose “Add New Item”. You should find the XfApplet Plugin in the list of available plugins for the Xfce Panel.
After adding XfApplet to the Xfce Panel (either by clicking “Add” or by drag and drop), you’ll get an empty XfApplet. An empty XfApplet displays nothing but a small icon with the Xfce mice and the Gnome foot. Right click the icon and choose “Properties”. This will open the XfApplet properties dialog where you will be able to choose any Gnome applet installed by either double clicking it or hitting “OK”.
At any time you can change the applet displayed through the XfApplet properties dialog. Each instance of XfApplet is capable of displaying only one Gnome applet; so if you want to display several applets you will have to add a XfApplet instance for each one of them.
Overslack 0.5
Overslack is a slackline simulator/game. more>>
The simulated world has only two dimensions. Although the forward direction offers many possibilities on a real slackline, it has very little to do with balancing and is quite uninteresting to simulate. Slow speeds are assumed, so the air resistance is neglected. The time evolution is calculated by applying Newtonian physics numerically as many times per second as the machine can handle.
The speed of the simulated world is configurable, making it run five times as slow as the real world makes it slow enough to be manageable and fast enough to keep the attention up. Unlike normal grass ground, the ground in the simulation is bouncy and doesnt cause injuries. It is (unfortunately) a bit unrealistic, but makes it more fun.
The simulated line behaves according to a quite simple model. An ideal spring between the lines point of equilibrium and the slackers feet makes a good approximation, but an ideal spring gives back all energy it stores, which would cause you to bounce forever without helping with your legs. To simulate some friction, it has a somewhat different spring constant depending on whether its extending or compressing. It is of course fully configurable, so anything from an ideal spring to an old, tired and non-elastic line are possible to simulate.
The slacker is controlled with the mouse. Move the mouse down to extend the legs, and move it up to crouch. Move the mouse to the right to lower your right arm and raise your left, and to the left to do the opposite. This is pretty much all you can do on a real slackline too, except that you can move more than just your arms, but thats just a question of terminology.
The slacker is infinitely fast and strong, if you move the mouse the slacker will move instantly to the new position regardless of the force and energy required.
It is possible to jump off the line and land on it again, with or without bouncing on the ground in between, but to make it simpler the slacker is moved to a perfectly balanced position whenever you press the right mouse button.
In addition to the line, slacker and some on-screen numerical physical information, vectors visualizing location (white), speed (green) and acceleration (red), both translational and rotational, are shown.
Live Loops 1.0
Live Loops is a audio looping software for live music production. more>>
Download the latest Work in Progress version from here: http://sunsite.dk/allegro/wip.html
NOTICE: This program wont run unless you create a sub-directory where you are executing it called samples with all of your samples in it (wav format).
This program will attempt to run in a window. If that fails it will attempt to use framebuffer (under linux).
Essentially i wrote this for my own purposes and i wanted a very simple way of putting loops together, and outputting them through existing soundcard hardware into an external mixer.
To do in the following versions:
1) put in some code to send a pulse to the parallel port to control the timing of my Commodore64 computer (running custom music software found on this server in /dev/aSid/current/) This functionality was present in v0.1 before I ported to linux.
2) Put in some audio-input functionality so that a user could record a bar of say, guitar, and that bar would be looped over whilst they played other stuff over the top. Nice for making very live sounding looped music. Sort of like a delay pedal.
Express Scribe For Linux 4.14
Express Scribe is professional audio playback control software for Linux designed to assist with the transcription of audio recordings. Install on the typists computer and can be controlled using the more>>
Free digital transcription software for typists on Linux - Express Scribe is professional audio playback control software designed to assist the transcription of audio recordings. It is installed on the typists computer and can be controlled using the keyboard (with hot keys) and/or foot pedals. This computer transcriber application features variable speed playback, foot pedal operation, file management and more. This program is free.
Features:
~ Ability to play compressed wav or dct files.
~ Variable speed (constant pitch) playback.
~ Can use computer rudder pedals (or some other specialist transcription pedals) to control playback.
~ Ability to Dock portable recorders to load recordings.
~ Uses systemwide HotKeys so you can control playback when using other software (eg. Microsoft Word).
~ Automatically receives and loads files by internet (FTP), email or over a local computer network.
~ Automatically sends typing to the person who dictated the work.
~ Express Scribe is free.
Requirements: Sound Card, speakers or headset
<<less
It is installed on the typists computer and can be controlled using a transcription foot pedal or using the keyboard (with hot keys). This computer transcriber application also offers valuableVersatile Cursors for GNUemacs 1.09
Versatile Cursors for GNUemacs is a set of emacs commands managing an more>>
Versatile Cursors for GNUemacs quickly re-assigns the cursor keys between these as needed. Built on this are high-level actions such as converting code blocks to separate functions.
This provides elegant and concise editing, and is pedal- and voice-friendly.
Main features:
- A block (or region) cursor, with motion and text selection by semantically significant units e.g. statements, statement parts, sentences, phrases, table rows and cells
- Editing in terms of these (e.g. ``Make the selected code conditional or ``Delete the selected text)
- Easy access to these through flexible, dynamic, rebinding of the arrow keys and others, with easy ways to navigate the space of possible navigation spaces
- High-level editing operations such as:
- Converting an expression to a local variable initialized to that value
- Converting a block of code to a procedure/function, working out automatically what parameters are required
- Means to access these (and other) navigation and editing commands through a narrow-channel interface such as footswitches (suitable for disability access, including RSI)
- Voice access setup for use with emacs-vr-mode
Enhancements:
- Mostly bug fixes, including a long-standing one for the mode changing wrongly on coming out of the minibuffer.
oa 1.0.3
oa is a toy I needed to experiment with some wave-forms. more>>
I like it so much I decided to release it ! even if it is only a toy. oa project works with Linux (for the sound) and X-Window (for the interface).
Yes, the window is very big (1024x868), yes I know, dont blame me. It was the size I needed.
You can use it very quickly, I think the interface is obvious. Try to have some wave-forms that will procude realistic "ooo" and "aaa" and send the oa data files to me !
You even can save what you do to a wav file. If you produce one, put it somewhere I could download it and send me a mail. You can do crazy things, really, like some people do with their wonderful "electro-acoustical music".
Enhancements:
- it now compiles with gcc 4.0.
Geo::Distance 0.11
Geo::Distance is a Perl module that can calculate distances and closest locations. more>>
SYNOPSIS
use Geo::Distance;
my $geo = new Geo::Distance;
$geo->formula(hsin);
$geo->reg_unit( toad_hop, 200120 );
$geo->reg_unit( frog_hop => 6 => toad_hop );
my $distance = $geo->distance( unit_type, $lon1,$lat1 => $lon2,$lat2 );
my $locations = $geo->closest(
dbh => $dbh,
table => $table,
lon => $lon,
lat => $lat,
unit => $unit_type,
distance => $dist_in_unit
);
This perl library aims to provide as many tools to make it as simple as possible to calculate distances between geographic points, and anything that can be derived from that. Currently there is support for finding the closest locations within a specified distance, to find the closest number of points to a specified point, and to do basic point-to-point distance calculations.
METHODS
new
my $geo = new Geo::Distance;
my $geo = new Geo::Distance( no_units=>1 );
Returns a blessed Geo::Distance object. The new constructor accepts one optional argument.
no_units - Whether or not to load the default units. Defaults to 0 (false).
kilometer, kilometre, meter, metre, centimeter, centimetre, millimeter,
millimetre, yard, foot, inch, light second, mile, nautical mile,
poppy seed, barleycorn, rod, pole, perch, chain, furlong, league,
fathom
formula
if($geo->formula eq hsin){ ... }
$geo->formula(cos);
Allows you to retrieve and set the formula that is currently being used to calculate distances. The availabel formulas are hsin, polar, cos, and mt. hsin is the default and mt/cos are depreciated in favor of hsin. polar should be used when calculating coordinates near the poles.
reg_unit
$geo->reg_unit( $radius, $key );
$geo->reg_unit( $key1 => $key2 );
$geo->reg_unit( $count1, $key1 => $key2 );
$geo->reg_unit( $key1 => $count2, $key2 );
$geo->reg_unit( $count1, $key1 => $count2, $key2 );
This method is used to create custom unit types. There are several ways of calling it, depending on if you are defining the unit from scratch, or if you are basing it off of an existing unit (such as saying 12 inches = 1 foot ). When defining a unit from scratch you pass the name and rho (radius of the earth in that unit) value.
So, if you wanted to do your calculations in human adult steps you would have to have an average human adult walk from the crust of the earth to the core (ignore the fact that this is impossible). So, assuming we did this and we came up with 43,200 steps, youd do something like the following.
# Define adult step unit.
$geo->reg_unit( 43200, adult step );
# This can be read as "It takes 43,200 adult_steps to walk the radius of the earth".
Now, if you also wanted to do distances in baby steps you might think "well, now I gotta get a baby to walk to the center of the earth". But, you dont have to! If you do some research youll find (no research was actually conducted) that there are, on average, 4.7 baby steps in each adult step.
# Define baby step unit.
$geo->reg_unit( 4.7, baby step => adult step );
# This can be read as "4.7 baby steps is the same as one adult step".
And if we were doing this in reverse and already had the baby step unit but not the adult step, you would still use the exact same syntax as above.
distance
my $distance = $geo->distance( unit_type, $lon1,$lat1 => $lon2,$lat2 );
Calculates the distance between two lon/lat points.
closest
my $locations = $geo->closest(
dbh => $dbh,
table => $table,
lon => $lon,
lat => $lat,
unit => $unit_type,
distance => $dist_in_unit
);
This method finds the closest locations within a certain distance and returns an array reference with a hash for each location matched.
The closest method requires the following arguments:
dbh - a DBI database handle
table - a table within dbh that contains the locations to search
lon - the longitude of the center point
lat - the latitude of the center point
unit - the unit of measurement to use, such as "meter"
distance - the distance, in units, from the center point to find locations
The following arguments are optional:
lon_field - the name of the field in the table that contains the longitude, defaults to "lon"
lat_field - the name of the field in the table that contains the latitude, defaults to "lat"
fields - an array reference of extra field names that you would like returned with each location
where - additional rules for the where clause of the sql
bind - an array reference of bind variables to go with the placeholders in where
sort - whether to sort the locations by their distance, making the closest location the first returned
count - return at most these number of locations (implies sort => 1)
This method uses some very simplistic calculations to SQL select out of the dbh. This means that the SQL should work fine on almost any database (only tested on MySQL and SQLite so far) and this also means that it is fast. Once this sub set of locations has been retrieved then more precise calculations are made to narrow down the result set. Remember, though, that the farther out your distance is, and the more locations in the table, the slower your searches will be.
T-Sim 0.1
T-Sim project is an early version of a helicopter simulator for GNU/Linux. more>>
It already has random terrain generation, a 3D cockpit view with working instruments and an external view. The flight model, however, is still very simplistic.
Keys
N increase throttle
B decrease throttle
V move collective up
C move collective down
W push left pedal
X push right pedal
Up Arrow move cyclic forward
Down Arrow move cyclic backward
Left Arrow move cyclic left
Right Arrow move cyclic right
F10 cockpit view
F11 instrument view
F12 external view
F1 look left
F2 look right
F3 look up
F4 look down
F5 zoom out (external view only)
F6 zoom in (external view only)
A drag helicopter to the right
Z drag helicopter to the left
E drag helicopter up
R drag helicopter down
T drag helicopter backward
Y drag helicopter forward
Enter exit
Text::Typography 0.01
Text::Typography can markup ASCII text with correct typography for HTML. more>>
SYNOPSIS
use Text::Typography qw(typography);
print typography($text);
This module is a thin wrapper for John Grubers SmartyPants plugin for various CMSs.
SmartyPants is a web publishing utility that translates plain ASCII punctuation characters into "smart" typographic punctuation HTML entities. SmartyPants can perform the following transformations:
Straight quotes ( " and ) into "curly" quote HTML entities
Backticks-style quotes (``like this) into "curly" quote HTML entities
Dashes (-- and ---) into en- and em-dash entities
Three consecutive dots (...) into an ellipsis entity
SmartyPants does not modify characters within < pre >, < code >, < kbd >, < script >, or < math > tag blocks. Typically, these tags are used to display text where smart quotes and other "smart punctuation" would not be appropriate, such as source code or example markup.
typography($text[, $attributes])
Returns a string marked up with the proper HTML entities for proper typography.
For fine grain control over what gets converted, use the $attributes option. The default value is 3.
The following numeric values set a group of options:
0 : do nothing
1 : set all
2 : set all, using old school en- and em- dash shortcuts (-- and ---)
3 : set all, using inverted old school en- and em- dash shortcuts (--- and --)
For even finer control, specify a string of one or more of the following characters:
q : quotes
b : backtick quotes (``double only)
B : backtick quotes (``double and `single)
d : dashes
D : old school dashes
i : inverted old school dashes
e : ellipses
w : convert " entities to " for Dreamweaver users
Backslash Escapes
If you need to use literal straight quotes (or plain hyphens and periods), SmartyPants accepts the following backslash escape sequences to force non-smart punctuation. It does so by transforming the escape sequence into a decimal-encoded HTML entity:
Escape Value Character
------ ----- ---------
\
" " "
. . .
- - -
` ` `
This is useful, for example, when you want to use straight quotes as foot and inch marks: 62" tall; a 17" iMac.
Algorithmic Shortcomings
One situation in which quotes will get curled the wrong way is when apostrophes are used at the start of leading contractions. For example:
Twas the night before Christmas.
In the case above, SmartyPants will turn the apostrophe into an opening single-quote, when in fact it should be a closing one. I dont think this problem can be solved in the general case -- every word processor Ive tried gets this wrong as well. In such cases, its best to use the proper HTML entity for closing single-quotes (’) by hand.
Push Puppet Toy 0.0.5
Push Puppet Toy is a computer-controlled puppet that stands to attention when a friend joins an IRC channel. more>>
Push Puppet Toy project was inspired by the Availabot from Schulze and Webb (http://schulzeandwebb.com/2006/availabot/). The Availabot is a puppet guy that rises to its feet when a friend comes online on IM, and falls over when the friend disappears. Its a cool little toy, but it has 3 shortcomings:
- It doesnt exist yet
- It apparently wont work in Linux
- The puppet guy looks menacing, although I understand it will be customizable
But the Availabot is obviously only a push puppet with a servo. So its easy to make a similar device with a push puppet of your liking.
Enhancements:
- A Pidgin version of the Gaim plugin was added.
Funky 1.2.01
Funky is an embeddable interpreter and programming language. more>>
When was Fnky created?
The very first version of Funky was created during my daughters nap on a snowy sunday afternoon. It was slightly refined one evening while my daughter and my wife were both sleeping and I was rocking the babys "cozy" with my foot (as I am doing now). The initial programming therefore took about 90 minutes, whereas a bit of fine-tuning and turning the original parser/interpreter into a parser/interpreter with two phases (parsing and interpreting) took another two hours or so.
Why was Funky created?
The original idea wasnt mine: at work, a colleague needed a functional, embeddable programming language and created one from scratch. It took him a few days to do so, but he wrote the parser and the scanner by hand. I heard about his little language and thought it might be a nice idea to have one of those in the free world.
Also, as a personal challenge, I decided I should be able to write one of those in much less time that a few days, but using the right tools. Hence, one sunday afternoon I took my laptop computer and started typing. I decided to use Boost.Spirit to write the parser: I had already read the documentation once while doing some research for the Jail programming language and found it a pretty good framework to build a parser one. 90 minutes later, I had the first working version of a Funky interpreter (but it wasnt embeddable yet and didnt split the parsing and interpreting phases).
So, what exactly is Funky?
As stated, Funky is a tiny, embeddable programming language with almost unlimited extending capabilities. It presents itself as a single class which contains the entire interpreter. Two versions of this class exist: Funky::Funky, which is a floating-point version, and Funky::Groovy, which is an integer version. You can install your own functions in the language as long as your functions take a vector of the built-in type of the interpreter as return an instance of that built-in type (or a vector of those).
Funky is a functional programming language. As such, it treats everything as functions and those functions handle only one type: double in the case of Funky::Funky or int in the case of Funky::Groovy.
Enhancements:
- This release adds support for GCC 4.x by fixing a small error in the declaration of a variable.
- It also comes with more documentation on how to build Funky.