Icarus Verilog is a Verilog simulation and synthesis tool. It
operates as a compiler, compiling source code written in Verilog
(IEEE-1364) into some target format. For batch simulation, the
compiler can generate C++ code that is compiled and linked with
a run time library (called "vvm") then executed as a command to
run the simulation. For synthesis, the compiler generates netlists
in the desired format.
The compiler proper is intended to parse and elaborate design
descriptions written to the IEEE standard IEEE Std 1364-2000. The
standard proper is due to be release towards the middle of the
year 2000. This is a fairly large and complex standard, so it will
take some time for it to get there, but that's the goal.
LinPsk is a program for operating on digital modes running on Linux.
LinPsk supports BPSK , QPSK and RTTY at the moment.
Main features are:
the simultaneuos decoding of up to four channels.
The different digital modes may be mixed
You can define a trigger on each channel to be notified if a text of your choice is detected.
You can log each received channel at a file.
For easy qso'ing you can define macros and for larger texts to be send you can use two files.
You can view the signal as spectrum or in a waterfall display. Both are scalable in the frequency domain.
At the Moment RTTY only supports 45 baud and 1.5 stopbits.
The heart of the package is 'libcw'. This is a library which, when built,
offers the following basic CW services to a caller program:
o Morse code character translation tables, and lookup functions
o Morse code low-level timing calculations
o A 'sidetone' generation and queueing system, using either the system sound
card, the console speaker, or both
o Optional keying control for an external device, say a transmitter, or an
oscillator
o CW character and string send routines, tied in with the character lookup
o CW receive routines, also tied in to the character lookup
o Adaptive speed tracking of received CW
o An iambic keyer, with both Curtis 8044 types A and B timing
o Straight key emulation
convmv is meant to help convert a single filename, a directory tree and the
contained files or a whole filesystem into a different encoding. It just
converts the filenames, not the content of the files. A special feature of
convmv is that it also takes care of symlinks, also converts the symlink target
pointer in case the symlink target is being converted, too.
All this comes in very handy when one wants to switch over from old 8-bit
locales to UTF-8 locales. It is also possible to convert directories to UTF-8
which are already partly UTF-8 encoded. convmv is able to detect if certain
files are UTF-8 encoded and will skip them by default. To turn this smartness
off use the --nosmart switch.
JSON (JavaScript Object Notation, http://json.org) is a lightweight
data-interchange format. It is easy for humans to read and write. It is
easy for machines to parse and generate. It is based on a subset of the
JavaScript Programming Language, Standard ECMA-262 3rd Edition - December
1999.JSON is a text format that is completely language independent
but uses conventions that are familiar to programmers of the C-family of
languages, including C, C++, C#, Java, JavaScript, Perl, TCL, and many
others. These properties make JSON an ideal data-interchange language.
This package provides a simple encoder and decoder for JSON notation. It
is intended for use with client-side Javascript applications that make
use of HTTPRequest to perform server communication functions - data can
be encoded into JSON notation for use in a client-side javascript, or
decoded from incoming Javascript requests. JSON format is native to
Javascript,and can be directly eval()'ed with no further parsing overhead.
LevelDB is a fast key-value storage library written at Google that provides an
ordered mapping from string keys to string values.
Features:
- Keys and values are arbitrary byte arrays.
- Data is stored sorted by key.
- Callers can provide a custom comparison function to override the sort order.
- The basic operations are Put(key,value), Get(key), Delete(key).
- Multiple changes can be made in one atomic batch.
- Users can create a transient snapshot to get a consistent view of data.
- Forward and backward iteration is supported over the data.
- Data is automatically compressed using the Snappy compression library.
- External activity (file system operations etc.) is relayed through a virtual
interface so users can customize the operating system interactions.
- Detailed documentation about how to use the library is included with the
source code.
Electric Fence is a different kind of malloc() debugger. It uses the virtual
memory hardware of your system to detect when software overruns the boundaries
of a malloc() buffer. It will also detect any accesses of memory that has
been released by free(). Because it uses the VM hardware for detection,
Electric Fence stops your program on the first instruction that causes
a bounds violation. It's then trivial to use a debugger to display the
offending statement.
It will probably port to any ANSI/POSIX system that provides mmap(), and
mprotect(), as long as mprotect() has the capability to turn off all access
to a memory page, and mmap() can use /dev/zero or the MAP_ANONYMOUS flag
to create virtual memory pages.
Complete information on the use of Electric Fence is in the manual page
efence(3).
The Automated Testing Framework (ATF) is a collection of libraries to
implement test programs in a variety of languages. At the moment, ATF
offers C, C++ and POSIX shell bindings with which to implement tests.
These bindings all offer a similar set of functionality and any test
program written with them exposes a consistent user interface.
ATF-based test programs rely on a separate runtime engine to execute them.
The runtime engine is in charge of isolating the test programs from the
rest of the system to ensure that their results are deterministic and that
they cannot affect the running system. The runtime engine is also
responsible for gathering the results of all tests and composing reports.
The current runtime of choice is Kyua.
CFFI, the Common Foreign Function Interface, purports to be a
portable foreign function interface for Common Lisp. The CFFI library
is composed of a Lisp-implementation-specific backend in the CFFI-SYS
package, and a portable frontend in the CFFI package.
The CFFI-SYS backend package defines a low-level interface to the
native FFI support in the Lisp implementation. It offers operators
for allocating and dereferencing foreign memory, calling foreign
functions, and loading shared libraries. The CFFI frontend provides
a declarative interface for defining foreign functions, structures,
typedefs, enumerated types, etc. It is implemented in portable ANSI
CL making use of the low-level operators exported by CFFI-SYS.
This package is compiled with SBCL.
PEAR::XML_Serializer serializes complex data structures like arrays
or object as XML documents.
This class helps you generating any XML document you require without
the need for DOM.
Furthermore this package can be used as a replacement to serialize()
and unserialize() as it comes with a matching XML_Unserializer that
is able to create PHP data structures (like arrays and objects)
from XML documents, if type hints are available.
If you use the XML_Unserializer on standard XML files, it will try
to guess how it has to be unserialized. In most cases it does exactly
what you expect it to do.
Try reading a RSS file with XML_Unserializer and you have the whole
RSS file in a structured array or even a collection of objects,
similar to XML_RSS.
Since version 0.8.0 the package is able to treat XML documents
similar to the simplexml extension of PHP 5.