Calerga Lab
Calerga keeps the software it develops as modular as it makes sense to facilitate its reuse. Code reuse is beneficial not only for the sake of efficiency, but also because the same code is tested more exhaustively in real-world conditions, which leads to a general quality increase.
This page describes two kinds of projects:
- web applications you can run directly in your browser, with a more limited scope than our leading web applications Sysquake js and Calerga VR;
- subprojects Calerga distributes as open souce with the hope they will be useful to others and as a sign of gratitude for other open-source or free projects it relies on for its products or its own operation.
Calerga Peek
Calerga Peek's purpose is to dissect a file and display its content in a hierarchical way. More than 40 formats are recognized. Calerga Peek runs entirely in a web browser on the client computer (your computer), without any connection to the server.
Calerga Peek is good at showing you the amount of metadata stored in your files. It does it in a recursive way: you can very easily dissect an e-mail message (.eml file) which contains compressed PDF and MS Office attachments, both of them with embedded JPEG images with their thumbnails and EXIF or XMP metadata.
It can also help you to learn more about malware attachments which reach your mailbox. Just make sure you read the Security notes in menu “Peek”.
Calerga Math Display
Sysquake implements a subset of MathML and LaTeX to display math equations according to usual math notation. Calerga Math Display is a port to JavaScript of the conversion from LaTeX to MathML and the display of MathML, used in Sysquake js. You can also test it as a stand-alone web app.
Base64 encoder
Some of our software reads base64-encoded data. Base64 is a text representation useful to represent binary data in places where only text is accepted, such as in source code or HTML pages. This web page simplifies the conversion, with optional compression.
Calerga QR Encoder
We've developed our own JavaScript implementation of a QR code encoder, a kind of 2D barcode.
NME
Creole is a collaborative effort to create a common markup language to be used across different wikis. It is still a work in progress.
NME, or Nyctergatis Markup Engine, is an open-source ISO-C implementation of a markup parser based on Creole 1.0. The markup language it supports is described in its documentation. Nyctergatis refers to nyctergatis.com, the personal site of the initial developer of these projects (Calerga's CEO).
NME also includes a tool to create EPUB files (electronic books which can be read with many devices and applications, such as iBook on the iPad).
Calerga uses NME in Sysquake for its help system and to process text written to file descriptor 3; and in some web applications. The original source code of the very page you're reading now, and of many others at calerga.com, is written as NME markup before its conversion to HTML during the static build process.
NME is hosted by Launchpad, a service for open source projects that's big on collaboration.
NPW
NPW (Nyctergatis PDF Writer) is an open-source ISO-C library for the creation of PDF documents.
NPW's goal is simplicity and small size, not a full implementation of the PDF standard. It has the following features:
- less than 30 KB for basic functions
- multiple-page documents
- vector graphics
- text with the 14 standard PDF fonts
- PDF metadata
- paragraph layout with multiple fonts
- simple markup for text style
Calerga uses NPW in Sysquake to export graphics to PDF.
NPW is also hosted by Launchpad.