glenn beck
RenderMan 0.04
RenderMan is a RenderMan binding as a Perl 5.6 module. more>>
SYNOPSIS
use RenderMan;
This RenderMan module implements a Perl 5.6 binding for the BMRT client library (libribout). It fully supports the client library. Therefore, this module has the following limitations: Error Handling callbacks are not implemented, Filter function callbacks are not implemented, and the TransformPoints function does nothing. Also, Blobby is not yet supported by BMRT 2.5.0.8.
The full RenderMan specification is way beyond the scope of this man page. Please refer to the documents below for more information about RenderMan. The Perl binding is identical to the C binding except a few minor points: All "parameterlist"s are passed as a reference to a hash (i.e. %params).
Anywhere that a functions arguments can be terminated by RI_NULL, you can simply choose to not include that RI_NULL argument, which is incredibly nice.
All array, matrix, and basis types are single-dimension arrays of doubles in this Perl binding. The order for 2-dimension types is first-row followed by second-row, etc.
You will typically want to run your RenderMan Perl script and pipe the results into any RenderMan-compliant renderer, such as "rgl", "rendribv", or "rendrib", which all come with the excellent BMRT backage by Larry Gritz.
If using the WinNT version of BMRT, you can specify a filename, "rgl" or "rendrib" as the argument to Begin(); and the output will be sent to a file or automatically piped to "rgl" or "rendrib" since the piping mechanism (and general functionality) of WinNTs command line parser is, uh, limited.
libpng 1.2.19 / 1.2.20 Beta 01
libpng (PNG library) is a collection of routines used to create and manipulate PNG format graphics files. more>>
The PNG file format was designed as a replacement for GIF and, to a lesser extent, TIFF, with many improvements and extensions.
Whats New in 1.2.19 Stable Release:
- A major rewrite of pnggccrd.c was done.
- It now works on 64-bit platforms.
Whats New in 1.2.20 Beta 01 Development Release:
- Fixed problem compiling pnggccrd.c with Intel Mac
- Reverted new test for uninitialized row that is not working
- Added PNG_NO_ERROR_TEXT feature.
Calyxo Web Application Framework 0.9.0
Calyxo Web Application Framework encourages in MVC model 2 based web application development. more>>
It offers support for true modular applications, i18n, a flexible view manager, a powerful validation engine, and more! Calyxo is entirely written in Java and builds on the latest Servlet and JSP technologies.
The Calyxo project divides into several components
Calyxo Base - this component collects some of the basic, reusable classes used throughout all the other components. It introduces basic concepts like modules, i18n, accessors and so on...
Calyxo Control - this component implements the Calyxo controller. Calyxo uses an approach similar to Struts here, so Struts users should feel familiar with Calyxo from the start. Calyxo Control may be considered as the "main part" of the Calyxo platform.
Calyxo Forms - this component allows the definition of forms, along with all their validation steps and lets you map inputs to properties of a data object. Complex validations, dependencies between inputs and mapping an input to a set of properties are supported. The Calyxo Forms JSP tag library provides replacements for HTML elements related to forms.
Calyxo Panels - this component allows the definition of pages in a container/component manner. Pages are dynamically composed from a tree of page fragments. Panel definitions may be nested to arbitrary depth and may use inheritance.
Calyxo Struts - this component focuses on integrating Calyxo parts into the very popular Apache Struts framework. The Calyxo Panels and Calyxo Forms components may be used with Struts to replace Struts Tiles and the Struts Validator.
LPQ Control 1.0
LPQ Control is a PHP script that parses the output of the lpq command. more>>
LPQ Control PHP script is a tool that parses the output of the lpq command and provides a web interface that allows you to remove print jobs from a printer.
You need to make sure that Apache can execute the lprm command. For a
default Apache installation, you will need to add the following line to
your /etc/sudoers file:
apache ALL=(root) NOPASSWD:/usr/bin/lprm
This allows the PHP program to remove *ANY* specified print job.
Test::Unit 0.25
Test::Unit is the main PerlUnit testing framework. more>>
SYNOPSIS
This package provides only the project version number, copyright texts, and a framework overview in POD format.
This framework is intended to support unit testing in an object-oriented development paradigm (with support for inheritance of tests etc.) and is derived from the JUnit testing framework for Java by Kent Beck and Erich Gamma. To start learning how to use this framework, see Test::Unit::TestCase and Test::Unit::TestSuite. (There will also eventually be a tutorial in Test::Unit::Tutorial.
However Test::Unit::Procedural is the procedural style interface to a sophisticated unit testing framework for Perl that . Test::Unit is intended to provide a simpler interface to the framework that is more suitable for use in a scripting style environment. Therefore, Test::Unit does not provide much support for an object-oriented approach to unit testing.
More for C++ 1.0
More for C++ is a class library that provides some features usually not common for C++. more>>
More for C++ includes a mark-sweep garbage collector, platform-independent classes for threading, sockets, and I/O, unit tests, and a few other utility classes.
First of all, there is a garbage collector for automatic memory management. When an object has been referenced by a special smart pointer and should not be used any more, it will be destroyed by the librarys garbage collector.
Next, there are platform independent packages for file operations, networking and multithreading. At the time being, concrete implementations exist for Win32 and GNU/Linux.
Additionally, the library has some utility classes like containers, observers and (of course the inevitable class "String" (which - like any other class provided by and used with this library - will also be managed by the garbage collector).
One of the most recent packages is called "servlet". It offers the possibility to write loadable modules for the popular Apache web server, serving dynamic content with C++.
Last but not least, "More for C++" comes with its own framework for writing unit tests. This package has been inspired by the fabulous JUnit by Kent Beck and Erich Gamma.
By using this library, you are able to combine the performance of C++ with the elegance and ease of use of Java and Python. A native garbage collector in combination with the smart pointer class helps you to avoid common programming errors like dangling pointers or memory leaks. Besides this, the platform independence helps you to easily port your programs to the most important operating systems.
Date::Manip 5.44
Date::Manip is a date manipulation routines. more>>
SYNOPSIS
use Date::Manip;
$version = DateManipVersion;
$date = ParseDate(@args);
$date = ParseDate($string);
$date = ParseDate($string);
@date = UnixDate($date,@format);
$date = UnixDate($date,@format);
$delta = ParseDateDelta(@args);
$delta = ParseDateDelta($string);
$delta = ParseDateDelta($string);
@str = Delta_Format($delta,$dec,@format);
$str = Delta_Format($delta,$dec,@format);
$recur = ParseRecur($string,$base,$date0,$date1,$flags);
@dates = ParseRecur($string,$base,$date0,$date1,$flags);
$flag = Date_Cmp($date1,$date2);
$d = DateCalc($d1,$d2 [,$errref] [,$del]);
$date = Date_SetTime($date,$hr,$min,$sec);
$date = Date_SetTime($date,$time);
$date = Date_SetDateField($date,$field,$val [,$nocheck]);
$date = Date_GetPrev($date,$dow,$today,$hr,$min,$sec);
$date = Date_GetPrev($date,$dow,$today,$time);
$date = Date_GetNext($date,$dow,$today,$hr,$min,$sec);
$date = Date_GetNext($date,$dow,$today,$time);
$name = Date_IsHoliday($date);
$listref = Events_List($date);
$listref = Events_List($date0,$date1);
$date = Date_ConvTZ($date);
$date = Date_ConvTZ($date,$from);
$date = Date_ConvTZ($date,"",$to);
$date = Date_ConvTZ($date,$from,$to);
$flag = Date_IsWorkDay($date [,$flag]);
$date = Date_NextWorkDay($date,$off [,$time]);
$date = Date_PrevWorkDay($date,$off [,$time]);
$date = Date_NearestWorkDay($date [,$tomorrowfirst]);
&Date_Init();
&Date_Init("VAR=VAL","VAR=VAL",...);
@list = Date_Init();
@list = Date_Init("VAR=VAL","VAR=VAL",...);
The above routines all check to make sure that Date_Init is called. If it hasnt been, they will call it automatically. As a result, there is usually no need to call Date_Init explicitely unless you want to change some of the config variables (described below). They also do error checking on the input.
The routines listed below are intended primarily for internal use by other Date::Manip routines. They do little or no error checking, and do not explicitely call Date_Init. Those functions are all done in the main Date::Manip routines above.
Because they are significantly faster than the full Date::Manip routines, they are available for use with a few caveats. Since little or no error checking is done, it is the responsibility of the programmer to ensure that valid data (AND valid dates) are passed to them. Passing invalid data (such as a non-numeric month) or invalid dates (Feb 31) will fail in unpredictable ways (possibly returning erroneous results). Also, since Date_Init is not called by these, it must be called explicitely by the programmer before using these routines.
In the following routines, $y may be entered as either a 2 or 4 digit year (it will be converted to a 4 digit year based on the variable YYtoYYYY described below). Month and day should be numeric in all cases. Most (if not all) of the information below can be gotten from UnixDate which is really the way I intended it to be gotten, but there are reasons to use these (these are significantly faster).
$day = Date_DayOfWeek($m,$d,$y);
$secs = Date_SecsSince1970($m,$d,$y,$h,$mn,$s);
$secs = Date_SecsSince1970GMT($m,$d,$y,$h,$mn,$s);
$days = Date_DaysSince1BC($m,$d,$y);
$day = Date_DayOfYear($m,$d,$y);
($y,$m,$d,$h,$mn,$s) = Date_NthDayOfYear($y,$n);
$days = Date_DaysInYear($y);
$days = Date_DaysInMonth($m,$y);
$wkno = Date_WeekOfYear($m,$d,$y,$first);
$flag = Date_LeapYear($y);
$day = Date_DaySuffix($d);
$tz = Date_TimeZone();
WWW::Scraper::Google 3.05
WWW::Scraper::Google scrapes www.Google.com. more>>
Caveat Kleptor
Please note that using the Google Scraper module (may) be a violation of Googles "Terms of Service", of which your humble author has been repeatedly reminded. The TOS is not as easy to locate as some of these correspondents have suggested (without a smile), but you can find the TOS at http://www.google.com/terms_of_service.html
Briefly, the relevant part is the "No Automated Querying" section. Its a kind of "do as I say, not as I do" dictum. Your author has tried to divine exactly what it means. On the surface its pretty clear, but if you follow the thread you will realize that it doesnt lead to a place any of us want to be. However, Google Incs desire is clear enough. They do not want to be *abused* for the exclusive benefit of someone else.
Scraper is not a tool well suited for this kind of abuse. It is designed to be generally configurable and, as such, it is not particularly efficient. It obeys the "robot.txt" rules published by the web-server. It would require some effort on a users part to cirumvent this feature. The Google.pm does not do a "meta-search" on Google. Even if your humble author removed Google.pm from the Scraper suite, it would be trivially easy for someone to build a Google module for Scraper (their format is very simple compared to others).
I believe that Google Inc. understands a little interloping (in moderation) is beneficial to all. I should note that Google Inc. has not notified your author of any concern on their part. This has been done by third parties who, for whatever reasons of their own, feel it necessary to interject themselves in others disputes, even when no such dispute exists.
Keep in mind that this is Googles livelihood. Should your use of Scraper be your hobby, or even part of your livelihood, remember it never helps to hit someone where they live. They will defend themselves to the death (even if that death is yours).
Scraper is a handy little tool for getting to stuff you cant get to otherwise. Lets keep it that way!
WWW::Scraper::Beaucoup 3.05
WWW::Scraper::Beaucoup it Scrapes Beaucoups Super Search. more>>
SYNOPSIS
use WWW::Scraper;
use WWW::Scraper::Response::Job;
$search = new WWW::Scraper(Beaucoup);
$search->setup_query($query, {options});
while ( my $response = $scraper->next_response() ) {
# $response is a WWW::Scraper::Response::Job.
}
Beaucoup extends WWW::Scraper.
It handles making and interpreting Beaucoup searches of http://www.Beaucoup.com.
Domingo 1.4
Domingo is a simple, consistent, object-oriented easy-to-use interface to the Lotus Notes/Domino Java-API. more>>
Installation:
To install Domingo on your Notes Client or Domino server, please download a binary distribution, extract the file domingo-1.0.jar and choose one of the following instructions.
Notes/Domino R5
Copy the file domingo-1.0.jar to the folder of your local Notes installation.
Add the path to this file to the JavaUserClasses variable in your notes.ini file, e.g.
JavaUserClasses=C:LotusNotes6domino-1.0.jar
Notes/Domino R6/R7
Copy the file domingo-1.0.jar to the folder jvm/lib/ext in your Lotus Notes installation, e.g. C:LotusNotes6jvmlibext.
You do not have to change JavaUserClasses.
Configuration
Domingo can be configured by a properties file named domingo.properties that must be placed in the package de.bea.domingo. The following properties are supported. Usually you donot have to change these values, because the default values are appropriate for most cases.
de.bea.domingo.monitor.level Setup debug level of Domingo. Allowed values are FATAL, ERROR, WARN, INFO or DEBUG WARN
de.bea.domingo.threadpool.size Setup number of threads in thread pool. 1
de.bea.domingo.cache.threshold Threshold of weak cache before recycling unused notes objects. Extremly small values might worsen performance, extremly high values might result in out of memory errors. Allowed values are any integer bigger than zero
Enhancements:
- All known bugs were fixed and all feature requests were implemented.
- Many further new features were added.
WWW::Search::Scraper::Google 2.27
WWW::Search::Scraper::Google is a Perl module that scrapes www.Google.com more>>
SYNOPSIS
require WWW::Search::Scraper;
$search = new WWW::Search::Scraper(Google);
This class is an Google specialization of WWW::Search. It handles making and interpreting Google searches http://www.Google.com.
WWW::Search::Scraper::Beaucoup 2.27
WWW::Search::Scraper::Beaucoup it Scrapes Beaucoups Super Search. more>>
SYNOPSIS
use WWW::Search::Scraper;
use WWW::Search::Scraper::Response::Job;
$search = new WWW::Search::Scraper(Beaucoup);
$search->setup_query($query, {options});
while ( my $response = $scraper->next_response() ) {
# $response is a WWW::Search::Scraper::Response::Job.
}
Beaucoup extends WWW::Search::Scraper.
It handles making and interpreting Beaucoup searches of http://www.Beaucoup.com.
Java Unified Expression Language 2.1.0
Java Unified Expression Language is an implementation of the unified expression language. more>>
The javax.el.ExpressionFactory implementation is de.odysseus.el.ExpressionFactoryImpl:
// create an expression factory
javax.el.ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
Package de.odysseus.el.util provides ready-to-use subclasses of javax.el.ELContext and javax.el.ELResolver:
// create a simple EL context
de.odysseus.el.util.SimpleContext context =
new de.odysseus.el.util.SimpleContext(new de.odysseus.el.util.SimpleResolver());
// define function math:max(int,int)
context.setFunction("math", "max", Math.class.getMethod("max", new Class[]{int.class, int.class}));
// define variable "foo"
context.setVariable("foo", factory.createValueExpression(0, null));
// create expression
javax.el.ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", null);
// set value for top-level property "bar"
context.setValue(null, "bar", 1);
// evaluate expression...
System.out.println(e.getValue(context)); // --> 1
The JUEL jar may be run from the command line to dump the parse tree of an EL expression:
$ java -jar juel-2.1.x.jar "#{unified(expression[language])}"
+- #{...}
|
+- unified(...)
|
+- [...]
|
+- expression
|
+- language
Enhancements:
- Minor changes only since the last release candidate.
- A detailed list of changes is contained in the archives.
Pngcrush 1.7.0
Pngcrush 1.7.0 is yet another extremely useful utility for everyone. It is actually an optimizer for PNG (Portable Network Graphics) files more>>
Pngcrush 1.7.0 is yet another extremely useful utility for everyone. It is actually an optimizer for PNG (Portable Network Graphics) files. It can be run from a commandline in an MSDOS window, or from a UNIX or LINUX commandline.
Its main purpose is to reduce the size of the PNG IDAT datastream by trying various compression levels an PNG filter methods. It also can be used to remove unwanted ancillary chunks, or to add certain chunks including gAMA, tRNS, iCCP, and textual chunks.
Please note that when statically linked to the supplied zlib code, this script is believed to be immune to the zlib-1.1.3 "double-free" bug, since by default it detects and rejects any "double-free" attempt. It merely generates a "Decompression Error" message and rejects the file.
Enhancements: Jul 18 2009
- Save (but do not recompress) APNG chunks if the output file has the ".apng" extension and the color_type and bit_depth are not changed.
Term::TUI 1.20
Term::TUI is a simple tool for building text-based user interfaces. more>>
SYNOPSIS
If TUI_Run is the only routine being used:
use Term::TUI;
$flag=&TUI_Run($command,%desc);
$version=&Term::TUI::TUI_Version;
If other TUI subroutines are used:
use Term::TUI qw(:all);
$flag=&TUI_Run($command,%desc);
&TUI_Out($message);
$flag=&TUI_Script(%desc,$script,$sep);
Many times, Ive wanted to quickly write a nice text-based user interface around a set of perl routines only to end up writing the full (though simple) parser and interface to make it nice enough, and friendly enough, to be usable.
This module creates a simple but powerful text based user interface around perl routines, adding such features as command line history, command line editing, and online help (command completion will also be implemented), while hiding all details of the interface from the programmer.
The interface is described in a simple hash which is passed to the TUI_Run command. This routine exits only when the user has exited the program (returning a flag signalling any special exit conditions).