Benki → Bookmarks

⇠ previous page next page ⇢

Boomerang is a programming language for writing lenses—well-behaved bidirectional transformations—that operate on ad-hoc, textual data formats. Every lens program, when read from left to right, describes a function that maps an input to an output; when read from right to left, the very same program describes a “backwards” function that maps a modified output, together with the original input, back to a modified input.

Lenses have been used to solve problems across a wide range of areas in computing including: in data converters and synchronizers, in parsers and pretty printers, in picklers and unpicklers, in structure editors, in constraint maintainers for user interfaces, in software model transformations, in schema evolution, in tools for managing system configuration files, and in databases where they provide updatable views.

SlimBatteryMonitor is a replacement power gauge for Apple’s Mac OS X that tracks both laptop batteries and many UPS batteries. Multiple-battery systems (e.g. older powerbooks) are supported as well. A graphical icon shows the power remaining, and can be accompanied by a text description (battery charge in percent, or time remaining). Colours can indicate whether the system is fully charged, charging or on battery.

Trim is must-have feature for most Solid State Drives. It not only increases data writing speeds, but it increases the lifetime of the SSD itself. With Trim Enabler, you can bring that feature to Mac OSX. It’s as easy as flipping a switch.

Trim Enabler can also analyze your drive and show information about it’s health and show lifetime statistics.

Linq for list comprehension in C++, provides an implementation of linq for C++. Currently it only supports C++ ranges, but it does support both the extension and query methods for linq.

Mx is a highly expressive constraint-based music composition system that transforming a high-level representation of musical structure into a MIDI file.

TypeRex is a powerful development environment for OCaml. It is designed to integrate easily in your favorite editor, and to provide all the commands that programmers expect from a modern IDE. TypeRex is open-source and is developed by OCamlPro and INRIA.

utop is an improved toplevel for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more.

It integrates with the tuareg and typerex modes in Emacs.

Spire is a numeric library for Scala which is intended to be generic, fast, and precise.

Using features such as specialization, macros, type classes, and implicits, Spire works hard to defy conventional wisdom around performance and precision trade-offs. A major goal is to allow developers to write efficient numeric code without having to “bake in” particular numeric representations. In most cases, generic implementations using Spire’s specialized type classes perform identically to corresponding direct implementations.

I post something and my followers see it. That’s the rough idea behind the pump.

There’s an API defined in the API.md file. It uses activitystrea.ms JSON as the main data and command format.

You can post almost anything that can be represented with activity streams – short or long text, bookmarks, images, video, audio, events, geo checkins. You can follow friends, create lists of people, and so on.

The software is useful for at least these scenarios:

  • Mobile-first social networking
  • Activity stream functionality for an existing app *Experimenting with social software

This project aims to contain several definitions of common node.js libraries for TypeScript language in order to have autocomplete support.

It would be great if the creators of node modules, include definition files directly on their projects. In the meanwhile this project will do the job.

Roy is an experimental programming language that targets JavaScript. It tries to meld JavaScript semantics with some features common in static functional languages:

  • Damas-Hindley-Milner type inference
  • Whitespace significant syntax
  • Compile-time meta-programming
  • Simple tagged unions
  • Pattern matching
  • Structural typing
  • Monad syntax

Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. Any time you have sections of UI that update dynamically (e.g., changing depending on the user’s actions or when an external data source changes), KO can help you implement it more simply and maintainably.

Headline features:

  • Elegant dependency tracking - automatically updates the right parts of your UI whenever your data model changes.
  • Declarative bindings - a simple and obvious way to connect parts of your UI to your data model. You can construct a complex dynamic UIs easily using arbitrarily nested binding contexts.
  • Trivially extensible - implement custom behaviors as new declarative bindings for easy reuse in just a few lines of code.

Reflex is a ClojureScript library for automatic state propagation. Intrinsic application state lives in atoms, from which derived values can be computed using Reflex-provided “computed observables” (COs). COs always reflect the latest state, can depend on multiple atoms, and are themselves watchable (i.e., you can chain them). COs are lazily evaluated, computing state only when they are dereferenced—they will notify their watches when they become dirty, but will not pass any values.

Bandicoot is an open source programming system with a new set-based programming language, persistency capabilities, and run-time environment. The language is similar to general purpose programming languages where you write functions/methods and access data through variables. Though, in Bandicoot, you always manipulate data in sets using a small set-based algebra (the relational algebra).

