Blog

Русская версия (Russian version)

Rad SBS - simple store, site and organizer (Open Source)

Rad SBS is a simple store, site, blog and organizer built using Ruby and MongoDB.

Object Model for MongoDB

Object Model for MongoDB. Features: Models are (almost) pure Ruby Objects. Same API for Driver and Object Model. Minimum extra abstractions, trying to keep things as close to the MongoDB semantic as possible. Schema-less, dynamic (with ability to specify types for mass-assignment). Models can be saved to any collection, dynamically. Full support ...

Virtual File System (Local, S3, SFTP)

Virtual File System provides clean, simple and unified API over different storages (Local File System, AWS S3, SFTP). I/O operations: home['projects/app'].files # => ['Rakefile', 'readme'] readme = home['projects/app/readme'] readme.copy_to other_project['readme'] readme.move_to home['Desktop'] readme.write 'My Cool App' readme.update{|text| ...

Amazing HTML5 Open Source Game

Yes, it’s JavaScript / HTML5 and not the Ruby, but almost every Ruby developer also more or less familiar with JavaScript, so maybe it will be interesting. Play: http://operasoftware.github.com/Emberwind Sources: https://github.com/operasoftware/Emberwind

Interesting presentations from GoRuCo 2011

Evan Phoenix – Build it and they will come (Rubinius Edition) http://vimeo.com/27293093 True concurrency coming in the next release! eremy Ashkenas – CoffeeScript for the Well-Rounded Rubyist http://vimeo.com/27200146

Micon - silent killer of dependencies and configs

Micon allows You easilly and transparently eliminate dependencies and configs. Or, in other words, it allows You to do the followings: Split system into components that know nothing about each other except the name and a couple of public methods. Completelly eliminate any notion of configs in code. Easily override behaviour of components in ...

Virtual File System - work with remote PC as if it's local (deployment, ssh, ...)

Capistrano is great for it’s purpose, but sometimes You need not only deployment (but also install & manage things like nginx & mysql) and Your way is a little different than the opinionated ‘The Rails Way’. And in these situations using Capistrano may be a little difficult. If this is the case, then maybe You will be interested in the general ...

FakeGem fakes directories into gems

FakeGem – very handy hack that makes any directory looks like gem and greatly simplifies gem development. Forget about compiling & pushing Your gems or changing the Bundler’s Gemfile file. Yes, there’s the :path option in Bundler, but it doesn’t solve the problem – if You have multiple projects depending on multiple gems – then You have to ...

Code Statistics and the Power law (Paretto, 80-20 rule)

Last week I used CodeStats, Code Statistic analyzer to examine my own and some other projects, let’s look at use cases: complexity of Rails libraries, comparison of some Open Source projects and MongoMapper vs Mongoid Why may You need such numbers and graphs? I used it because: I wanted to find simple open source game project to examine and play ...

Rad Web Framework

The Rad Web Framework https://github.com/alexeypetrushin/rad_core The main difference from existing frameworks is that it has true OO support (all the stack – models, controllers, views, routes), allows to build an app as a set of cooperating components instead of monolith, and it’s easy to customize. It’s also simple and has small code base, ...

Common Interface

Common Interface is a tool for Rapid Web Interface Creation (more exactly, it’s the concrete implementation of the Abstract Inteface plugin). Instead of trying to provide one universal user interface API (like GWT) to fit all needs, the Abstract Interface provides you with tools that ease creation of your own custom interface. Define Your design ...

Simple Cluster Management Tool

It may be usefull if Your claster has about 1-10 boxes, and tools like Chef, Puppet, Capistrano are too complex and proprietary for your needs. It's very easy, there are only a 2 concept - Box and Service. Usage: package installation, dependencies, versioning process management, start/stop services deplyment It's designed to be used with Virtual ...

Simple approach to measure the agility and complexity of Project

UPD: new article http://ruby-lang.info/blog/code-statistics-and-the-power-law-paretto-80-20-rul-hqo When You estimate the value of new Project one of consideration – how complicated it is? How much time it’ll takes to learning, and customize it? I found a dumb simple way to rough measure it – calculate the size of source codes. Remember old ...

You underestimate the power of IoC / DI

There are rumors in Ruby community about Dependency Injection. Mainly about how someone tried it, failed and now trying to convince everyone else that DI is bad, it’s “not a Ruby way” and the “Ruby itself has an DI capabilities”. I use Micon DI as a heart of Rad Web Framwork (this site powered with it), and it tremendously simplify my work. One ...

Next »