a purplebunny
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 42
A PurpleBunny! 1.0.0
PurpleBunny is a Firefox extension that can help you quickly and easily read and write comments about a web page. more>>
PurpleBunny is a Firefox extension that can help you quickly and easily read and write comments about the web page youre viewing. You can praise a page, ask a question, read comments about an entire site, discuss the content of a web page with other web surfers -- the possibilities are endless!
PurpleBunny stores these comments in a centralized location for easy access, and the handy toolbar alerts you when a page youre viewing has comments. Using PurpleBunny is like writing notes for future readers in the margin of a library book, but without messing up the original material! Plus, its more organized -- PurpleBunny groups comments by web site, and you can also sort all comments or search for specific keywords
<<lessPurpleBunny stores these comments in a centralized location for easy access, and the handy toolbar alerts you when a page youre viewing has comments. Using PurpleBunny is like writing notes for future readers in the margin of a library book, but without messing up the original material! Plus, its more organized -- PurpleBunny groups comments by web site, and you can also sort all comments or search for specific keywords
Download (0.055MB)
Added: 2007-05-03 License: MPL (Mozilla Public License) Price:
905 downloads
A MP3 LEnder 0.5.7
AMPLE is short for A MP3 LEnder. more>>
AMPLE is short for "A MP3 LEnder". I wrote AMPLE one summer when I was coding for a company and got fed up with having to FTP over all my MP3 files from my home server to the computer at work just to listen to them. And through the other "MP3 servers" I could find didnt fit my needs for one of the following reasons:
Depended on libfoo, libbar, python, perl, php3, Apache, libssl, etc, etc, etc...I just wanted to listen to the files
Had a lot of features for "DJ:ing" etc that I really didnt need. Well....it was fun to write too.
So whats good with AMPLE?
Small, standalone (written in C using no external libraries)
Portable (I think), I often try to compile it on the SourceForge compile farms
Allows you to listen to your own MP3s away from home, nothing more, nothing less
This is beginning to sound like marketing cr*p so Ill just stop right there, check out the links on the left for more info.
Enhancements:
- There are only two fixes in this release. One is a compilation fix for Solaris and the other one is a security fix. Turns out a buffer used for local communication didnt have sufficient checks. User data isnt written without checks though so the worst that can happen is that huge amounts of memory is allocated. The socket was also bound to the loopback device so it should only be locally abuseable.
<<lessDepended on libfoo, libbar, python, perl, php3, Apache, libssl, etc, etc, etc...I just wanted to listen to the files
Had a lot of features for "DJ:ing" etc that I really didnt need. Well....it was fun to write too.
So whats good with AMPLE?
Small, standalone (written in C using no external libraries)
Portable (I think), I often try to compile it on the SourceForge compile farms
Allows you to listen to your own MP3s away from home, nothing more, nothing less
This is beginning to sound like marketing cr*p so Ill just stop right there, check out the links on the left for more info.
Enhancements:
- There are only two fixes in this release. One is a compilation fix for Solaris and the other one is a security fix. Turns out a buffer used for local communication didnt have sufficient checks. User data isnt written without checks though so the worst that can happen is that huge amounts of memory is allocated. The socket was also bound to the loopback device so it should only be locally abuseable.
Download (0.085MB)
Added: 2006-07-27 License: GPL (GNU General Public License) Price:
1184 downloads
A Simple Version Control System 0.9.6
A Simple Version Control System is an easy to install and easy to to use version/revision control system. more>>
A Simple Version Control System is an easy to install and easy to to use version/revision control system.
ASVCS differs from most other version control systems in that ASVCS is designed to keep track of files in place. ASVCS does not allow any changes to be made to files, all changes require the users to change files externally with FTP or SSH access.
ASVCS is very easy to setup and use. Users do not need to work with repository, branches, commit and check-out files. All a user needs to do is upload the changes files and click Update or if enabled just wait for it to be updated automatically.
ASVCS is ideal for small projects or personal use, though it can also be used by large project how do not need or want the complexity of most version control systems.
Main features:
- asy to install and use
- Written in PHP
- Can track binary or text files
- Automatic file tracking (requires cron support)
- Diffs of revisions
- Easy user access management
- Entirely Web based
- Skinable
- Open source (MIT/expat license)
<<lessASVCS differs from most other version control systems in that ASVCS is designed to keep track of files in place. ASVCS does not allow any changes to be made to files, all changes require the users to change files externally with FTP or SSH access.
ASVCS is very easy to setup and use. Users do not need to work with repository, branches, commit and check-out files. All a user needs to do is upload the changes files and click Update or if enabled just wait for it to be updated automatically.
ASVCS is ideal for small projects or personal use, though it can also be used by large project how do not need or want the complexity of most version control systems.
Main features:
- asy to install and use
- Written in PHP
- Can track binary or text files
- Automatic file tracking (requires cron support)
- Diffs of revisions
- Easy user access management
- Entirely Web based
- Skinable
- Open source (MIT/expat license)
Download (0.10MB)
Added: 2007-03-15 License: MIT/X Consortium License Price:
960 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
A Java Grid - QuickTable Unix 2.0.5
A Free Java Grid control - QuickTable for database/EJB/Hibernate using JTable more>> QuickTable can be used as
Database Grid
EJBs/DataObjects Grid
Delimited/Fixed length data file Grid
Array/Vector/Collection Grid
QuickTable is built on top of JTable, so you dont have to learn any new API. QuickTable is bundled with lots of features including Print Preview, Printing, Find & Replace, Sorting, Skin, copy/paste to Excel, Image cells, Calendar cell editor,Customizer etc.
Database data can be loaded into QuickTable in just one statement
dBTable1.refresh(yourResultSet);
EJB data can be loaded in few statements
Collection c = home.findCustomerByLastName("smith");
dBTable1.refreshDataObject(c,null);<<less
Download (2.45MB)
Added: 2009-04-01 License: Freeware Price: Free
205 downloads
A Simple TimeSheet 2.1
A Simple TimeSheet (ASTS) allows a group of people to record the hours spent working on a variety of projects. more>>
A Simple TimeSheet (ASTS) allows a group of people to record the hours spent working on a variety of projects. For each project, the hours can be divided into a number of different tasks. There are global projects and tasks but also personal projects and tasks for each user.
The main aim is to provide tools which are easy for the user to install and manage.
The tools will be implemented with as few external dependencies as possible. They will not, for example, depend on a database for storage but use flat files (maybe XML format) instead. ASTS, for example, requires just perl and the CGI and Date::Calc perl modules.
More sophisticated versions of the tools may be added in the future.
Enhancements:
- Custom data fields can be defined.
- Project and task lists can now include separators.
- Bugs were fixed.
- The documentation was updated.
<<lessThe main aim is to provide tools which are easy for the user to install and manage.
The tools will be implemented with as few external dependencies as possible. They will not, for example, depend on a database for storage but use flat files (maybe XML format) instead. ASTS, for example, requires just perl and the CGI and Date::Calc perl modules.
More sophisticated versions of the tools may be added in the future.
Enhancements:
- Custom data fields can be defined.
- Project and task lists can now include separators.
- Bugs were fixed.
- The documentation was updated.
Download (0.021MB)
Added: 2007-08-06 License: Artistic License Price:
811 downloads
A Small MUD 1.3
A Small MUD is a minimal MUD implementation. more>>
A Small MUD project is a minimal MUD implementation.
A Small MUD is a minimal MUD implementation, with some mildly intelligent mobs running around creating rooms.
A few pointers when reading the source code... the World class contains the "cells" in the dungeon - all those are created randomly by the mobs.
The MobFactory class contains and controls all mobs in the world - the class holds a reference to the World class.
Cells are specified by the World::CELL struct and mobs by the MobFactory::MOB struct. The SmallHandler class contains the World, MobFactory, and active sockets list (via SocketHandler).
Finally, the SmallSocket class handles all socket communication and the ListenSocket template class acts as the socket listen server.
<<lessA Small MUD is a minimal MUD implementation, with some mildly intelligent mobs running around creating rooms.
A few pointers when reading the source code... the World class contains the "cells" in the dungeon - all those are created randomly by the mobs.
The MobFactory class contains and controls all mobs in the world - the class holds a reference to the World class.
Cells are specified by the World::CELL struct and mobs by the MobFactory::MOB struct. The SmallHandler class contains the World, MobFactory, and active sockets list (via SocketHandler).
Finally, the SmallSocket class handles all socket communication and the ListenSocket template class acts as the socket listen server.
Download (0.016MB)
Added: 2006-12-13 License: GPL (GNU General Public License) Price:
1047 downloads
Choose a free eCourse 1
Education Wallpaper. Education Wallpaper. Education Wallpaper. Auto Expenses – first off, there isn’t the extra expense of gas and we are all aware (a... more>> <<less
Download (41KB)
Added: 2009-04-12 License: Freeware Price: Free
194 downloads
a-renet 1.1.0rc4
a-renet project is a distributed gaming network. more>>
a-renet project is a distributed gaming network.
It supports client-server TCP-based games.
<<lessIt supports client-server TCP-based games.
Download (0.33MB)
Added: 2006-11-11 License: GPL (GNU General Public License) Price:
1079 downloads
LINGOT Is Not a Guitar-Only Tuner 0.7.2
LINGOT is a musical instrument tuner. more>>
LINGOT is a musical instrument tuner. LINGOT is easy to use, accurate, and highly configurable. Originally conceived to tune electric guitars, its configurability gives it a more general character. (Tuning another instruments has not been tested).
It looks like an analogic tuner, with a gauge indicating the relative shift to a certain note --found automatically as the closest note to the estimated frequency--, indicating that note and its frequency.
The note will be found automatically, since the program hasnt any manual function mode (indicating the note to tune manually), for mantaining its general purpose.
We recommend using the tuner in conjunction with a sound mixer for selecting the desired recording source and the signal recording levels.
Main features:
- Accurate.
- Easy to use. Just plug in your instrument and run tuner.
- Very configurable via GUI. Its possible to change any parameter while the program is running, without editing any file.
- It works in an automatic way. It isnt necessary specify the note to tune; the program guesses it.
- Its free software. It has GPL license.
- Tuning other instruments than guitars is possible. Since this program guesses the note you are playing, it can be used to tune a piano, a bass, a violin, etc.
Enhancements:
- Files have been reorganized to a more "GNU-like" structure.
- Multi-lingual support has been added.
<<lessIt looks like an analogic tuner, with a gauge indicating the relative shift to a certain note --found automatically as the closest note to the estimated frequency--, indicating that note and its frequency.
The note will be found automatically, since the program hasnt any manual function mode (indicating the note to tune manually), for mantaining its general purpose.
We recommend using the tuner in conjunction with a sound mixer for selecting the desired recording source and the signal recording levels.
Main features:
- Accurate.
- Easy to use. Just plug in your instrument and run tuner.
- Very configurable via GUI. Its possible to change any parameter while the program is running, without editing any file.
- It works in an automatic way. It isnt necessary specify the note to tune; the program guesses it.
- Its free software. It has GPL license.
- Tuning other instruments than guitars is possible. Since this program guesses the note you are playing, it can be used to tune a piano, a bass, a violin, etc.
Enhancements:
- Files have been reorganized to a more "GNU-like" structure.
- Multi-lingual support has been added.
Download (0.44MB)
Added: 2007-07-12 License: GPL (GNU General Public License) Price:
853 downloads
A Sudoku Solver in C 1.11
A Sudoku Solver in C is a console-based Linux program, written in C language, that solves Su Doku puzzles using deductive logic. more>>
A Sudoku Solver in C is a console-based Linux program, written in C language, that solves Su Doku puzzles using deductive logic. It will only resort to trial-and-error and backtracking approaches upon exhausting its deductive moves.
Puzzles must be of the standard 9x9 variety using the (ASCII) characters 1 through 9 for the puzzle symbols. Puzzles should be submitted as 81 character strings which, when read left-to-right will fill a 9x9 Sudoku grid from left-to-right and top-to-bottom. In the puzzle specification, the characters 1 - 9 represent the puzzle givens or clues. Any other non-blank character represents an unsolved cell.
The puzzle solving algorithm is home grown. I did not borrow any of the usual techniques from the literature, e.g. Donald Knuths "Dancing Links." Instead I rolled my own from scratch as a personal challenge. As such, its performance can only be blamed on yours truly. Still, I feel it is quite fast. On a 333 MHz Pentium II Linux box it solves typical medium force puzzles in approximately 800 microseconds or about 1,200 puzzles per second, give or take. On an Athlon XP 3000 it solves about 6,600 puzzles per sec. (Solving time is dependent upon degree of difficulty, so YMMV.)
Description of Algorithm:
The puzzle algorithm initially assumes every unsolved cell can assume every possible value. It then uses the placement of the givens to refine the choices available to each cell. I call this the markup phase.
After markup completes, the algorithm then looks for singleton cells with values that, due to constraints imposed by the row, column, or 3x3 region, may only assume one possible value. Once these cells are assigned values, the algorithm returns to the markup phase to apply these changes to the remaining candidate solutions. The markup/singleton phases alternate until either no more changes occur, or the puzzle is solved. I call the markup/singleton elimination loop the Simple Solver because in a large percentage of cases it solves the puzzle.
If the simple solver portion of the algorithm doesnt produce a solution, then more advanced deductive rules are applied.
Ive implemented two additional rules as part of the deductive puzzle solver. The first is subset elimination wherein a row/column/region is scanned for X number of cells with X number of matching candidate solutions. If such subsets (or tuples) are found in the row, column, or region, then the candidates values from the subset may be eliminated from all other unsolved cells within the row, column, or region, respectively.
The next deductive rule examines each region looking for candidate values that exclusively align themselves along a single row or column, i.e. a vector. If such candidate values are found, then they may be eliminated from the cells outside of the region that are part of the aligned row or column.
Note that each of the advanced deductive rules calls all preceeding rules, in order, if that advanced rule has effected a change in puzzle markup.
Finally, if no solution is found after iteratively applying all deductive rules, then we begin trial-and-error using recursion for backtracking. A working copy is created from our puzzle, and using this copy the first cell with the smallest number of candidate solutions is chosen. One of the solutions values is assigned to that cell, and the solver algorithm is called using this working copy as its starting point. Eventually, either a solution, or an impasse is reached.
If we reach an impasse, the recursion unwinds and the next trial solution is attempted. If a solution is found (at any point) the values for the solution are added to a list. Again, so long as we are examining all possibilities, the recursion unwinds so that the next trial may be attempted. It is in this manner that we enumerate puzzles with multiple solutions.
Note that it is certainly possible to add to the list of applied deductive rules. The techniques known as "X-Wing" and "Swordfish" come to mind. On the other hand, adding these additional rules will, in all likelihood, slow the solver down by adding to the computational burden while producing very few results. Ive seen the law of diminishing returns even in some of the existing rules, e.g. in subset elimination I only look at two and three valued subsets because taking it any further than that degraded performance.
Enhancements:
- Code optimization has resulted in a 30% increase in speed.
<<lessPuzzles must be of the standard 9x9 variety using the (ASCII) characters 1 through 9 for the puzzle symbols. Puzzles should be submitted as 81 character strings which, when read left-to-right will fill a 9x9 Sudoku grid from left-to-right and top-to-bottom. In the puzzle specification, the characters 1 - 9 represent the puzzle givens or clues. Any other non-blank character represents an unsolved cell.
The puzzle solving algorithm is home grown. I did not borrow any of the usual techniques from the literature, e.g. Donald Knuths "Dancing Links." Instead I rolled my own from scratch as a personal challenge. As such, its performance can only be blamed on yours truly. Still, I feel it is quite fast. On a 333 MHz Pentium II Linux box it solves typical medium force puzzles in approximately 800 microseconds or about 1,200 puzzles per second, give or take. On an Athlon XP 3000 it solves about 6,600 puzzles per sec. (Solving time is dependent upon degree of difficulty, so YMMV.)
Description of Algorithm:
The puzzle algorithm initially assumes every unsolved cell can assume every possible value. It then uses the placement of the givens to refine the choices available to each cell. I call this the markup phase.
After markup completes, the algorithm then looks for singleton cells with values that, due to constraints imposed by the row, column, or 3x3 region, may only assume one possible value. Once these cells are assigned values, the algorithm returns to the markup phase to apply these changes to the remaining candidate solutions. The markup/singleton phases alternate until either no more changes occur, or the puzzle is solved. I call the markup/singleton elimination loop the Simple Solver because in a large percentage of cases it solves the puzzle.
If the simple solver portion of the algorithm doesnt produce a solution, then more advanced deductive rules are applied.
Ive implemented two additional rules as part of the deductive puzzle solver. The first is subset elimination wherein a row/column/region is scanned for X number of cells with X number of matching candidate solutions. If such subsets (or tuples) are found in the row, column, or region, then the candidates values from the subset may be eliminated from all other unsolved cells within the row, column, or region, respectively.
The next deductive rule examines each region looking for candidate values that exclusively align themselves along a single row or column, i.e. a vector. If such candidate values are found, then they may be eliminated from the cells outside of the region that are part of the aligned row or column.
Note that each of the advanced deductive rules calls all preceeding rules, in order, if that advanced rule has effected a change in puzzle markup.
Finally, if no solution is found after iteratively applying all deductive rules, then we begin trial-and-error using recursion for backtracking. A working copy is created from our puzzle, and using this copy the first cell with the smallest number of candidate solutions is chosen. One of the solutions values is assigned to that cell, and the solver algorithm is called using this working copy as its starting point. Eventually, either a solution, or an impasse is reached.
If we reach an impasse, the recursion unwinds and the next trial solution is attempted. If a solution is found (at any point) the values for the solution are added to a list. Again, so long as we are examining all possibilities, the recursion unwinds so that the next trial may be attempted. It is in this manner that we enumerate puzzles with multiple solutions.
Note that it is certainly possible to add to the list of applied deductive rules. The techniques known as "X-Wing" and "Swordfish" come to mind. On the other hand, adding these additional rules will, in all likelihood, slow the solver down by adding to the computational burden while producing very few results. Ive seen the law of diminishing returns even in some of the existing rules, e.g. in subset elimination I only look at two and three valued subsets because taking it any further than that degraded performance.
Enhancements:
- Code optimization has resulted in a 30% increase in speed.
Download (0.025MB)
Added: 2006-03-27 License: GPL (GNU General Public License) Price:
1332 downloads
A-Gen 0.1.2
A-Gen is a web album generator tool that generates static web pages from templates. more>>
A-Gen is a web album generator tool that generates static web pages from templates. Templates are just like normal HTML-files with some minor markup for the template processor. A-Gen project takes a template and a set of pictures and outputs a directory containing a web album consisting of static HTML pages.
With A-Gen you can create static web albums feasible for use directly from a directory. Therefore you are not bound to using a webserver (although you can of course put such an album into a directory served by a webserver).
As the album consists of static HTML files only, no further software is needed (apart from a browser of course). These albums should be so easy to use, you could even send one your mother-in-law without getting badly hurt (ok, depends on the contents of your album).
Main features:
- No special software required to view the albums (webbrowser only)
- Low performance requirements (as the albums are static HTML pages, serving can be done without much memory or processor power)
- Decent template system for creation of album themes (templates are based on HTML with a handful of simple template commands)
- standards conformance (depending on the template used, webalbums will comply with HTML or XHTML standards)
- fast (the software is written in C++ so creation of the albums does not depend on some heavy weight interpreter)
Enhancements:
- This release fixes compilation bugs with GCC 4.x (already done in the unreleased 0.1.1 version).
- It fixes dependency problems on Ubuntu and Debian unstable.
<<lessWith A-Gen you can create static web albums feasible for use directly from a directory. Therefore you are not bound to using a webserver (although you can of course put such an album into a directory served by a webserver).
As the album consists of static HTML files only, no further software is needed (apart from a browser of course). These albums should be so easy to use, you could even send one your mother-in-law without getting badly hurt (ok, depends on the contents of your album).
Main features:
- No special software required to view the albums (webbrowser only)
- Low performance requirements (as the albums are static HTML pages, serving can be done without much memory or processor power)
- Decent template system for creation of album themes (templates are based on HTML with a handful of simple template commands)
- standards conformance (depending on the template used, webalbums will comply with HTML or XHTML standards)
- fast (the software is written in C++ so creation of the albums does not depend on some heavy weight interpreter)
Enhancements:
- This release fixes compilation bugs with GCC 4.x (already done in the unreleased 0.1.1 version).
- It fixes dependency problems on Ubuntu and Debian unstable.
Download (0.061MB)
Added: 2005-12-22 License: BSD License Price:
1405 downloads
Petals on a Rose 1.0
Petals on a Rose is an intriguing puzzle game for all ages. more>>
Petals on a Rose is an intriguing puzzle game for all ages. This website claims that Bill Gates was stumped by it for two days. Its usually played with a group of friends and a set of 5 dice. The game master rolls the dice and tells everyone the answer. This computer version of the puzzle works similarly, only in this case the computer plays as the game master.
To play you just double click the icon to start the program. Type your guess in the "Answer" field and press "Check". If your guess is correct you get congratulated, otherwise you need to try again. If you get tired of guessing you can press the "Give Up" button and youll get the answer to that particular roll.
Just press the "Roll Dice" button at any time to get a new set of numbers.
Always remember, dont tell the answer to anyone!
Have fun, and good luck.
<<lessTo play you just double click the icon to start the program. Type your guess in the "Answer" field and press "Check". If your guess is correct you get congratulated, otherwise you need to try again. If you get tired of guessing you can press the "Give Up" button and youll get the answer to that particular roll.
Just press the "Roll Dice" button at any time to get a new set of numbers.
Always remember, dont tell the answer to anyone!
Have fun, and good luck.
Download (0.16MB)
Added: 2007-07-20 License: MIT/X Consortium License Price:
826 downloads
Script for a multi-homed firewall 1.2b2
Script for a multi-homed firewall is an example IPTables 1.2.1 script for a dual-homed firewall. more>>
Script for a multi-homed firewall is an example IPTables 1.2.1 script for a dual-homed firewall.
This script has not yet been tested thoroughly on a dual-homed firewall. If you find any problems, please drop me an email.
Current versions and documentation are available at http://www.sentry.net/~obsid/IPTables/rc.scripts.dir/current/
## User-defined Chains ##
Chain KEEP_STATE
The KEEP_STATE chain holds a few rules for generic stateful packet filtering.
This chain is called from many of the INPUT/OUTPUT chains to DROP "INVALID"
and perhaps "UNCLEAN" packets and allow other packets from "RELATED" or
"ESTABLISHED" connections.
CHECK_FLAGS
The CHECK_FLAGS chain contains a few rules to filter based on TCP flags.
These rules do indeed filter mainly bogus/malicious traffic(scans, etc). It
would be a good idea to keep an eye on what these rules send to the logs.
Null scans are also logged and dropped, in the mangle table.
DENY_PORTS
The DENY_PORTS chains contains a few rules to DROP and/or LOG packets based
on the source and/or destination port number of the packet.
Packets destined to/from the following ports are dropped by default in the script. These are just some examples of some commonly used ports that certain daemons/trojans/DDoS agents may utilize.
## TCP ##
137:139 SMB
2049 NFS
6000:6063 X
20034 Netbus 2 Pro
12345:12346 Netbus
27374 SubSeven
27665,27444,31335 Trinoo
10498,12754 Mstream
## UDP ##
2049 NFS
31337 BO2k
27444,31335 Trinoo
10498 mstream
These are just examples to stare at. They guarantee no real protection against the associated trojans.
For more common port numbers check out:
http://www.sans.org/newlook/resources/IDFAQ/oddports.htm
ALLOW_PORTS
The ALLOW_PORTS chain simply ACCEPTs packets based on port number. If you have
a default FORWARD policy of DROP, then you would need to utilize a chain like
this if you are DNATing/routing connections behind the firewall or perhaps
running services on(!!!) the firewall.
ALLOW_ICMP
The ALLOW_ICMP chains simply allows packets based on ICMP type. Currently
the firewall allows the flow of the following ICMP types:
Echo Reply (pong)
Destination Unreachable
Echo Request (ping)
TTL Exceeded (traceroute)
SRC_EGRESS && DST_EGRESS
The SRC_EGRESS and DST_EGRESS chains filter packets that have a source or
destination IP address matching an array of private or reserved subnets.
TOS_OUTPUT
The TOS_OUTPUT chain exists in the mangle table and mangles the TOS(Type
of Service) field in the IP header of locally generated, outgoing packets.
TOS_PREROUTING
The TOS_PREROUTING chain exists in the mangle table and mangles the TOS(Type
of Service) field in the IP header of packets being routed through the firewall.
The following user-defined chains are pretty obvious. The firewall script is designed to have a user-defined INPUT and OUTPUT chain for every available interface. From these user-defined chains are called the user-defined chains
mentioned above, which I call "Special Chains". The chains below are then called by the built-in INPUT/OUTPUT/FORWARD chains. This isnt really the rule, of course, alot of the user-defined chains mentioned above are called directly from the built-in INPUT/OUTPUT/FORWARD chains. This is done to assure proper flow of the packets through the filters.
EXTERNAL_INPUT
INTERNAL_INPUT
DMZ_INPUT
LO_INPUT
EXTERNAL_OUTPUT
INTERNAL_OUTPUT
DMZ_OUTPUT
LO_OUTPUT
<<lessThis script has not yet been tested thoroughly on a dual-homed firewall. If you find any problems, please drop me an email.
Current versions and documentation are available at http://www.sentry.net/~obsid/IPTables/rc.scripts.dir/current/
## User-defined Chains ##
Chain KEEP_STATE
The KEEP_STATE chain holds a few rules for generic stateful packet filtering.
This chain is called from many of the INPUT/OUTPUT chains to DROP "INVALID"
and perhaps "UNCLEAN" packets and allow other packets from "RELATED" or
"ESTABLISHED" connections.
CHECK_FLAGS
The CHECK_FLAGS chain contains a few rules to filter based on TCP flags.
These rules do indeed filter mainly bogus/malicious traffic(scans, etc). It
would be a good idea to keep an eye on what these rules send to the logs.
Null scans are also logged and dropped, in the mangle table.
DENY_PORTS
The DENY_PORTS chains contains a few rules to DROP and/or LOG packets based
on the source and/or destination port number of the packet.
Packets destined to/from the following ports are dropped by default in the script. These are just some examples of some commonly used ports that certain daemons/trojans/DDoS agents may utilize.
## TCP ##
137:139 SMB
2049 NFS
6000:6063 X
20034 Netbus 2 Pro
12345:12346 Netbus
27374 SubSeven
27665,27444,31335 Trinoo
10498,12754 Mstream
## UDP ##
2049 NFS
31337 BO2k
27444,31335 Trinoo
10498 mstream
These are just examples to stare at. They guarantee no real protection against the associated trojans.
For more common port numbers check out:
http://www.sans.org/newlook/resources/IDFAQ/oddports.htm
ALLOW_PORTS
The ALLOW_PORTS chain simply ACCEPTs packets based on port number. If you have
a default FORWARD policy of DROP, then you would need to utilize a chain like
this if you are DNATing/routing connections behind the firewall or perhaps
running services on(!!!) the firewall.
ALLOW_ICMP
The ALLOW_ICMP chains simply allows packets based on ICMP type. Currently
the firewall allows the flow of the following ICMP types:
Echo Reply (pong)
Destination Unreachable
Echo Request (ping)
TTL Exceeded (traceroute)
SRC_EGRESS && DST_EGRESS
The SRC_EGRESS and DST_EGRESS chains filter packets that have a source or
destination IP address matching an array of private or reserved subnets.
TOS_OUTPUT
The TOS_OUTPUT chain exists in the mangle table and mangles the TOS(Type
of Service) field in the IP header of locally generated, outgoing packets.
TOS_PREROUTING
The TOS_PREROUTING chain exists in the mangle table and mangles the TOS(Type
of Service) field in the IP header of packets being routed through the firewall.
The following user-defined chains are pretty obvious. The firewall script is designed to have a user-defined INPUT and OUTPUT chain for every available interface. From these user-defined chains are called the user-defined chains
mentioned above, which I call "Special Chains". The chains below are then called by the built-in INPUT/OUTPUT/FORWARD chains. This isnt really the rule, of course, alot of the user-defined chains mentioned above are called directly from the built-in INPUT/OUTPUT/FORWARD chains. This is done to assure proper flow of the packets through the filters.
EXTERNAL_INPUT
INTERNAL_INPUT
DMZ_INPUT
LO_INPUT
EXTERNAL_OUTPUT
INTERNAL_OUTPUT
DMZ_OUTPUT
LO_OUTPUT
Download (MB)
Added: 2007-02-13 License: GPL (GNU General Public License) Price:
992 downloads
Sidebar in a Can 1.0.1
Sidebar in a Can is a tool for webmasters to take a large amount of static content and turn it into a dynamic content. more>>
Sidebar in a Can is a simple and powerful tool for webmasters to take a large amount of static content (intimidating to new users) and turn it into a quite manageable amount of dynamic content. The result showcases your sites material.
Sidebar in a Can is built on Snippets technology.
Sidebar in a Can is designed to be run as a straightforward web application, with much administrative activity performed on-web. Rather than trying to explain how to use it, I simply encourage you to explore.
Security
The present release of Sidebar in a Can has not been closely scrutinized for security, and should be treated as such by security-conscious administrators. If you examine the code and discover a vulnerability that could compromise the server, please contact the author at jshayward@pobox.com. The script is intended to have light security and not to compromise a server, but it is not intended to store credit card numbers or other sensitive information.
The default installation sets < the private sidebar data directory > and contents to mode 777. Administrators are encouraged to set directory and contents to mode 700, owned by the effective user ID that Snippets will be running under.
<<lessSidebar in a Can is built on Snippets technology.
Sidebar in a Can is designed to be run as a straightforward web application, with much administrative activity performed on-web. Rather than trying to explain how to use it, I simply encourage you to explore.
Security
The present release of Sidebar in a Can has not been closely scrutinized for security, and should be treated as such by security-conscious administrators. If you examine the code and discover a vulnerability that could compromise the server, please contact the author at jshayward@pobox.com. The script is intended to have light security and not to compromise a server, but it is not intended to store credit card numbers or other sensitive information.
The default installation sets < the private sidebar data directory > and contents to mode 777. Administrators are encouraged to set directory and contents to mode 700, owned by the effective user ID that Snippets will be running under.
Download (0.056MB)
Added: 2007-02-23 License: GPL (GNU General Public License) Price:
973 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 a purplebunny 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