public marks

PUBLIC MARKS from pvergain with tag ruby

May 2007

MicroApps - Microapps.org

by 2 others
MicroApps are small REST applications that are designed from the ground up to be integrated with other applications. Usually, they are not directly useful on their own, but must be integrated into other applications (this is what differentiates a MicroApp from a regular REST application).

March 2007

Using the Rake Build Language

by 3 others
Rake is a build language, similar in purpose to make and ant. Like make and ant it's a Domain Specific Language, unlike those two it's an internal DSL programmed in the Ruby language. In this article I introduce rake and describe some interesting things that came out of my use of rake to build this web site: dependency models, synthesized tasks, custom build routines and debugging the build script.

Python, Ruby, Testing

That aside, despite appreciating both languages, Andrzej feels that he learns more from the Ruby community. I mentioned earlier that Andrzej isn't a language zealot. He is a zealot for agile development techniques. What he appreciates about both Ruby and Python is that they are languages that assist and encourage in the production of beautiful and elegant code. He cares about the beauty of his code, ugly code offends him. Smile This is something that I started to appreciate with Python, and why I fell in love with it. It is also what makes the art of software creation so beguiling. Not only can we solve problems, but we can do so in ways that are elegant. Beautiful code is easier to understand, is a clearer expression of the programmers intention (a concise encapsulation of concepts), and is therefore more reliable and easier to maintain. This is why domain specific languages are important. They emphasise that code should be the clearest expression of meaning possible, and this is often exemplified in the declarative style. You write code that says what you mean, and then provide a framework which interprets this in ways the computer can understand. See this blog entry, about a PyCon talk, for an example of writing a DSL with Python. For Andrzej, and also now for me since joining Resolver a year ago, agile practises like test driven development are an important part of creating beautiful code. This is what Andrzej means when he says that he learns more from the Ruby community than from the Python community. Part of this probably stems from his longer involvement in the Ruby community, but he feels that he learns more about effective testing (and explorations of other subjects about methodologies that are not specific to any individual programming language) when reading Ruby blogs than Python blogs. I have to say that in the Python blogosphere it does seem like there is not a huge emphasis on testing and test driven development, and the nuances of when to test and when to mock. That isn't to say there is no-one talking about it, just not a focussed exploration of these issues. There are exceptions (and feel free to disagree with this point). Grig Gheorghiu is a notable and important exception to this. (Andrzej and I were fortunate to meet Grig at PyCon, although only briefly, and I regularly point Andrzej to interesting posts on Grig's blog.) Not only does he blog regularly about testing, but he has also just started the Testing in Python mailing list. Hopefully this will become a focal point for the Python community in discussing and refining testing tools and practises.

January 2007

XML.com: Making XML in a Rails App

by 1 other
Trivial, but interesting example.

December 2006

RubyInstallerWiki: RubyInstaller

by 3 others
This is a [one-click, self-contained Windows installer] that contains the Ruby language itself, dozens of popular extensions and packages, a syntax-highlighting editor and execution environment, and a Windows help file that contains the full text of the book, Programming Ruby: The Pragmatic Programmer's Guide.

pvergain's TAGS related to tag ruby

construction +   python +   rails +   rake +   rest +   testing +   tools +   web2.0 +   xml +