Interesting. Sounds like what I’ve been looking for for some time.

The uWSGI project aims at developing a full stack for building (and hosting) clustered/distributed network applications.

Mainly targeted at the web and its standards, it has been successfully used in a lot of different contexts.   Thanks to its pluggable architecture it can be extended without limits to support more platforms and languages. Currently, you can write plugins in C, C++ and Objective-C.

The “WSGI” part in the name is a tribute to the namesake Python standard, as it has been the first developed plugin for the project.

Versatility, performance, low-resource usage and reliability are the strengths of the project (and the only rules followed).

Daala is the code-name for a new video compression technology. The effort is a collaboration between Mozilla Foundation, Xiph.Org Foundation and other contributors.

The goal of the project is to provide a free to implement, use and distribute digital media format and reference implementation with technical performance superior to h.265.

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

Sylvester is a vector, matrix and geometry library for JavaScript, that runs in the browser and on the server side. It includes classes for modelling vectors and matrices in any number of dimensions, and for modelling infinite lines and planes in 3-dimensional space. It lets you write object-oriented easy-to-read code that mirrors the maths it represents. For example, it lets you multiply vectors and matrices together:

Om is:

  • A concatenative, homoiconic programming language with: An extremely minimal syntax, comprised of only three elements. Prefix, rather than postfix, notation. Instead of a data stack, functions manipulate the remainder of the program itself. A unique panmorphic type system in which there is only one data type—the program—exposed in the language, even though the implementation can optimize data representations for operations.
  • An abstract algorithmic notation that does not rely on any computer implementation details (such as byte or machine word length).
  • A data transfer format that is trivial to parse.
  • Embeddable: implemented as a header-only C++ library (with only Boost and ICU dependencies) that can be incorporated into any C++ or Objective-C++ program.
  • Extensible: new native operations can be implemented as C++ classes.
  • Unicode-correct: any UTF-8 text (without byte-order marker) defines a valid Om program.

Regal is a portable OpenGL layer on top of existing OpenGL implementations. Compile and link an app against Regal and deploy on various OpenGL implementations including compatibility, core and ES 2.0 OpenGL contexts.

OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specification.

GLM provides classes and functions designed and implemented with the same naming conventions and functionalities than GLSL so that when a programmer knows GLSL, he knows GLM as well which makes it really easy to use.

This project isn’t limited to GLSL features. An extension system, based on the GLSL extension conventions, provides extended capabilities: matrix transformations, quaternions, half-based types, random numbers, procedural noise functions, etc…

This library works perfectly with OpenGL but it also ensures interoperability with third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.

Most specification languages have a type system. Type systems are hard to get right, and getting them wrong can lead to inconsistencies. Set theory can serve as the basis for a specification language without types. This possibility, which has been widely overlooked, offers many advantages. Untyped set theory is simple and is more flexible than any simple typed formalism. Polymorphism, overloading, and subtyping can make a type system more powerful, but at the cost of increased com- plexity, and such refinements can never attain the flexibility of having no types at all. Typed formalisms have advantages too, stemming from the power of mechan- ical type checking. While types serve little purpose in hand proofs, they do help with mechanized proofs. In the absence of verification, type checking can catch er- rors in specifications. It may be possible to have the best of both worlds by adding typing annotations to an untyped specification language. We consider only specification languages, not programming languages.

Another mobile-game development framework with an advertising clause. Python-based.

Ignifuga is a multi platform (Windows/Linux/OS X/iOS/Android) 2D hardware accelerated engine based on Python and Cython, inspired by similar offerings like Cocos2D, Cocos2D for iPhone, and AndEngine. All your game logic code along with the engine’s and supporting tools is converted to C during the build process, and compiled into one big standalone binary for each of the supported platforms (please refer to the FAQ for more information).

A Lua mobile-game development framework with a rather strange licensing model (open source with advertising clause; additional cloud services for sale).

Moai is a mobile game development platform. It’s driven by the Lua scripting language, both on mobile devices and in the cloud. The Moai SDK can handle graphics, animation, input, physics, collisions, and more. Moai Cloud hosts your game logic, databases and additional game content, plus key services you need to build and administer great games.

⇠ previous page next page ⇢