sambar recipe
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 48
Sambar 6.2
The Sambar Server is an open and scalable framework that provides an intuitive, secure and personalizable environment. more>>
The Sambar Server is an open and scalable framework that provides an intuitive, secure and personalizable environment for end-users; rapid development and deployment tools for developers; and an easy-to-use console for administrators.
Main features:
- WebDAV
- Content Management
- Document Versioning
- Search Engine
- Mail Server
- Servlet Runner
- Usage Throttling
- CRON Daemon
- IRC Server
- FTP Server
- TFTP Server
- DNS Server
- DHCP Server
- Proxy Server
- Socks Proxy
- Reverse Proxy
<<lessMain features:
- WebDAV
- Content Management
- Document Versioning
- Search Engine
- Mail Server
- Servlet Runner
- Usage Throttling
- CRON Daemon
- IRC Server
- FTP Server
- TFTP Server
- DNS Server
- DHCP Server
- Proxy Server
- Socks Proxy
- Reverse Proxy
Download (7.4MB)
Added: 2005-08-22 License: GPL (GNU General Public License) Price: $99
1527 downloads
phpMyRecipes 1.2.0
phpMyRecipes is a simple application for storing and retrieving recipes. more>>
phpMyRecipes is a simple application for storing and retrieving recipes. phpMyRecipes project uses a web-based interface, for ease of use across any system, and a MySQL database backend for storing the recipes.
In addition, fine-grained security is implemented so that the recipes can be searched and viewed by anyone, but all functions that make changes (adding/editing/deleting) require additional privileges to be granted by the administrator. Privileges for adding things can be granted separate from privileges for deleting things. The administrator can also decide whether or not units or categories are modifiable, on a per-user basis.
Recipes are categorized, and new categories are easy to create. Ingredients are added to the database on-the-fly, as they are used in recipes. Unit types (such as "cup" or "teaspoon") are stored in the database as well, and can be easily added to or modified. Unit "plurals" are also handled correctly when viewing recipes (using "cups" instead of "cup" in the right places).
A robust search feature is included that allows users to search the recipes based on a wide range of criteria, including words found (or not found) in the instructions, the recipe name, category, and ingredients list.
<<lessIn addition, fine-grained security is implemented so that the recipes can be searched and viewed by anyone, but all functions that make changes (adding/editing/deleting) require additional privileges to be granted by the administrator. Privileges for adding things can be granted separate from privileges for deleting things. The administrator can also decide whether or not units or categories are modifiable, on a per-user basis.
Recipes are categorized, and new categories are easy to create. Ingredients are added to the database on-the-fly, as they are used in recipes. Unit types (such as "cup" or "teaspoon") are stored in the database as well, and can be easily added to or modified. Unit "plurals" are also handled correctly when viewing recipes (using "cups" instead of "cup" in the right places).
A robust search feature is included that allows users to search the recipes based on a wide range of criteria, including words found (or not found) in the instructions, the recipe name, category, and ingredients list.
Download (0.11MB)
Added: 2006-12-30 License: GPL (GNU General Public License) Price:
1029 downloads
Weight Loss Recipe Book 3.1
Weight Loss Recipe Book is a free, online, community-built recipe book. more>>
Weight Loss Recipe Book is a free, online, community-built recipe book. Weight Loss Recipe Book contains everything you need to allow your web site visitors to submit recipes and everything your administrator needs to administer the recipes.
When a visitor submits a recipe, the recipe is added to a database and awaits approval from the administrator before being added to the public site.
Main features:
- Community built, meaning you just have to approve entries and watch your web site expand!
- Captcha validation to prevent automated entries into the recipe book.
- Complete administrator system - add administrators, recipe categories, manage recipes and more!
- Best of all, Weight Loss Recipe Book is totally free!
<<lessWhen a visitor submits a recipe, the recipe is added to a database and awaits approval from the administrator before being added to the public site.
Main features:
- Community built, meaning you just have to approve entries and watch your web site expand!
- Captcha validation to prevent automated entries into the recipe book.
- Complete administrator system - add administrators, recipe categories, manage recipes and more!
- Best of all, Weight Loss Recipe Book is totally free!
Download (0.061MB)
Added: 2006-05-08 License: Freeware Price:
1267 downloads
Yet Another antiVirus Recipe 1.9.5
Yet Another antiVirus Recipe is a procmail that helps to filter out a lot of the most common e-mail worms. more>>
Yet Another antiVirus Recipe is a procmail that helps to filter out a lot of the most common e-mail worms.
For some of the above (plain iframe, clsid, xml, macro) e-mail is delivered normally but gets a WARNING in subject plus its old subject ($SUB).
Some of the warnings are:
WARNING-XML-CODEBASE-OBJECT-$SUB
WARNING-CLSID-EXTENSION-$SUB
WARNING-IFRAME-$SUB
WARNING-MACRO-$SUB
WARNING-NSCAM-SCORE:$NKNGS-$SUB
Main features:
- :: base64 signatures ::
- Most of these worms are MS-Windows executables and arrive at our e-mail encoded through base64 routines. YAVR uses especially selected signatures to locate these attachments. After that it places them in a directory (/virus/) sorted by name.
-
- :: iframe html exploit ::
- Through IFrame tag a html encoded e-mail can download and execute a file from a remote http site without informing the user.
-
- :: CLSID hidden extensions exploit ::
- Attachments which end with a Class ID (CLSID) file extension do not show the actual file extension saved and viewed with Windows Explorer. This allows dangerous file types to look as though they are actually innocent files, such as JPG or WAV files.
-
- :: xml codebase exploit ::
- Usage of some xml objects allow local files to be automatically executed, regardless of the security settings on the target machine.
-
- :: generic executable trap for bat, pif, vbs, vba, scr, lnk, com, exe ::
- The rest of MS-executable files that are not caught from base64 signatures end up in a virus-could-be file.
-
- :: generic macro detection for doc,dot,xls,xla files ::
- MS-Word and MS-Excel files that contain macro commands are marked with a warning.
-
- :: generic detection for most of nigeria scam e-mails (most of them) ::
- Nigeria scam e-mail is not a virus but a big spam problem... There are many good filters that use great algorithms for spam. This is just an add-on.
Enhancements:
- new switches for quarantine or not certain e-mailsbased on some ideas by Dan Smart
- YAVRQUARANTEXE if set to ON it sends unknown executables to /virus/virus-could-be as usual if set to OFF it delivers at inbox with a warning (and the X- header ;)
- YAVRQUARANTNIG same for nigeria scam
- YAVRQUARANTPRN same for porn e-mail read instuctions inside nkvir-rc
- X- marks in headers to help your own procmail scripts
- X-YAVR: MS-EXEC (any MS executable that wasnt identified by signatures)
- X-YAVR: NIGERIA (nigeria scam)
- X-YAVR: PORN (porn related)
- X-YAVR: MACRO (containing macro code)
- X-YAVR: XML-CODEBASE
- X-YAVR: IFRAME
- X-YAVR: CLSID-EXTENSION
- X-YAVR: SENDMAIL-EXPLOIT
- some more Worm.Moodown.b aka Netsky.b signatures
- another Mimail.Q
<<lessFor some of the above (plain iframe, clsid, xml, macro) e-mail is delivered normally but gets a WARNING in subject plus its old subject ($SUB).
Some of the warnings are:
WARNING-XML-CODEBASE-OBJECT-$SUB
WARNING-CLSID-EXTENSION-$SUB
WARNING-IFRAME-$SUB
WARNING-MACRO-$SUB
WARNING-NSCAM-SCORE:$NKNGS-$SUB
Main features:
- :: base64 signatures ::
- Most of these worms are MS-Windows executables and arrive at our e-mail encoded through base64 routines. YAVR uses especially selected signatures to locate these attachments. After that it places them in a directory (/virus/) sorted by name.
-
- :: iframe html exploit ::
- Through IFrame tag a html encoded e-mail can download and execute a file from a remote http site without informing the user.
-
- :: CLSID hidden extensions exploit ::
- Attachments which end with a Class ID (CLSID) file extension do not show the actual file extension saved and viewed with Windows Explorer. This allows dangerous file types to look as though they are actually innocent files, such as JPG or WAV files.
-
- :: xml codebase exploit ::
- Usage of some xml objects allow local files to be automatically executed, regardless of the security settings on the target machine.
-
- :: generic executable trap for bat, pif, vbs, vba, scr, lnk, com, exe ::
- The rest of MS-executable files that are not caught from base64 signatures end up in a virus-could-be file.
-
- :: generic macro detection for doc,dot,xls,xla files ::
- MS-Word and MS-Excel files that contain macro commands are marked with a warning.
-
- :: generic detection for most of nigeria scam e-mails (most of them) ::
- Nigeria scam e-mail is not a virus but a big spam problem... There are many good filters that use great algorithms for spam. This is just an add-on.
Enhancements:
- new switches for quarantine or not certain e-mailsbased on some ideas by Dan Smart
- YAVRQUARANTEXE if set to ON it sends unknown executables to /virus/virus-could-be as usual if set to OFF it delivers at inbox with a warning (and the X- header ;)
- YAVRQUARANTNIG same for nigeria scam
- YAVRQUARANTPRN same for porn e-mail read instuctions inside nkvir-rc
- X- marks in headers to help your own procmail scripts
- X-YAVR: MS-EXEC (any MS executable that wasnt identified by signatures)
- X-YAVR: NIGERIA (nigeria scam)
- X-YAVR: PORN (porn related)
- X-YAVR: MACRO (containing macro code)
- X-YAVR: XML-CODEBASE
- X-YAVR: IFRAME
- X-YAVR: CLSID-EXTENSION
- X-YAVR: SENDMAIL-EXPLOIT
- some more Worm.Moodown.b aka Netsky.b signatures
- another Mimail.Q
Download (0.054MB)
Added: 2006-07-07 License: GPL (GNU General Public License) Price:
1204 downloads
Gourmet Recipe Manager 0.13.3
Gourmet Recipe Manager is a simple but powerful recipe managing application that is intended for the GNOME desktop environment. more>>
Gourmet Recipe Manager is a simple but powerful recipe-managing application. Gourmet is intended for the GNOME desktop environment, but works on any platform that gtk supports, including windows.
Gourmet allows you to collect, search and organize your recipes, and to automatically generate shopping lists from your collection. Take a look at the screenshots for a sense of how this works.
Gourmet Recipe Manager is free software. If you want to contribute to the project and youre a python programmer, please take a look at the source code and start hacking! If you would like to use Gourmet in a language other than English, you can help translate gourmet using the rosetta web-based tool.
Simple Search
Screenshot of Search viewA simple index view allows you to look at all your recipes as a list and quickly search through them by ingredient, title, category, cuisine, rating, or instructions. Searching happens as you type to save you keystrokes, and multiple kinds of searches can easily be combined from this same view (so you can search for salads (category) with walnuts (ingredient) without having to open a separate dialog. You can easily sort recipes by clicking on the column youd like to sort by. Furthermore, for advanced users, you can search using regular expressions.
Recipe Editor
Screenshot of Search viewA recipe card view allows editing and entering individual recipes easily. It also instantly multiplies ingredient amounts if you need to multiply or divide a recipe, and even adjusts units to keep them as readable as possible (so that 2 tbs. x 4 displays as 1/2 cup). Gourmet aims to make entering ingredients as intuitive and painless as possible, while still allowing for powerful features. Major Features:
A keyed ingredient list which allows searches and shopping-list generation to understand synonyms (like aubergine and eggplant) and ignore ingredient descriptions (i.e. to treat "tomatoes, finely chopped" as "tomatoes" for the purpose of searching and generating shopping lists.
An intuitive spreadsheet-like editing interface
An alternative, fast form-like ingredient entering interface (which allows you to easily type ingredient lists without looking at the screen.
Drag-n-drop support for importing ingredient lists from your web browser or other application.
Support for pasting ingredient lists in from your clipboard.
Support for grouping ingredients within a recipe.
Support for calling another recipe as an ingredient.(Note: this allows you to use a recipe as a menu!)
Support for optional ingredients.
In addition to ingredients and instructions, you can enter information about categories, cuisines, and ratings that you can later use to search for recipes. In each case, Gourmet allows you a drop down menu of standard categories and categories youve used in the past, but also allows you to enter any custom categories you like.
You can also add images to your recipe for an attractive display. Thumbnails will be displayed in the recipe index. Currently, only HTML export supports images.
Import and Export
Gourmet includes simple and powerful import and export filters for a number of formats, including the two most common recipe formats on the web (mealmaster and mastercook).
Gourmet can import the following kinds of files:
Mealmaster Files
MasterCook text files
MasterCook XML files
Gourmet XML files
A number of popular recipe websites, such as epicurious and recipezaar
Gourmet also can import ingredient lists from a regular plain text list, which can be imported from a file, pasted from the clipboard or dragged onto the editing view.
Gourmet can export the following kinds of files:
Mealmaster files
Rich Text Format
Plain Text
Recipe Web Pages
Gourmet XML files
On GNU/Linux systems, gourmet can also export PDF or postscript files via its printing interface.
Gourmet aims to import and export as many common formats as possible. If you have a format youd like to import, please submit a feature request, or, if youre a programmer, go ahead and start writing the filter yourself!
Shopping List Manager
Screenshot of Shopping List ViewGourmet allows you to automatically generate shopping list from your recipes. You can easily multiply recipes when you add them to adjust for the number of people youre cooking for. If the units are convertable, different units used in different recipes will be added up correctly on your shoppings list (Gourmet even knows the density of some common foods to allow volume-to-weight conversions!). If Gourmet cant convert your units, the shopping list will simply display both units -- for example, the screenshot shows both tsp. and cloves of garlic, since these units cant be sensibly combined.
If you already have an item that appears on your shopping list, you can drag it into your "pantry" so it wont be included! Items added to your pantry will be remembered in the future (so you dont have to manually remove items like "water" from your shopping list every time a recipe calls for it). However, since the pantry list is shown next to the shopping list, you will always have a list at hand of all the ingredients called for by your recipes. (You can drag an item back from the pantry to the shopping list if youve run out.)
The shopping list is also automatically sorted into categories. Gourmet knows the basic categories of a number of foods (produce, meat, fish), and you can create whatever categories are convenient for your own shopping -- I use it for sorting out the basic sections and aisles of my local grocery store and those items that I get from specialty stores. You can set up shopping categories as you enter recipes, or you can move ingredients around within the shopping list view by drag and dropping or using a popup menu.
Main features:
- Simple searching and sorting
- Easy recipe editing
- Import and export from various formats
- A shopping list creator and organizer
<<lessGourmet allows you to collect, search and organize your recipes, and to automatically generate shopping lists from your collection. Take a look at the screenshots for a sense of how this works.
Gourmet Recipe Manager is free software. If you want to contribute to the project and youre a python programmer, please take a look at the source code and start hacking! If you would like to use Gourmet in a language other than English, you can help translate gourmet using the rosetta web-based tool.
Simple Search
Screenshot of Search viewA simple index view allows you to look at all your recipes as a list and quickly search through them by ingredient, title, category, cuisine, rating, or instructions. Searching happens as you type to save you keystrokes, and multiple kinds of searches can easily be combined from this same view (so you can search for salads (category) with walnuts (ingredient) without having to open a separate dialog. You can easily sort recipes by clicking on the column youd like to sort by. Furthermore, for advanced users, you can search using regular expressions.
Recipe Editor
Screenshot of Search viewA recipe card view allows editing and entering individual recipes easily. It also instantly multiplies ingredient amounts if you need to multiply or divide a recipe, and even adjusts units to keep them as readable as possible (so that 2 tbs. x 4 displays as 1/2 cup). Gourmet aims to make entering ingredients as intuitive and painless as possible, while still allowing for powerful features. Major Features:
A keyed ingredient list which allows searches and shopping-list generation to understand synonyms (like aubergine and eggplant) and ignore ingredient descriptions (i.e. to treat "tomatoes, finely chopped" as "tomatoes" for the purpose of searching and generating shopping lists.
An intuitive spreadsheet-like editing interface
An alternative, fast form-like ingredient entering interface (which allows you to easily type ingredient lists without looking at the screen.
Drag-n-drop support for importing ingredient lists from your web browser or other application.
Support for pasting ingredient lists in from your clipboard.
Support for grouping ingredients within a recipe.
Support for calling another recipe as an ingredient.(Note: this allows you to use a recipe as a menu!)
Support for optional ingredients.
In addition to ingredients and instructions, you can enter information about categories, cuisines, and ratings that you can later use to search for recipes. In each case, Gourmet allows you a drop down menu of standard categories and categories youve used in the past, but also allows you to enter any custom categories you like.
You can also add images to your recipe for an attractive display. Thumbnails will be displayed in the recipe index. Currently, only HTML export supports images.
Import and Export
Gourmet includes simple and powerful import and export filters for a number of formats, including the two most common recipe formats on the web (mealmaster and mastercook).
Gourmet can import the following kinds of files:
Mealmaster Files
MasterCook text files
MasterCook XML files
Gourmet XML files
A number of popular recipe websites, such as epicurious and recipezaar
Gourmet also can import ingredient lists from a regular plain text list, which can be imported from a file, pasted from the clipboard or dragged onto the editing view.
Gourmet can export the following kinds of files:
Mealmaster files
Rich Text Format
Plain Text
Recipe Web Pages
Gourmet XML files
On GNU/Linux systems, gourmet can also export PDF or postscript files via its printing interface.
Gourmet aims to import and export as many common formats as possible. If you have a format youd like to import, please submit a feature request, or, if youre a programmer, go ahead and start writing the filter yourself!
Shopping List Manager
Screenshot of Shopping List ViewGourmet allows you to automatically generate shopping list from your recipes. You can easily multiply recipes when you add them to adjust for the number of people youre cooking for. If the units are convertable, different units used in different recipes will be added up correctly on your shoppings list (Gourmet even knows the density of some common foods to allow volume-to-weight conversions!). If Gourmet cant convert your units, the shopping list will simply display both units -- for example, the screenshot shows both tsp. and cloves of garlic, since these units cant be sensibly combined.
If you already have an item that appears on your shopping list, you can drag it into your "pantry" so it wont be included! Items added to your pantry will be remembered in the future (so you dont have to manually remove items like "water" from your shopping list every time a recipe calls for it). However, since the pantry list is shown next to the shopping list, you will always have a list at hand of all the ingredients called for by your recipes. (You can drag an item back from the pantry to the shopping list if youve run out.)
The shopping list is also automatically sorted into categories. Gourmet knows the basic categories of a number of foods (produce, meat, fish), and you can create whatever categories are convenient for your own shopping -- I use it for sorting out the basic sections and aisles of my local grocery store and those items that I get from specialty stores. You can set up shopping categories as you enter recipes, or you can move ingredients around within the shopping list view by drag and dropping or using a popup menu.
Main features:
- Simple searching and sorting
- Easy recipe editing
- Import and export from various formats
- A shopping list creator and organizer
Download (2.1MB)
Added: 2007-01-04 License: GPL (GNU General Public License) Price:
1027 downloads

Bazaar Explorer 0.5
desktop application providing an easy-to-use interface to the Bazaar version control system more>>
Bazaar Explorer 0.5 is a simple to use, yet sophisticated desktop application with an easy-to-use interface for the Bazaar version control system. It is designed to be simple enough for casual users of version control, yet powerful enough for experts to be productive. To see BzrExplorer in action, see Bazaar Explorer by Pictures or browse the screenshots.
Unlike many other version control applications, BzrExplorer puts the focus on managing branches and changes, rather than directories and files. (If you prefer the latter, you may find an extension to the File Manager provided as part of the operating system more to your liking, e.g. TortoiseBzr.)
Major Features:
- Cross Platform
- Based on Nokia's Qt technology, BzrExplorer runs on all popular desktops including GNOME, KDE, Windows and Mac OS X. In each environment, it provides a native look-and-feel and adjusts its menu to meet the UI design guidelines for that platform.
- Application Suites
- BzrExplorer provides most of its functionality by calling out to mini-applications provided by "application suites", namely the QBzr and bzr-gtk plugins. QBzr is required while bzr-gtk is optional. If both are installed, you can choose which application suite to use.
- Note: Different application suites provide different amounts of coverage of Bazaar's functionality. If you expect an action to be enabled and it isn't, it's probably because the application suite is yet to provide that feature.
- Location Views:
- BzrExplorer supports 4 kinds of Bazaar locations:
-
- repositories
- branches
- bound branches (also called heavyweight checkouts in Bazaar 1.x)
- checkouts.
- The summary view and actions available depend on the location kind. For example, opening a repository shows the interesting locations nested within it while opening a branch shows the working tree "status" summary.
- Note: Strictly speaking, "repositories" are actually called shared repositories and "checkouts" are actually called lightweight checkouts. Those more-precise terms are avoided in the BzrExplorer user interface to Keep It Simple for casual users.
- Change Management: Here's the most commonly used recipe by BzrExplorer users:
- Open a branch
- Change some files
- Select Refresh on the toolbar (F5), confirming the overall status
- Select Diff on the toolbar (F3), checking the changes
- Select Commit on the toolbar (F4)
- Enter a commit message and select OK
- Select Refresh on the toolbar (F5), confirming there are no outstanding changes
- Remote Locations
- While primarily designed for working on local branches, BzrExplorer lets you open remote locations, e.g. branches on Launchpad. The set of actions available is masked accordingly.
- Settings Management
- BzrExplorer provides easy access to all of Bazaar's configuration files. Custom dialogs are provided by the various application suites for nice editing of some of these. For others, a (configurable) text editor is launched.
- Troubleshooting
- BzrExplorer provides easy access to Bazaar's log file and the Launchpad pages for reporting bugs and asking questions about BzrExplorer. A diagnostic mode can also be enabled in which selecting an action simply shows what Bazaar command would actually be run, together with the options and parameters that would be passed to it.
Added: 2009-07-21 License: GPL Price: FREE
14 downloads
cap2-mercurial 0.9 RC2
cap2-mercurial is a Capistrano 2.x plugin that allows you to use Mercurial in your cap recipes. more>>
cap2-mercurial is a Capistrano 2.x plugin that allows you to use Mercurial in your cap recipes. This project enables the use of "set :scm, :mercurial" in your recipe file. The module is included in Capistrano, but this has the latest updates and bonus recipes.
Enhancements:
- This version works with cap2 and Mercurial 0.9.x reasonably enough for the authors needs.
<<lessEnhancements:
- This version works with cap2 and Mercurial 0.9.x reasonably enough for the authors needs.
Download (MB)
Added: 2007-06-05 License: GPL (GNU General Public License) Price:
871 downloads
Snippets 1.0
Snippets is a CGI script where fortune cookie meets wiki. more>>
Snippets is a CGI script where fortune cookie meets wiki. The project provides:
- A way for people to share quotes, recipes, jokes...
- A private niche where a person can keep track of sites to visit, people to e-mail.
- A tool for administrators to turn a large repository of static content into a manageable amount of dynamic content.
Snippets is designed to be easy to configure and customize.
Snippets is a versatile CGI script that allows administrators to turn a large amount of static content into a small amount of dynamic content, and users to have an editable quote of the day. Its a cross between a fortune cookie program and a wiki. Snippets can be used for much more than memorable quotes, though; Snippets can be used to show people, or remind them of:
- Jokes
- Quotes
- Recipes
- Websites to visit
- Friends to write/e-mail/call
- Long-term to do items
- Places to visit
- Books to read
- Favorite pictures
- Etc.
Go ahead and play around with it; see what it can do.
<<less- A way for people to share quotes, recipes, jokes...
- A private niche where a person can keep track of sites to visit, people to e-mail.
- A tool for administrators to turn a large repository of static content into a manageable amount of dynamic content.
Snippets is designed to be easy to configure and customize.
Snippets is a versatile CGI script that allows administrators to turn a large amount of static content into a small amount of dynamic content, and users to have an editable quote of the day. Its a cross between a fortune cookie program and a wiki. Snippets can be used for much more than memorable quotes, though; Snippets can be used to show people, or remind them of:
- Jokes
- Quotes
- Recipes
- Websites to visit
- Friends to write/e-mail/call
- Long-term to do items
- Places to visit
- Books to read
- Favorite pictures
- Etc.
Go ahead and play around with it; see what it can do.
Download (0.046MB)
Added: 2007-02-23 License: GPL (GNU General Public License) Price:
973 downloads
BrewNIX 1.0.2
BrewNIX is a brewing software project. more>>
BrewNIX is a brewing software project.
BrewNIX is beer brewing software that will primarily store recipes but also do some minor analysis of the recipes you enter.
It is currently a command line program, requiring curses. Future plans call for recipe compatibility with qbrew and a choice of GUI or CLI interface.
<<lessBrewNIX is beer brewing software that will primarily store recipes but also do some minor analysis of the recipes you enter.
It is currently a command line program, requiring curses. Future plans call for recipe compatibility with qbrew and a choice of GUI or CLI interface.
Download (0.12MB)
Added: 2006-11-14 License: GPL (GNU General Public License) Price:
1081 downloads
DVD-Baker 0.7.43
DVD-Baker is a small suite of programmes designed to turn your image collection into a DVD. more>>
DVD-Baker project is a small suite of programmes designed that can turn your image collection into a DVD.
Your image collection can be stored in a web gallery such as Menalto Gallery G2.
Formerly known as gallery2-to-dvd, DVD-Baker has evolved from a brute-force (hack) bash script to a php/bash combination that allows you to bake your DVD on a computer other than your webserver.
Main features:
- Menu system based on the root and branch albums/folders
- Slideshows made from the images in each leaf album using dvd-slideshow
- An albums highlight is embedded in its corresponding menu
- Subtitles for each image (switchable)
- Customisable image durations and transition effects
- Autoplay after menu timeout plays each slideshow sequentially
- Random autoplay (optional) if using dvdauthor 0.6.12
- Options menu (optional) for toggling subtitles, autoplay and repeat modes
- Either NTSC or PAL video formats
- DVD-compliant MPEG movies can be included
- High or low quality modes
How DVD-Baker works
Its as simple as RECIPE => BAKE => BURN !!!
1. Prepare the recipe:
For Menalto Gallery G2:
g2-dvd-recipe.php needs to be placed in the base directory of your G2 site.
2. Baking the ingredients:
Running dvd-baker will produce all the slideshows and menus as specified by the recipe.
A file called dvdauthor.xml will be produced describing all those menus and slideshows, and how they work together.
3. Burning the DVD:
If you didnt specify the -d option for dvd-baker, then:
$ dvdauthor -x dvdauthor.xml
To burn the dvd, use your preferred burning application to create a DVD-Video from the resultant ./DVD directory.
Enhancements:
- A few important features have been added.
- The most requested may be the ability to specify the gallery album to bake (rather than the users root album), and the ability to specify an album to use to create a DVD leader (a title played before the root menu is shown).
- Also included is an optional Options Menu System, which can be accessed by pressing the SUBTITLE button (or F3 in gxine) to toggle options such as SUBTITLES, AUTOPLAY, and REPEAT during playback.
- Minor cleanups and bugfixes are included.
<<lessYour image collection can be stored in a web gallery such as Menalto Gallery G2.
Formerly known as gallery2-to-dvd, DVD-Baker has evolved from a brute-force (hack) bash script to a php/bash combination that allows you to bake your DVD on a computer other than your webserver.
Main features:
- Menu system based on the root and branch albums/folders
- Slideshows made from the images in each leaf album using dvd-slideshow
- An albums highlight is embedded in its corresponding menu
- Subtitles for each image (switchable)
- Customisable image durations and transition effects
- Autoplay after menu timeout plays each slideshow sequentially
- Random autoplay (optional) if using dvdauthor 0.6.12
- Options menu (optional) for toggling subtitles, autoplay and repeat modes
- Either NTSC or PAL video formats
- DVD-compliant MPEG movies can be included
- High or low quality modes
How DVD-Baker works
Its as simple as RECIPE => BAKE => BURN !!!
1. Prepare the recipe:
For Menalto Gallery G2:
g2-dvd-recipe.php needs to be placed in the base directory of your G2 site.
2. Baking the ingredients:
Running dvd-baker will produce all the slideshows and menus as specified by the recipe.
A file called dvdauthor.xml will be produced describing all those menus and slideshows, and how they work together.
3. Burning the DVD:
If you didnt specify the -d option for dvd-baker, then:
$ dvdauthor -x dvdauthor.xml
To burn the dvd, use your preferred burning application to create a DVD-Video from the resultant ./DVD directory.
Enhancements:
- A few important features have been added.
- The most requested may be the ability to specify the gallery album to bake (rather than the users root album), and the ability to specify an album to use to create a DVD leader (a title played before the root menu is shown).
- Also included is an optional Options Menu System, which can be accessed by pressing the SUBTITLE button (or F3 in gxine) to toggle options such as SUBTITLES, AUTOPLAY, and REPEAT during playback.
- Minor cleanups and bugfixes are included.
Download (0.005MB)
Added: 2006-04-13 License: GPL (GNU General Public License) Price:
1304 downloads
mysqlrowcopy 1.0
mysqlrowcopy is a tool that generates insert statements from result sets. more>>
mysqlrowcopy is a tool that generates insert statements from result sets. It produces output similar to what might result from running mysqldump on a single SELECT query.
This project helps eliminate some of the tedium of moving data between QA and production MySQL databases.
Build:
To build mysqlrowcopy, you should run:
./configure
make
A mysqlrowcopy and mysqlrowcopy.debug file are created. They have identical functionality, the .debug version simply has debugging symbols built in (for gdb).
Since mysqlrowcopy is probably going to be I/O bound with modest CPU and RAM usage, the only reason to even build a 64-bit version is to work around potential issues in dynamic linking 32-bit binaries against 64-bit libraries.
RECIPES
1. Migrating a MySQL user account reaper from QA server to a production server.
e.g. MySQL database server qa3.example.com to prod1.example.com:
$ mysqlrowcopy -h qa3.example.com
SELECT * FROM db WHERE User = "reaper" mysql db > reaper.sql
$ mysql -h prod1.example.com mysql < reaper.sql
You could of course simply pipe the output of mysqlrowcopy into mysql and skip the intermediate file.
(Dont forget to RELOAD PRIVILEGES afterwards)
2. Keep your test environment up to date. Populate it with production data every 24 hours. You could run this sequence from cron once a day:
$ mysqlrowcopy -h finance-db.example.com
SELECT * FROM stocks WHERE modified > DATE_SUB(NOW(),INTERVAL 24 HOUR)
finance stocks > day-stocks.sql
$ cat day-stocks.sql | mysql -h finance-test.example.com finance
3. Copy data between tables on different servers that have some similar fields.
Youve got common data in table Zip on a production database:
mysql> desc Zip;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | PRI | | |
| ZIPCodeType | char(1) | YES | | NULL | |
| City | varchar(32) | YES | | NULL | |
| CityType | char(1) | YES | | NULL | |
| State | varchar(32) | YES | | NULL | |
| StateCode | char(3) | YES | | NULL | |
| AreaCode | char(3) | YES | | NULL | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
9 rows in set (0.00 sec)
And youve got table ZipPosition in a research database:
mysql> desc ZipPosition;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | | | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
You want to load data from production Zip into research ZipPosition.
$ mysqlrowcopy -h production SELECT ZIPCode,Latitude,Longitude common ZipPosition > pos.sql
$ cat pos.sql | mysql -h qa research
Note how we specify ZipPosition on the first line to tell mysqlrowcopy what the destination table is going to be.
<<lessThis project helps eliminate some of the tedium of moving data between QA and production MySQL databases.
Build:
To build mysqlrowcopy, you should run:
./configure
make
A mysqlrowcopy and mysqlrowcopy.debug file are created. They have identical functionality, the .debug version simply has debugging symbols built in (for gdb).
Since mysqlrowcopy is probably going to be I/O bound with modest CPU and RAM usage, the only reason to even build a 64-bit version is to work around potential issues in dynamic linking 32-bit binaries against 64-bit libraries.
RECIPES
1. Migrating a MySQL user account reaper from QA server to a production server.
e.g. MySQL database server qa3.example.com to prod1.example.com:
$ mysqlrowcopy -h qa3.example.com
SELECT * FROM db WHERE User = "reaper" mysql db > reaper.sql
$ mysql -h prod1.example.com mysql < reaper.sql
You could of course simply pipe the output of mysqlrowcopy into mysql and skip the intermediate file.
(Dont forget to RELOAD PRIVILEGES afterwards)
2. Keep your test environment up to date. Populate it with production data every 24 hours. You could run this sequence from cron once a day:
$ mysqlrowcopy -h finance-db.example.com
SELECT * FROM stocks WHERE modified > DATE_SUB(NOW(),INTERVAL 24 HOUR)
finance stocks > day-stocks.sql
$ cat day-stocks.sql | mysql -h finance-test.example.com finance
3. Copy data between tables on different servers that have some similar fields.
Youve got common data in table Zip on a production database:
mysql> desc Zip;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | PRI | | |
| ZIPCodeType | char(1) | YES | | NULL | |
| City | varchar(32) | YES | | NULL | |
| CityType | char(1) | YES | | NULL | |
| State | varchar(32) | YES | | NULL | |
| StateCode | char(3) | YES | | NULL | |
| AreaCode | char(3) | YES | | NULL | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
9 rows in set (0.00 sec)
And youve got table ZipPosition in a research database:
mysql> desc ZipPosition;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ZIPCode | varchar(5) | | | | |
| Latitude | varchar(12) | YES | | NULL | |
| Longitude | varchar(12) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
You want to load data from production Zip into research ZipPosition.
$ mysqlrowcopy -h production SELECT ZIPCode,Latitude,Longitude common ZipPosition > pos.sql
$ cat pos.sql | mysql -h qa research
Note how we specify ZipPosition on the first line to tell mysqlrowcopy what the destination table is going to be.
Download (0.021MB)
Added: 2007-03-01 License: GPL (GNU General Public License) Price:
967 downloads
Madagascar 0.9.4
Madagascar is an open-source software package for geophysical data processing and reproducible numerical experiments. more>>
Madagascar (formerly known as RSF) is an open-source software package for geophysical data processing and reproducible numerical experiments.
- a convenient and powerful environment
- a convenient technology transfer tool
for researchers working with digital image and data processing. The technology developed using the Madagascar project management system is transferred in the form of recorded processing histories, which become "computational recipes" to be verified, exchanged, and modified by users of the system.
Main features:
- Madagascar is a new package. It started in 2003 and was developed entirely from scratch. Being a new package, it follows modern software engineering practices such as module encapsulation and test-driven development. A rapid development of a project of this scope (more than 300 main programs and more than 3000 tests) would not be possible without standing on the shoulders of giants and learning from the 30 years of previous experience in open packages such as SEPlib and Seismic Unix. We have borrowed and reimplemented functionality and ideas from these packages.
- Madagascar is a test-driven package. Test-driven development is not only an agile software programming practice but also a way of bringing scientific foundation to geophysical research that involves numerical experiments. Bringing reproducibility and peer review, the backbone of any real science, to the field of computational geophysics is the main motivation for RSF development. The package consists of two levels: low-level main programs (typically developed in the C programming language and working as data filters) and high-level processing flows (described with the help of the Python programming language) that combine main programs and completely document data processing histories for testing and reproducibility. Experience shows that high-level programming is easily mastered even by beginning students that have no previous programming experience.
- Madagascar is an open-source package. It is distributed under the standard GPL open-source license, which places no restriction on the usage and modification of the code. Access to modifying the source repository is not controlled by one organization but shared equally among different developers. This enables an open collaboration among different groups spread all over the world, in the true spirit of the open source movement.
- Magadascar uses a simple, flexible, and universal data format that can handle very large datasets but is not tied specifically to seismic data or data of any other particular kind. This "regularly sampled" format is borrowed from the traditional SEPlib and is also related to the DDS format developed by Amoco and BP. A universal data format allows us to share general-purpose data processing tools with scientists from other disciplines such as petroleum engineers working on large-scale reservoir simulations.
<<less- a convenient and powerful environment
- a convenient technology transfer tool
for researchers working with digital image and data processing. The technology developed using the Madagascar project management system is transferred in the form of recorded processing histories, which become "computational recipes" to be verified, exchanged, and modified by users of the system.
Main features:
- Madagascar is a new package. It started in 2003 and was developed entirely from scratch. Being a new package, it follows modern software engineering practices such as module encapsulation and test-driven development. A rapid development of a project of this scope (more than 300 main programs and more than 3000 tests) would not be possible without standing on the shoulders of giants and learning from the 30 years of previous experience in open packages such as SEPlib and Seismic Unix. We have borrowed and reimplemented functionality and ideas from these packages.
- Madagascar is a test-driven package. Test-driven development is not only an agile software programming practice but also a way of bringing scientific foundation to geophysical research that involves numerical experiments. Bringing reproducibility and peer review, the backbone of any real science, to the field of computational geophysics is the main motivation for RSF development. The package consists of two levels: low-level main programs (typically developed in the C programming language and working as data filters) and high-level processing flows (described with the help of the Python programming language) that combine main programs and completely document data processing histories for testing and reproducibility. Experience shows that high-level programming is easily mastered even by beginning students that have no previous programming experience.
- Madagascar is an open-source package. It is distributed under the standard GPL open-source license, which places no restriction on the usage and modification of the code. Access to modifying the source repository is not controlled by one organization but shared equally among different developers. This enables an open collaboration among different groups spread all over the world, in the true spirit of the open source movement.
- Magadascar uses a simple, flexible, and universal data format that can handle very large datasets but is not tied specifically to seismic data or data of any other particular kind. This "regularly sampled" format is borrowed from the traditional SEPlib and is also related to the DDS format developed by Amoco and BP. A universal data format allows us to share general-purpose data processing tools with scientists from other disciplines such as petroleum engineers working on large-scale reservoir simulations.
Download (3.5MB)
Added: 2007-03-15 License: GPL (GNU General Public License) Price:
959 downloads
MARC::Doc::Tutorial 2.00
MARC::Doc::Tutorial is a documentation-only module for new users of MARC::Record. more>>
MARC::Doc::Tutorial is a documentation-only module for new users of MARC::Record.
SYNOPSIS
perldoc MARC::Doc::Tutorial
What is MARC?
The MAchine Readable Cataloging format was designed by the Library of Congress in the late 1960s in order to allow libraries to convert their card catalogs into a digital format. The advantages of having computerized card catalogs were soon realized, and now MARC is being used by all sorts of libraries around the world to provide computerized access to their collections. MARC data in transmission format is optimized for processing by computers, so its not very readable for the normal human. For more about the MARC format, visit the Library of Congress at http://www.loc.gov/marc/
What is this Tutorial?
The document you are reading is a beginners guide to using Perl to processing MARC data, written in the cookbook style. Inside, you will find recipes on how to read, write, update and convert MARC data using the MARC::Record CPAN package. As with any cookbook, you should feel free to dip in at any section and use the recipe you find interesting.
If you are new to Perl, you may want to read from the beginning.
The document you are reading is distributed with the MARC::Record package, however in case you are reading it somewhere else, you can find the latest version at CPAN: http://www.cpan.org/modules/by-module/MARC/. Youll notice that some sections arent filled in yet, which is a result of this document being a work in progress. If you have ideas for new sections please make a suggestion to perl4lib: http://www.rice.edu/perl4lib/.
<<lessSYNOPSIS
perldoc MARC::Doc::Tutorial
What is MARC?
The MAchine Readable Cataloging format was designed by the Library of Congress in the late 1960s in order to allow libraries to convert their card catalogs into a digital format. The advantages of having computerized card catalogs were soon realized, and now MARC is being used by all sorts of libraries around the world to provide computerized access to their collections. MARC data in transmission format is optimized for processing by computers, so its not very readable for the normal human. For more about the MARC format, visit the Library of Congress at http://www.loc.gov/marc/
What is this Tutorial?
The document you are reading is a beginners guide to using Perl to processing MARC data, written in the cookbook style. Inside, you will find recipes on how to read, write, update and convert MARC data using the MARC::Record CPAN package. As with any cookbook, you should feel free to dip in at any section and use the recipe you find interesting.
If you are new to Perl, you may want to read from the beginning.
The document you are reading is distributed with the MARC::Record package, however in case you are reading it somewhere else, you can find the latest version at CPAN: http://www.cpan.org/modules/by-module/MARC/. Youll notice that some sections arent filled in yet, which is a result of this document being a work in progress. If you have ideas for new sections please make a suggestion to perl4lib: http://www.rice.edu/perl4lib/.
Download (0.77MB)
Added: 2007-07-10 License: GPL (GNU General Public License) Price:
836 downloads
Avanor, the Land of Mystery 0.5.8
Avanor is rapidly-growing Rogue-like game with an easy ADOM-like user interface. more>>
Avanor, the Land of Mystery is rapidly-growing Rogue-like game with an easy ADOM-like user interface. It has countryside and subterranean areas to explore, a quest system, and some original features.
Moving and locations
1 - south-west
2 - south
3 - south-east
4 - west
5 - current position
6 - east
7 - north-west
8 - north
9 - north-east
w + direction - walk in direction until something interesting is found
~ - rest a while (for debugging purposes only)
o - open a door
c - close a door
< - go up stairs
> - go down stairs
l - look at a location
Dealing with objects
e - equip an item
i - display your inventory
d - drop an item
, - pick up an item
E - eat an item of food
D - drink a potion
! - mix potions
r - read a book or scroll
s or _ - sacrifice an item
O - open a chest
g - give an item to somebody
u - use a tool
P - quick pay
Characteristics and skills
A - display your skill levels
a - use a skill
q - display the quests you have undertaken
@ - display your character details
W - display your weapon skills
x - display experience needed to gain next level
Combat and spellcasting
t - target an opponent
p - pray to the gods for aid
T - change your combat tactics
Z - cast a spell
^Z - repeat the last spell cast
# - display your elemental magic levels (not yet used)
Miscellaneous commands
U - use outer objects
R - show list of alchemy recipes
C - chat with somebody
S - save the game
Q - quit the game
M - display previously shown messages
0 - recenter the screen on the player
[ - make screenshot
? - display this manual
Enhancements:
- Fixed bug with traps
- Support for compilation with modern compilers
- FHS compatibility and Gentoo Linux ebuild
<<lessMoving and locations
1 - south-west
2 - south
3 - south-east
4 - west
5 - current position
6 - east
7 - north-west
8 - north
9 - north-east
w + direction - walk in direction until something interesting is found
~ - rest a while (for debugging purposes only)
o - open a door
c - close a door
< - go up stairs
> - go down stairs
l - look at a location
Dealing with objects
e - equip an item
i - display your inventory
d - drop an item
, - pick up an item
E - eat an item of food
D - drink a potion
! - mix potions
r - read a book or scroll
s or _ - sacrifice an item
O - open a chest
g - give an item to somebody
u - use a tool
P - quick pay
Characteristics and skills
A - display your skill levels
a - use a skill
q - display the quests you have undertaken
@ - display your character details
W - display your weapon skills
x - display experience needed to gain next level
Combat and spellcasting
t - target an opponent
p - pray to the gods for aid
T - change your combat tactics
Z - cast a spell
^Z - repeat the last spell cast
# - display your elemental magic levels (not yet used)
Miscellaneous commands
U - use outer objects
R - show list of alchemy recipes
C - chat with somebody
S - save the game
Q - quit the game
M - display previously shown messages
0 - recenter the screen on the player
[ - make screenshot
? - display this manual
Enhancements:
- Fixed bug with traps
- Support for compilation with modern compilers
- FHS compatibility and Gentoo Linux ebuild
Download (MB)
Added: 2006-06-01 License: GPL (GNU General Public License) Price:
1243 downloads
A practical lambda-calculator 2.2
A practical lambda-calculator is a Lambda-calculator with convenient commands and shortcuts. more>>
A practical lambda-calculator is a normal-order evaluator for the untyped lambda-calculus, extended with convenient commands and shortcuts to make programming in it more productive.
Shortcuts are distinguished constants that represent terms. Commands define new shortcuts, activate tracing of all reductions, compare terms modulo alpha-conversion, print all defined shortcuts and evaluation flags, etc.
Terms to evaluate and commands are entered at a read-eval-print-loop (REPL) "prompt" or "included" from a file by a special command. A Haskell branch is an embedding of the lambda calculator (as a domain-specific language) into Haskell. The calculator can be used interactively within Hugs or GHCi.
The present calculator implements what seems to be an efficient and elegant algorithm of normal order reductions. The algorithm is "more functional" than the traditionally used approach.
The algorithm seems identical to that employed by yacc sans one critical difference. The calculator also takes a more "functional" approach to the hygiene of beta-substitutions, which is achieved by coloring of identifiers where absolutely necessary. This approach is "more functional" because it avoids a global counter or the threading of the paint bucket through the whole the process. The integration of the calculator with Haskell lets us store terms in variables and easily and intuitively combine them.
The traditional recipe for normal-order reductions includes an unpleasant phrase "cook until done". The phrase makes it necessary to keep track of reduction attempts, and implies an ugly iterative algorithm. Were proposing what seems to be an efficient and elegant technique that can be implemented through intuitive re-writing rules.
Our calculator, like yacc, possesses a stack and works by doing a sequence of shift and reduce steps. The only significant difference from yacc is that the lambda-calculator "reparses" the result after the successful reduce step. The source and the target languages of our "parser" (lambda-calculator) are the same; therefore, the parser can indeed apply itself.
The parsing stack can be made implicit. In that case, the algorithm can be used for normalization of typed lambda-terms in Twelf.
The following examples show that lambda-calculus becomes a domain-specific language embedded into Haskell:
> c0 = f ^ x ^ x -- Church numeral 0
> succ = c ^ f ^ x ^ f # (c # f # x) -- Successor
> c1 = eval $ succ # c0 -- pre-evaluate other numerals
> c2 = eval $ succ # c1
> c3 = eval $ succ # c2
> c4 = eval $ succ # c3
It is indeed convenient to store terms in Haskell variables and pre-evaluate (i.e., normalize) them. They are indeed terms. We can always ask the interpreter to show the term. For example, show c4 yields (f. (x. f (f (f (f x))))).
let mul = a ^ b ^ f ^ a # (b # f) -- multiplication
eval $ mul # c1 ---> (b. b), the identity function
eval $ mul # c0 ---> (b. (f. (x. x))), which is "const 0"
These are algebraic results: multiplying any number by zero always gives zero. We can see now how lambda-calculus can be useful for theorem proving, even over universally-quantified formulas.
The calculator implements Dr. Fairbairns suggestion to limit the depth of printed terms. This makes it possible to evaluate and print some divergent terms (so-called tail-divergent terms):
Lambda_calc> let y_comb = f^((p^p#p) # (c ^ f#(c#c))) in eval $ y_comb#c
c (c (c (c (c (c (c (c (c (c (...))))))))))
It is amazing how well lambda-calculus and Haskell play together.
<<lessShortcuts are distinguished constants that represent terms. Commands define new shortcuts, activate tracing of all reductions, compare terms modulo alpha-conversion, print all defined shortcuts and evaluation flags, etc.
Terms to evaluate and commands are entered at a read-eval-print-loop (REPL) "prompt" or "included" from a file by a special command. A Haskell branch is an embedding of the lambda calculator (as a domain-specific language) into Haskell. The calculator can be used interactively within Hugs or GHCi.
The present calculator implements what seems to be an efficient and elegant algorithm of normal order reductions. The algorithm is "more functional" than the traditionally used approach.
The algorithm seems identical to that employed by yacc sans one critical difference. The calculator also takes a more "functional" approach to the hygiene of beta-substitutions, which is achieved by coloring of identifiers where absolutely necessary. This approach is "more functional" because it avoids a global counter or the threading of the paint bucket through the whole the process. The integration of the calculator with Haskell lets us store terms in variables and easily and intuitively combine them.
The traditional recipe for normal-order reductions includes an unpleasant phrase "cook until done". The phrase makes it necessary to keep track of reduction attempts, and implies an ugly iterative algorithm. Were proposing what seems to be an efficient and elegant technique that can be implemented through intuitive re-writing rules.
Our calculator, like yacc, possesses a stack and works by doing a sequence of shift and reduce steps. The only significant difference from yacc is that the lambda-calculator "reparses" the result after the successful reduce step. The source and the target languages of our "parser" (lambda-calculator) are the same; therefore, the parser can indeed apply itself.
The parsing stack can be made implicit. In that case, the algorithm can be used for normalization of typed lambda-terms in Twelf.
The following examples show that lambda-calculus becomes a domain-specific language embedded into Haskell:
> c0 = f ^ x ^ x -- Church numeral 0
> succ = c ^ f ^ x ^ f # (c # f # x) -- Successor
> c1 = eval $ succ # c0 -- pre-evaluate other numerals
> c2 = eval $ succ # c1
> c3 = eval $ succ # c2
> c4 = eval $ succ # c3
It is indeed convenient to store terms in Haskell variables and pre-evaluate (i.e., normalize) them. They are indeed terms. We can always ask the interpreter to show the term. For example, show c4 yields (f. (x. f (f (f (f x))))).
let mul = a ^ b ^ f ^ a # (b # f) -- multiplication
eval $ mul # c1 ---> (b. b), the identity function
eval $ mul # c0 ---> (b. (f. (x. x))), which is "const 0"
These are algebraic results: multiplying any number by zero always gives zero. We can see now how lambda-calculus can be useful for theorem proving, even over universally-quantified formulas.
The calculator implements Dr. Fairbairns suggestion to limit the depth of printed terms. This makes it possible to evaluate and print some divergent terms (so-called tail-divergent terms):
Lambda_calc> let y_comb = f^((p^p#p) # (c ^ f#(c#c))) in eval $ y_comb#c
c (c (c (c (c (c (c (c (c (c (...))))))))))
It is amazing how well lambda-calculus and Haskell play together.
Download (0.021MB)
Added: 2005-04-01 License: Public Domain Price:
1672 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above sambar recipe search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed