What non-trivial Ruby applications exist? [closed] - ruby

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What publicly available open source Ruby applications (not frameworks) exist apart from web applications?
This question is similar to Ruby off the rails , except that's about anecdotes of what Ruby applications they've created, which aren't necessarily publicly available.
These applications should be non-trivial: ideally multiple committers, with well-designed code to handle the complexity of their task.
One example would be the Metasploit Project.
Background: Asking in response to Framework for non-web Ruby project, where I realised that I haven't seen any examples of Ruby applications that aren't one-person projects.

Take a look at Chef. This Ruby project is becoming the de-facto tool for managing cloud architectures.

Have you seen hackety hack? Non-trivial, but you will find plenty of interesting ideas in the source code if you're adventurous. Being written by _why, it's pretty fanciful.

There are a number of Mac OS X applications written in Ruby-Cocoa (LimeChat is an example; I think Colloquy used to be, though its website implies that that may have changed).
As far as not seeing Ruby projects by more than one person...huh? True, most open-source Ruby development these days seems to be in the Rails world, but within that community there are lots of huge projects with many developers.
You might ask this question on the Ruby mailing list; you'll almost certainly get more good answers.

Related

Why do Puppet and Chef use Ruby? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
We all know that Puppet and Chef are the superstars of the IT automation area, and they are developed in Ruby (though Chef 11 server was rewritten in Erlang).
In my working environment, a very large group of the operations team uses Python as the primary language to develop operation tools or basic system applications.
I want to find why both Puppet and Chef were written in Ruby? What are the advantages? Ruby supports DSLs well. Can Python do such thing?
From Luke Kanies, Puppet’s author:
I was a sysadmin by trade and had mostly developed in perl, but when I
tried to write the prototype I had in mind, I couldn’t get the class
relationships I wanted in perl. I tried Python, because this was
around 2003 and Python was the next new thing and everyone was saying
how great it is, but I just can’t seem to write in Python at all. A
friend had said he’d heard Ruby was cool, so I gave it a try, and in
four hours I went from never having seen a line of it to having a
working prototype. I haven’t looked back since then, and haven’t
regretted the choice.

Recommendation of a combination of Graph DBs/Language [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm starting a new project that will rely on social network graphs.
I looked on Neo4j.rb. Because of the lack of full ActiveRecord compatibility, I have to review code that should just work.
Trying to use the basics described in here, I am stuck on missing methods find_by_provider_and_uid, while using Devise requires a fork to work with Neo4j.rb.
Other alternatives each has it issues. For example:
Neography get's me writing Cypher syntax
Pacer has almost no documentation
Has anyone built a purely neo4j/orientDB project that implements modular authentication (OpenID, Twitter and Facebook)?
If so, what framework and language would you recommend?
Max De Marzi deployed a number of applications on heroku using Facebook and twitter APIs (and also OpenAuth). See http://maxdemarzi.com
And cypher is the way to go for the future, there is also a framework on top of neography called neoid that adds Rails support. (https://github.com/elado/neoid)
Neo4j.rb is for embedded deployment, i.e. you run Neo4j within your webapp.

What are the common / noteworthy uses of meta programming in Ruby? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've been working with Ruby and many of it's web frameworks for about a year now.
I am aware that rails is built largely using 'meta-programming'. And while I have tried to inspect the source, often not all of it makes sense.
I tried to publish a small gem, and used a few methods like _send, instance_eval, class_eval which was cool but as a general principle we are told to stay far away from eval in it's various forms.
Other programming constructs I know where I can use. Like data serialization in applications or where I can / should implement the Builder Pattern when making web apps.
My question is in two parts:
What are the common or apt use cases / programming problems for which meta-programming is used?
When using the meta-programming bits of ruby, what are the best practices that I should follow?
Have you ever used attr_accessor? Then you have used metaprogramming: it is a method that generates methods.
I have found that meta-programming is largely the domain of library APIs. Often you won't use much of it directly when creating an end-user application. But you can be sure, the many gems your application depends upon do use it extensively. Rails is a perfect example. It uses a great deal of Ruby's meta-programming chops to make all that Rails magic possible.

What are the good machine learning and data minning libraries for Ruby or is there any? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I plan to do some ML programming on Ruby on Rails project and I am searching for any ML framework on Ruby. I searched on Google of course but cannot find any satisfying one so I decide to consult to crowd's wisdom.
I would not say there are any 'good' library for machine learning written in pure ruby since machine learning is fairly computationally expensive. A good library will likely wrap a c interface to a well known library. So you could try and find a good c library and create a ruby wrapper of the library.
An alternative would be to use JRuby and import a java based library. Here is an article about importing weka.
http://rubyforscientificresearch.blogspot.ca/2009/08/accessing-weka-from-jruby.html
There may be application specific libraries for what you are doing using machine learning? If you are trying to do recommendations try the recommendify gem.
Another alternative is to use a webservice. There is the google prediction api which has a ruby client.

Alternative to OSGi? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I need to implement a remote management system that does the following tasks on remote devices-
1) Install Software,Firmware.
2) Install Upgrades of the Software,Firmware.
3) Monitor the state of the installed software,Firmware.
OSGi can be one of the framework to achieve this, but it only supports bundles written in Java(implementations for C/C++ are available but they are not matured). I was wondering if there are any other alternatives that can manage software written in any language.
I've seen this question come up from time to time, but I don't think there is, and I doubt there will be,especially on mobile devices. Getting an API that 'feels good' regardless of language is pretty much impossible, and you need to interface with how a particular platform handles its updates. Provisioning OSGi components is just fundamentally different than updating an iOS app.
Then again, I'd love to be proven wrong on this one;-)
maybe you could have a look on MEF (Managed Extensibility Framework). Its for dotNet development and similar to OSGi. But I am more familar to OSGi as to MEF so I cannot tell the differences. I only heard from a C# pro that they have MEF instead of OSGi ^^

Resources