This plugin for Squeezebox Server makes it possible to create smart
playlists. Although the standard Squeezebox Server doesn't support
smart playlists by itself, together with iTunes and the standard
Squeezebox Server iTunes integration, it is possible to use smart
playlists defined in iTunes. The problem though is that the integrated
iTunes smart playlists will not be recalculated until the next time
you perform a rescan in Squeezebox Server. The SQL Playlist plugin
takes care of this problem and implements native smart playlist in
Squeezebox Server without any need to use iTunes. The smart playlists
implemented in SQL Playlist will also be automatically re-calculated
after each track played so they will be based on the latest statistic
information.
A smart playlist in SQL Playlist are continous and will run forever in
the same way as the standard Random Mix plugin, you can optionally
also choose that a smart playlist shouldn't repeat already played
tracks and in that case the music will stop when all songs matching
the playlist has been played.
Typical buffer-based incremental I/O is based around a single loop,
which reads data from some source (such as a socket or file), transforms
it, and generates one or more outputs (such as a line count, HTTP
responses, or modified file). Although efficient and safe, these loops are
all single-purpose; it is difficult or impossible to compose
buffer-based processing loops.
Haskell's concept of "lazy I/O" allows pure code to operate on data from an
external source. However, lazy I/O has several shortcomings. Most notably,
resources such as memory and file handles can be retained for arbitrarily
long periods of time, causing unpredictable performance and error conditions.
Enumerators are an efficient, predictable, and safe alternative to lazy
I/O. Discovered by Oleg Kiselyov, they allow large datasets to be processed
in near constant space by pure code. Although somewhat more complex
to write, using enumerators instead of lazy I/O produces more correct
programs.
This library contains an enumerator implementation for Haskell, designed to
be both simple and efficient.
Pegex is an Acmeist parser framework. It allows you to easily create parsers
that will work equivalently in lots of programming languages! The inspiration
for Pegex comes from the parsing engine upon which the postmodern programming
language Perl 6 is based on. Pegex brings this beauty to the other justmodern
languages that have a normal regular expression engine available.
Pegex gets it name by combining Parsing Expression Grammars (PEG), with Regular
Expessions (Regex). That's actually what Pegex does.
PEG is the cool new way to elegantly specify recursive descent grammars. The
Perl 6 language is defined in terms of a self modifying PEG language called Perl
6 Rules. Regexes are familiar to programmers of most modern programming
languages. Pegex defines a simple PEG syntax, where all the terminals are
regexes. This means that Pegex can be quite fast and powerful.
Pegex attempts to be the simplest way to define new (or old) Domain Specific
Languages (DSLs) that need to be used in several programming languages and
environments. Things like JSON, YAML, Markdown etc. It also great for writing
parsers/compilers that only need to work in one language.
The BuildBot is a system to automate the compile/test cycle required by most
software projects to validate code changes. By automatically rebuilding and
testing the tree each time something has changed, build problems are
pinpointed quickly, before other developers are inconvenienced by the
failure. The guilty developer can be identified and harassed without human
intervention. By running the builds on a variety of platforms, developers who
do not have the facilities to test their changes everywhere before checkin will
at least know shortly afterwards whether they have broken the build or not.
Warning counts, lint checks, image size, compile time, and other build
parameters can be tracked over time, are more visible, and are therefore
easier to improve.
The overall goal is to reduce tree breakage and provide a platform to run tests
or code-quality checks that are too annoying or pedantic for any human to waste
their time with. Developers get immediate (and potentially public) feedback
about their changes, encouraging them to be more careful about testing before
checkin.
For more information, please see: http://buildbot.net/trac
English abstract:
It is a German communication protocol used over modem lines,
a mail and news gateway compliant with the German "GATEBAU" regulations.
It is the native protocol for z-netz newsgroups.
UNIX-Connect kann sehr vielseitig eingesetzt werden. Entwickelt wurde
es, um ein Unix-System als Server im Z-NETZ (im alten Sinne) einsetzen
zu koennen. Nebeneffekt ist die Gateway-Funktion. Gerade die Gateway-Routinen
sind relativ gut portabel (ANSI-C ohne wesentliche UNIX-Einfluesse), und daher
bereits auf anderen Computertypen realisiert worden. Bei den Online-Routinen
ist das schwieriger, aber nicht unmoeglich.
UNIX-Connect kann auch als Point benutzt werden - also um am heimischen
Linux-System die Nachrichten aus der Z-NETZ MailBox vor Ort im ELM oder NN
zu lesen. Dieser Einsatzmoeglichkeit widmet die Dokumentation ein eigenes
Kapitel, da hierbei sehr viele Konfigurationsprobleme von vornherein
vermieden werden koennen.
LICENSE: GPL2 or later
LICENSE: BSD (rsmtp)
FTP: ftp://unix-connect.sf.net/pub/unix-connect/
FTP: ftp://ftp.dinoex.org/pub/unix-connect/
psycopg2 is a PostgreSQL database adapter for the Python programming language.
It was written from scratch with the aim of being small, fast and stable. It
supports the full Python DBAPI-2.0 and is thread safe.
psycopg2 is different from the other database adapter because it was designed
for heavily multi-threaded applications that create and destroy lots of cursors
and make a conspicuous number of concurrent INSERTs or UPDATEs. Every open
Python connection keeps a pool of real (UNIX or TCP/IP) connections to the
database. Every time a new cursor is created, a new connection does not need to
be opened; instead one of the unused connections from the pool is used. That
makes psycopg very fast in typical client-server applications that create a
servicing thread every time a client request arrives.
The libevent API provides a mechanism to execute a callback function when
a specific event occurs on a file descriptor or after a timeout has been
reached. Furthermore, libevent also support callbacks due to signals or
regular timeouts.
libevent is meant to replace the event loop found in event driven network
servers. An application just needs to call event_dispatch() and then add
or remove events dynamically without having to change the event loop.
Currently, libevent supports /dev/poll, kqueue(2), event ports, select(2),
poll(2) and epoll(4). The internal event mechanism is completely independent
of the exposed event API, and a simple update of libevent can provide new
functionality without having to redesign the applications. As a result,
Libevent allows for portable application development and provides the most
scalable event notification mechanism available on an operating system.
Libevent can also be used for multi-threaded applications.
This module allow the user to dump variables in a Data::Dumper format.
Unlike the default behavior of Data::Dumper, the variables are named
(instead of $VAR1, $VAR2, etc.) Data::Dumper provides an extended
interface that allows the programmer to name the variables, but this
interface requires a lot of typing and is prone to tyops (sic). This
module fixes that.
Data::Dumper::Simple is actually a source filter that replaces all
instances of Dumper($some, @args) in your code with a call to
Data::Dumper->Dump(). You can use the one function provided to make
dumping variables for debugging a trivial task.
Note that this is primarily a debugging tool. Data::Dumper offers a
bit more than that, so don't expect this module to be more than it is.
This module implements a memory-efficient node type (for trees, skip lists
and similar data structures) for Perl.
You may ask "Why bother implementing an ordered structure such as a tree
when Perl has hashes built-in?" Since Perl is optimized for speed over
memory usage, hashes (and lists) use a lot of memory.
So the purpose of this package is to provide a simple low-level Node class
which can be used as a base class to implement various kinds of tree
structures. Each node has a key/value pair and a variable number of
"children" pointers.
How nodes are organized or the algorithm used to organize them is for you
to implement.
There is no Pure-perl version because this package was written to overcome
limitations of Perl.
Mah jongg is an ancient Chinese game whose origins are supposed to date
back around 3000 years. It is typically a four player game with
similarities to most popular card games. This version is a solitaire
game using the mahjongg tiles. It was inspired by a version originally
seen on a PC.
The object of the game is to remove all the tiles from the board in
matching pairs. Tiles match only if they are identical. Exceptions are
the flower and season tiles. Any season tile will match any other season
tile and any flower tile will match any other flower tile. Tiles may be
removed from the board only if they have either a left or a right edge
open and they do not have a tile covering them.