Articles

Why learning HTTP does matter

It’s interesting to notice that there’s so many people working with web applications that don’t understand the basics of the Internet and the HTTP protocol. You might find applications that exibit bizarre behaviors anywhere, people just forget to read the specs or sleep during the HTTP protocol classes at college.

XMPP/Jabber with Ruby

XMPP

Technical editing by Joshua Sierles, sysadmin at 37signals.

Content by Geoffrey Grosenbach in collaboration with Casimir Saternos.

Part of our job at PeepCode is to research new and upcoming technologies that alpha geeks are talking about. XMPP/Jabber instant messaging has been getting more buzz recently. What is it? What does it do? How can you use it to enhance your applications?

Two Shoulda best practices

In praise of Shoulda macros

Shoulda contexts let you to share setup code between different tests. This is for me one of Shoulda’s most attractive features.

When you combine this with the technique of defining your own macros to encapsulate assertions or setups that come up often, you end up with seriously DRY and readable tests.

I see a few different kinds of Shoulda macros:

Assertion macros

Assertions macros often begin with should_. They encapsulate one or a few assertions.

Happy Halloween


Damn The Standards And Full Read The Documentation!

Do not let conventions prevent correct behaviour.

Often within an ActiveRecord::Base model, statements of a certain ilk are grouped together. For example the single line validations are often in the same place. It is tempting to place additional statements such that the model file is consistent. One might put all the before_destroy callback macros near the before_save or after_save statements.

Without loss of generality the following example models illustrate a behavioural anomaly that was encountered.

Google with our Web Applications...

With the release of Googles browser Chrome, as Web Developers I think we could take a few pointers that I am sure we all know about but sometimes we need to be reminded.

Technology

Google wanted to introduce a browser that had multiprocess architecture. Other browsers, if one of the tabs crash the whole browser crashes. In our web applications we need to take advantage of new technology like Rails 2.2 and develop applications that are innovative making use of technology to develop new concepts and ways of solving a problem.

GIT with branches

Review: Envy Casts Ruby on Rails 2.2 Screencast

A couple days ago, I spent $9 on the Rails Envy guys’ latest screencast, covering the new features in Rails 2.2. I had not checked out their first screencast, but I had heard about their green screen. They have taken a unique approach to screencasting by putting themselves right in front of the code and graphics, and I was very curious to see how it works in practice. I’ll tell you now that I was blown away.

vim.merge!(rails)

After meeting tpope and pair programming with reinh I got to see the power of vim. I have never used vim before so this is all new to me. I've been using TextMate exclusively since starting Rails a few years ago. I came to work and started in on a pursuit of how I can do in vim what I do in Textmate. While on this quest, I will document along the way some useful tips that may help you too.

Recursive git: rgit

Here’s a little helper that runs a git command on every repository found in subdirs. Put the following ruby code into a file called rgit, make it executable and save it to a bin directory, like /usr/local/bin:

Mac OS X | Rails Fire

Mac OS X

Painfree Continuous Integration with Hudson and Vagrant

http://drnicwilliams.com/2010/11/09/making-ci-easier-to-do-than-not-to-with-hudson-ci-and-vagrant/ (or on Ruby Inside)

Ruby 1.9.2 Released

Yuki (Yugui) Sonoda has just announced the release of the stable version of Ruby 1.9.2!
Ruby 1.9.2 has been released. This is the newest release of Ruby 1.9 series. Ruby 1.9.2 is mostly compatible with 1.9.1, except the following changes:

The Why, What, and How of Rubinius 1.0’s Release

Rubinius or GitHub repo, an alternative Ruby implementation that's built in Ruby itself - as much as possible, has this last weekend hit the coding equivalent of a Bar Mitzvah..

RDropbox: A Ruby Client Library for Dropbox

Dropbox is a popular file hosting service (4m+ users) that provides synced backup and file hosting to OS X, Windows, and Linux users. You get up to 2GB of space for free.

Visually Inspect Ruby Object Models with DrX

When you want to inspect your objects in Ruby, Object#inspect, p, or awesome_print are all valuable. You're stuck with plain-text, though, and primarily designed to look at object data rather than object models.

11 New Ruby Delights (For If/When You’re Tired of Rails 3.0)

no-rails-allowed.gifSick of Rails 3.0 yet or still enjoying your Sinatra, Rango, Ramaze,

Using Concentrate for the Pomodoro Technique on OS X

concentrate.png

Homebrew: OS X’s Missing Package Manager

Managing software packages on Unix has always been, to put it politely, a giant pain, and most Linux distributions are built around the different ways we’ve all been trying to alleviate that pain. In this post, I’ll walk you through Homebrew, a fantastic new option for package management made simple.

8 Chrome Extensions For Web Developers (Mac too!)

I’ve been using Google Chrome as my default browser ever since 1Password came out with an extension for Chrome. The state of web browsing on the Mac still, unfortunately, leaves something to be desired. However, after using this full time for a little while I can say that I’m really liking it. As a web developer I have a need for good developer tools in a browser. For that, Firefox and Firebug will always be king of the hill. Daily browsing and light development in Chrome has been suiting my needs just fine.

Introducing Cramp

Cramp is the latest entry on the ruby web frameworks list. However, unlike all the others, Cramp is an asynchronous framework, always running inside EventMachine reactor loop. Cramp isn’t a good fit for most of the web applications out there. However, Cramp is good at holding and working with a large number of open connections. Hence it’ll work great for things like comet, long polling, streaming API or even when your application needs to handle thousands of concurrent connections.

Syndicate content