user_agents is a Python library that provides an easy way to identify/detect
devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings. The goal is to reliably detect whether:
-- User agent is a mobile, tablet or PC based device
-- User agent has touch capabilities (has touch screen)
user_agents relies on the excellent ua-parser to do the actual parsing of the
raw user agent string.
quilt is a collection of bash scripts to manage a series of patches by
keeping track of the changes each patch makes. Patches can be applied,
un-applied, refreshed, etc.
The key philosophical concept is that your primary output is
patches. Not ".c" files, not ".h" files. But patches. So patches are
the first-class object here.
Quilt was originally based on Andrew Morton's patch scripts published
on the Linux kernel mailing list.
This project provides the Java-based implementation of the
Simple API for Binary REpresentations (SABRE). The library
defines observer-pattern interfaces for processing hierarchically
structured, binary-oriented documents, comparable to the Simple
API for XML (SAX). Processing can be modularized into a streaming
pipeline composed of separate stages, enabling the parsing,
transformation and serialization of large binary documents.
UDFLib is a Java-based implementation for creating UDF filesystem
images for DVDs according to ISO 13346, also known as ECMA-167.
arrayfields allow keyword access to array instances.
arrayfields works by adding only a few methods to arrays,
namely #fields= and fields, but the #fields= method is
hooked to extend an array on a per object basis.In
otherwords __only__ those arrays whose fields are set
will have auto-magical keyword access bestowed on
them - all other arrays remain unaffected.arrays with
keyword access require much less memory when compared
to hashes/objects and yet still provide fast lookup and
preserve data order.
Maintain your program versions entirely within git. No local files required! All
versioning information is stored using git tags.
This gem contains a command-line tool and set of Rake tasks to increment and
display your version numbers via git tags, and some associated Ruby code to use
inside a gemspec or your program to retrieve the current version number, for use
in builds and at runtime.
Swank Clojure is a server that allows SLIME (the Superior Lisp
Interaction Mode for Emacs) to connect to Clojure projects.
To use it you must launch a swank server, then connect to it from
within Emacs using M-x slime-connect.
For example:
(ns user (:use [swank.swank :as swank]))
(clojure.main/with-bindings
(swank/ignore-protocol-version "2010-06-04")
(swank/start-server "/dev/null" :port 4005))
Just replace "user" with your preferred namespace.
The Platform library offers a simple, reliable, means of determining
what platform Ruby is running on. Underlying Platform is the
RUBY_PLATFORM constant. This library is parsing this constant for
information. You could easily do this yourself. We've just taken the
hassle out of it for you and hopefully covered a few of the more
unusual cases you mightn't have thought of yourself.
PryRemoteEm enables you to start instances of Pry in a running EventMachine
program and connect to those Pry instances over a network or the Internet.
Once connected you can interact with the internal state of the program.
It's based off of Mon-Ouie's pry-remote for DRb.
It adds user authentication and SSL support along with tab-completion and
paging. It's compatble with MRI 1.9, or any other VM with support for Fibers
and EventMachine.
RSpec is a framework for practicing Behaviour Driven Development (BDD) in Ruby.
The aim of BDD is to address the shortcomings of Test Driven Development and,
by using terminology focused on the behavioural aspects of the system rather
than testing, attempt to help direct developers towards a focus on the real
value to be found in TDD at its most successful, or BDD as we call it.
Sidekiq-Cron is a scheduling add-on for Sidekiq.
It runs a thread alongside Sidekiq workers to schedule jobs at specified times
(using cron notation * * * * * parsed by Rufus-Scheduler).
It also checks for new jobs to schedule every 10 seconds and doesn't schedule
the same job multiple times when more than one Sidekiq worker is running.
Scheduling jobs are added only when at least one Sidekiq process is running.