There are no reviews yet. Be the first to send feedback to the community and the maintainers!
Overview Easylzma is a C library and command line tools for LZMA compression and decompression. It uses a Igor Pavlov's reference implementation and SDK written in C. License All the cruft you find here is public domain. You don't have to credit anyone to use this code, but my personal request is that you mention Igor Pavlov for his hard, high quality work. Project Goals 1. A tiny C wrapper and portable build system around a subset of Igor Pavlov's public domain LZMA compression and decompression implementation. 2. A tiny and straighforward API 3. Support for multiple different prominent LZMA file formats (see section on file formats below) 4. easy to build and use everywhere (doze and nix alike) 5. public domain licensing through and through. (hats off to Igor) Current State: THIS IS A WORK IN PROGRESS. The code here should be considered pre-alpha, and this should only be used by tinkerers or hackers at this point. Once feature completion is attained this message will be updated. See the TODO file distributed with the source for remaining work to be done. Platforms Supported 0.0.2 has been successfully compiled and run basic round trip testing on the following platforms & compilers: * win32 - visual studio 2005 * osx - 10.4 & 10.5 (intel) * netbsd ppc - 4.0.1 with gcc 4.1.2 (NOTE: memory allocation errors when dict size is default) * freebsd 6.1 - amd64 gcc 3.4.4 Features XXX: write me (and the code) Usage XXX: write me (and the code) The Saga of LZMA File Formats, and a couple cents. As far as I can tell, there are at least four different ways to put LZMA compressed data in a stream: 1. The LZMA-Alone format, which consists of a 13 byte header including compression properties, dictionary size, and the uncompressed size of the file, followed by compressed data. This format has some support in Igor Pavlov's reference implementation and is in widespread use, as it's supported by lzmautils: http://tukaani.org/lzma/ The canonical (afaict) implementation of this format (lzmautis) is BSD licensed. 2. The lzip format (http://www.nongnu.org/lzip/lzip.html) - which includes a CRC footer and leading "magic number". The former affords data integrity gaurantees, while the latter simplifies heuristic determination of file format. This format looks to have reasonably widespread usage, though not quite as significant as LZMA-Alone. The only implementation of this format I can find (lzip) is GPL licensed. 3. the xz format ( http://tukaani.org/xz/xz-file-format.txt ) which is a more complex representation that includes CRC support and a magic number. This format is to be supported by the next iteration of XZ Utils which is currently in beta. The source may be obtained here: git://ctrl.tukaani.org/xz.git This format will address some criticisms to the LZMA-Alone format and was developed collaboratively by Lasse Collin (the current maintainer of XZ utils) and Igor Pavlov (the author of 7zip and the refrence implementation of LZMA). The xz format will employ LZMA2 which consists of extensions on top of LZMA, in the xz utils maintainer's words: "The primary compression algorithm in .xz is currently LZMA2, which is an extension on top of the orignal LZMA to fix a few practical issues, like adding support for flushing the encoder (equivalent to zlib's Z_SYNC_FLUSH), which isn't possible with the original LZMA." Again, maintainers words, regarding licensing: "XZ Utils currently contains a zlib-like compression library and a gzip-like command line tool. It's currently under LGPLv2.1+ but I will put it into the public domain before the first stable release." 4. The 7zip disk format which can contain multiple files possibly stored in LZMA compressed format. Given the state of things, the goal of this project is to develop something based on the existing formats, and quickly leverage code generated by the XZ Utils project, or simply kill this thing if that project produces something that's easy to embed and has a clean API at a similar level of abstraction as easylzma. lloyd - sometime in oh nine.
node-memwatch
A NodeJS library to keep an eye on your memory usage, and discover and isolate leaks.yajl
A fast streaming JSON parsing library in C.JSONSelect
CSS-like selectors for JSONnode-toobusy
Build Node.JS servers that don't fall over.node-compute-cluster
NodeJS library for distributing computation across multiple processes.orderly
The reference implementation of orderly: a schema language for JSON.myfavoritebeer.org
A demonstration of how to use BrowserID.connect-etagify
etagify is connect middleware to add ETag headers to cachable but non-static content.ircloggr
A system for producing web accessible IRC logs, in node.js.connect-select
Server side filtering of JSON responses using JSONSelectass
A node.js code coverage library which aggregates stats cross process.JSONSelectTests
Conformance tests for the JSONSelect selector languagepersona.js
Use Persona for authentication, the easy waynode-browserid
A nodejs library that verifies BrowserID assertions.wnram
urlparse.js
URL parsing in javascript with validation, normalization, and matching.fully_loaded_node
A presentation for http://node.ph which explores scaling CPU bound Node.JS services.docstract
Parses documentation out of javascript source and outputs JSON.awsbox-helloworld
A hello world application that demonstrates deploying on awsboxgoj
A fast JSON scanner in go.lloyd.io
lloyd's blog and websiteblobastorus
A happy little open source dinosaur that offers free itty bitty bits of json cloud storage for webby html5y apps.myfavoritebooze.org
Another example site that uses BrowserID.node-cpusage
CPU Sage is a NodeJS library that let's you query the current processes cpu usage.node.js-persona-example
A minimalist Persona Integration example in Node.JSyajl_vs_rapidjson
quick and dirty performance comparison of two json parsers.bakery
A ports system for software projects. Add software by adding "recipes". Build software by placing an "order".gobbledygook
A localization debugging tool that translates strings into legible gobbledygook. In javaScript.littlepass
(EXPERIMENT) Awesome machine generated passwords for little ones, worldwide?connect-browserid
nothing to see here.awsbox-socketio-example
An example of running websockets via socket.io on top of awsboxnotathing
a thing that's not a thing, and probably will never be a thing.node_leak
tracking down a memory leak in node?wtfpl
say less.popcornjs.org
a static clone of popcornjs.org that I can hack onmyfavoriteshow.org
An example site that uses BrowserID to let users sign up for a mailing list.scrapify
the thing that does the stuff!browserid-keysigner
mephitidae
throwdown
help, I can't stop creating github repositories!nice.js
lloyd.github.com
my pagerestwork
(EXPERIMENTAL) A minimalist framework for building awesome REST APIs in node.js servers.postMessagePerf
A little exploration of postMessage throughputleery
a thing that does some stuff, but not yet.mozhacks.org
A meta-hackphotovat
nothing to see here.dotPlan
lloyd's .plan. inspired by pfinette, in turn inspired by John Carmackchromeless-unplugged
wipjsga.me
there is nothing to see here.browserid_ncfs
nothing to see here.test_travis_ci
a test repo for broken IRC notifications to some servers in travis-ciconnect-postprocess
Experimental middleware for connect that helps intercept and mutate responses.crash-mozillians
a hacked up lil command line tool to help debug sasl-browserid. not really interesting.persona-preso
A presentation of persona for DenverJScloudwatch2statsd
a dirty hack, maybe general later.connect-minify
EXPERIMENTAL: lightweight connect middleware for automagic on-the fly combination and minification of resourcestestidp.org
i-am-a-dissenter
servedir
a trivial static webserver to serve a directorymehmeh
simulated_infobars
code experiment in simulating infobars in chrome extensionspersonatra.in
A simple web based calendar which helps people understand the phases of Persona "trains"prioritize.io
nothing to see here.Love Open Source and this site? Check out how you can help us