Our company is all about cool practices of how to make our workflow better and our products stunning. We have a lot of different and complicated projects and many of them involve open-source solutions. Open Source makes every developer’s life easier and helps improve communication and development skills. Thats why everybody should at least try to get involved in an awesome Open Source project.
“OpenSource Fridays” is a new category in our blog and also a new practice at Doejo. You can take a few hours or a full day and dedicate it to some small project or idea you had in mind for a long time. Or, just cover up an awesome and powerful library you’ve been using and contributing to. Sharing is a power.
Here is a few projects and libraries I wanted to share, some of them are being used and some of them are just interesting technology innovations.
TwUI – A framework for developing interfaces on the Mac.
TwUI is a hardware accelerated UI framework for Mac, inspired by UIKit.
- GPU accelerated rendering backed by CoreAnimation
- Simple model/view/controller development familiar to iOS developers
It differs from UIKit in a few ways:
- Simplified table view cells
- Block-based layout and drawRect
- A consistent coordinate system (bottom left origin)
- Sub-pixel text rendering
pdf.js is a technology demonstrator prototype to explore whether the HTML5 platform is complete enough to faithfully and efficiently render the ISO 32000-1:2008 Portable Document Format (PDF) without native code assistance.
plax – JQuery powered parallaxing
Plax is a jQuery / Ender plugin that makes it suuuuuper easy to parallax elements in your site based on mouse position. You can see it implemented in many places throughout GitHub, including the 404 page, the 500 page, and the about page.
girl_friday – Asynchronous tasks with Ruby
girl_friday is a Ruby library for performing asynchronous tasks. Often times you don’t want to block a web response by performing some task, like sending an email, so you can just use this gem to perform it in the background. It works with any Ruby application, including Rails 3 applications.
linguist – Language detection library
Github uses this library to detect blob languages, highlight code, ignore binary files, suppress generated files in diffs and generate language breakdown graphs. Also was originally developed by Github.
split – Rack Based AB testing framework
Split is a rack based ab testing framework designed to work with Rails, Sinatra or any other rack based app, and is heavily inspired by the Abingo and Vanity rails ab testing plugins and Resque in its use of Redis. Split is designed to be hacker friendly, allowing for maximum customisation and extensibility.
active_admin – The administration framework for Ruby on Rails applications.
Active Admin is a framework for creating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort. Goals are:
- Allow developers to quickly create gorgeous administration interfaces (Not Just CRUD)
- Build a DSL for developers and an interface for businesses.
- Ensure that developers can easily customize every nook and cranny of the interface.
- Build common interfaces as shareable gems so that the entire community benefits.
chronic – Ruby natural language date parser.
Chronic is a natural language date/time parser written in pure Ruby. Chronic can parse a huge variety of date and time formats. Following is a small sample of strings that will be properly parsed. Parsing is case insensitive and will handle common abbreviations and misspellings.
- Simple: thursday, november, summer, friday 13:00, mon 2:35, 4pm, 6 in the morning
- Complex: 3 years ago, 5 months before now, 7 hours ago, 7 days from now
markup-editor – Web-based markup editor with live preview
MarkupEditor is a simple Sinatra-based web application to render html for markups. It supports Markdown, Textile and RDoc. Main feature of this app is a split-screen where you can see how the result will look like. Also the produced output has the same styles as Github’s README pages which is useful to write documentation.