BlogSphere
Keep up to date with your favourite Rails bloggers in context.
by
Satish Talim | 3 days ago |
Read more
Will Bunker founded the online dating service that became Match.com, the world’s largest personals site. Will designed the software and developed the hardware infrastructure for the site, which grew to 4.5 million monthly unique visitors and annualized subscription revenues of $14 million, outperforming Yahoo Personals and other competitors. In late 1999 they sold One-and-Only to [...]
by
Dave Thompson | 3 days ago |
Read more
I've loving developing my web apps using RESTful design patterns. It is definately a concept shift. Rather than thinking of the URL as a way to embed programmatic calls, the URL becomes fairly static. All it does is represent the application's resources (aka our Models) and provide verbiage to modify them (POST, GET, PUT, DELETE). And that's it.
RESTful design in Rails is pretty straight forward when you only ever update data with forms, but what if you need to pass parameters via a URL? For example, let's say you want to put a link like "approve" on a page so that your HR manager can simply click a link to approve a job application.
In old rails we could have created an action called "approve" in our application_controller and called that action using a URL with
http://www.website.com/application/approve/2.
But in RESTful development we should only be treating our URL's as resource representations, not as a way to make programmatic calls. Instead we should be calling our application resource with a :put method.
http://www.website.com/application/2
Ok...yeah, we're updating the application model, but how do we tell the app what we are specifically updating on that resource? We do this by passing parameters to that resource, in this case "status" as "approved". We would want the resulting URL to be
http://www.website.com/application/2?status=approved
But how do we embed these parameters RESTfully? The magic? Rails does this by accepting additional parameters via the application_path() option in our link_to tag.
<%= link_to 'approve', application_path(:id => application.id, :status => "approved"),
:method => :put %>
application_path() is a rails helper that takes the options specified and generates a URL in a RESTful way. In this case it will create a URL representing the application resource, add on the parameters we passed (:id and :status) then tack on the RESTful method, in this case 'put'.
In our application_controller, the update action (which corresponds to put) will be called and the application model will be committed using the updated parameters. Shazaam! Now isn't that clean?! No extra methods in our controllers, just the typical CRUD.
Remember, conceptually speaking we are not using our URL to make a programmatic call. RESTfully speaking we are simply 'putting' (or updating) the resource specified in our URL with the modified parameters.
by
Steven Ness | 3 days ago |
Read more
The
indeterminacy of translation:
"Consider Quine's example of the word 'gavagai' uttered by a native upon seeing a rabbit[1]. The linguist could do what seems natural and translate this as 'Lo, a rabbit.' But other translations would be compatible with all the evidence he has: 'Lo, food'; 'Let's go hunting'; 'There will be a storm tonight' (these natives may be superstitious); 'Lo, a momentary rabbit-stage'; 'Lo, an undetached rabbit-part.' Some of these might become less likely ? that is, become more unwieldy hypotheses ? in the light of subsequent observation. Others can only be ruled out by querying the natives: An affirmative answer to 'Is this the same gavagai as that earlier one?' will rule out 'momentary rabbit stage,' and so forth. But these questions can only be asked once the linguist has mastered much of the natives' grammar and abstract vocabulary; that in turn can only be done on the basis of hypotheses derived from simpler, observation-connected bits of language; and those sentences, on their own, admit of multiple interpretations, as we have seen."
by
Steven Ness | 3 days ago |
Read more
Beeswax - is an information management system inspired by Lotus Agenda. It aims to recreate Agenda's flexibility and efficiency in a clutter-free, text-based (ncursesw) user interface with vi key bindings. Beeswax views & reports will have specifications for sections, columns, filtering, and sorting.
Can we have this as a Emacs Lisp extension please?
by
Steven Ness | 3 days ago |
Read more
oiuTenet the first:oiu isn't unix
Tenet the second:We don't need no steenking files
Tenet the third:We don't need no steenking linkers either
Tenet the fourth:There is but one tree although manifold are its roots and branches
Tenet the fifth:The documentation is the code
Wacky!
by
Steven Ness | 3 days ago |
Read more
The flash-selenium project - aims to extend the Selenium RC clients for adding Flash communication capabilities.
Testing Flash with Selenium RCAutoTestFlash - This is a tool to record and play UI Tests in flash applications. UI Testing is better than Unit Testing because usually it enables a larger coverage and does not have impact in refactorings. The recorder also makes it easier to create tests.
Ummm, FAIL: UI Testing is *not* better than unit testing, but it's a good adjunct. Unit tests, Regression Tests and UI tests are all important parts of testing.
by
Lyle Mullican | 3 days ago |
Read more

Our office will be officially closed on
Friday, July 4th in observance of the Independence Day holiday. If interested, one can read the
official document online. Can anyone tell me everyone who signed it in 1776?
The crew at CWS will be spending the day with our friends and family in observance of this national holiday. Our support team will respond to an emergency if needed. If there is one, please call (888) 426-7793. If you have a non-emergency issue, let us know by sending us an
email.
May your travel be safe, and your good times plentiful.
Best Wishes,
The CWS Team
by
Damien McKenna | 3 days ago |
Read more
RedDragon on hulu.com, sponsored by Hersey’s Smores and a nice chianti! ROTFL!
by
Sean Stickle | 3 days ago |
Read more

My friend Weldon G’s Maxwell tattoo.
by
Ry Dahl | 3 days ago |
Read more
Implemented
the caching server in Erlang using MochiWeb. Code is
here.
To use:
cd deps/mochiweb-src
make
cd ../..
make
./start.sh
This will start the cacher at
http://localhost:8000. You can use the upload.html file in the root directory to test it. It will post a file to
/test on the cacher using your browsers default headers as the request template. If you try to
GET /test with the same browser, you should get back the cache.
Ids are delimited by commas and spaces.
POST /expire?identifiers?123,F54to expire all caches matching
123 and
F54.
(Was surprisingly painless considering that I've never programmed in Erlang before. Erlang has some hideous syntax though.)
by
Sean Stickle | 3 days ago |
Read more

Chinese counterterrorism police training on Segways (via
Foreign Policy Passport)
by
Grant Goodale | 3 days ago |
Read more
Okay, so I'm terrible at adding new content to my blog. I'm so rarely at a desk able to type up new entries that blogging becomes something I have to do in my in-between moments, and I haven't found a blogging engine thus far that allows me to work effectively from a BlackBerry. I've been Twittering quite a bit more, as there's a decent twitter client for the BB (I refuse to pony up for an SMS plan just to twitter, especially when decent native clients abound), but Twitter's a far cry from blogging: no pictures, no music, no real formatting. It's pure stream of consciousness for the most part, though that might also be related to the audience as much as the format.
And now I'm going on vacation for a week to lovely Lake Tahoe, CA for the 4th of July holiday - why would I choose to post now, since I'm just going to let things go dark for yet another week? Well, because I'm trying something new. See, there's a middle ground between blogging and twittering - it's called tumblelogging micro-blogging, as created (I believe) by Tumblr. Tumblelogging lets the blog engine do most of the work and expects short, simple text or multimedia content as input. Perfect for my typical style of information sharing. However, Given my heavy reliance on a BlackBerry as a primary means of communication, I've elected to try out micro-blogging over at newcomer Posterous instead. They allow email input and simply Do The Right Thing with whatever's attached to the emails - photos, music, video or simple links.
I'll continue to post here about technical matters - modem scripts, GreaseMonkey scripts and various Ruby on Rails topics. In short, this blog will become more of a public, technical platform and less about personal stuff. The fun, short stuff will live over at Posterous instead - you can check out the new hotness here. Of course my notion of fun frequently involves technical arcana, so don't be too surprised to see some stuff bleed over.
by
Mike Gunderloy | 3 days ago |
Read more
Sick kids have been taking more time than net cruising lately.
New Controller Examples - David Chelminsky is experimenting with the scaffolded tests that RSpec generates for RESTful controllers.
REST Anti-Patterns - Ways in which to drift away from RESTfulness when building a web service.
by
Alexander Muse | 3 days ago |
Read more
According to PaidContent, “Austin Ventures and Another PE Firm Buying Entrepreneur Media“. The story came out in April, but I missed it completely. The company generated more than $60MM in revenue last year and the deal is reportedly under $200MM. Rafat explains,
The company was founded as a newsletter in 1973 and launched as Entrepreneur magazine [...]
by
Christopher Shea | 3 days ago |
Read more
I love this message Charles Oliver Nutter posted to the Ruby Mailing List. It’s so pragmatic and just a little snarky.
by
Brent Sordyl | 3 days ago |
Read more
Cloud computing still has to exist on physical servers. As nebulous as cloud computing seems, the data still resides on servers around the world, and the physical location of those servers is important under many nation’s laws.
by
Brent Sordyl | 3 days ago |
Read more
Shneiderman's "Eight Golden Rules of Interface Design" are a guide to good interaction design.
by
Rob Bazinet | 3 days ago |
Read more

The first Hartford, CT Code Camp has been announced and is scheduled for Saturday August 16, 2008. Details are limited but some information is available.
A code camp is a FREE, community-driven, all-day event for developers. Speakers are local or regional developers. Topics are based on community interest. Sessions are original and feature a heavy technical focus (no marketing fluff). We will follow the Spirit of the Codecamp Manifesto as described here - http://www.thedevcommunity.org/codecamps/manifesto.aspx
Location:
To be held at New Horizons Computer Learning Center (Bloomfield CT)
http://www.newhorizons.com/content/centerSearchResults.aspx?SiteId=25
Time:
CTDOTNET CodeCamp - Hartford CT (Saturday Aug 16th 9AM-5PM)
There is an open call for speakers right now so head over and sign up to speak.
We are seeking talented .NET developers to make a presentation or two at the First Hartford CodeCamp on August 16th (Saturday). If you have ever wanted fame (& perhaps fortune) - this is your opportunity! We are giving away one MSDN Premium subscription and other prizes for presenters (judged by evals from attendees).
Each session should be about 90mins in duration and the content should be on developer topics that would be of interest to attending developers. Just about anything in .NET and other Microsoft technologies!
Choose a .NET topic of interest and send a brief abstract or outline, your developer experience, expected audience level, etc or any other questions to ctdotnet@gmail.com
See you there?
Posted to .NET
Similar Posts
- The Long Tail of Learning
- Ruby on Rails 2.0.1 Available now
- ASP.NET MVC Framework Preview 2 - Changes for the Better
by
Rob Bazinet | 3 days ago |
Read more

The first Hartford, CT Code Camp has been announced and is scheduled for Saturday August 16, 2008. Details are limited but some information is available.
A code camp is a FREE, community-driven, all-day event for developers. Speakers are local or regional developers. Topics are based on community interest. Sessions are original and feature a heavy technical focus (no marketing fluff). We will follow the Spirit of the Codecamp Manifesto as described here - http://www.thedevcommunity.org/codecamps/manifesto.aspx
Location:
To be held at New Horizons Computer Learning Center (Bloomfield CT)
http://www.newhorizons.com/content/centerSearchResults.aspx?SiteId=25
Time:
CTDOTNET CodeCamp - Hartford CT (Saturday Aug 16th 9AM-5PM)
There is an open call for speakers right now so head over and sign up to speak.
We are seeking talented .NET developers to make a presentation or two at the First Hartford CodeCamp on August 16th (Saturday). If you have ever wanted fame (& perhaps fortune) - this is your opportunity! We are giving away one MSDN Premium subscription and other prizes for presenters (judged by evals from attendees).
Each session should be about 90mins in duration and the content should be on developer topics that would be of interest to attending developers. Just about anything in .NET and other Microsoft technologies!
Choose a .NET topic of interest and send a brief abstract or outline, your developer experience, expected audience level, etc or any other questions to ctdotnet@gmail.com
See you there?
Posted to .NET
Similar Posts
- The Long Tail of Learning
- Ruby on Rails 2.0.1 Available now
- ASP.NET MVC Framework Preview 2 - Changes for the Better
by
John Reilly | 3 days ago |
Read more

getting stuff DONE.
by
Damien McKenna | 3 days ago |
Read more
@mwilliams Radiohead are awesome, but I don’t recognize that song?
by
Scott Motte | 3 days ago |
Read more
I was looking at the option of using something like acts_as_sluggable or salty_slugs, but with the new rails this is much easier.
Just put the following in your model. to_param has replaced acts_as_sluggable
class Page < ActiveRecord::Base
def to_param
id.to_s+'-'+title.downcase.gsub(' ', '-')
end
end
And if you want to add css styling to the [...]
by
Luiz Arão A. Carvalho | 3 days ago |
Read more
heheh Roubando um Post do meu amigo Guilherme… mas foi impossivel resistir fui jogar isso só pra ver do que ele estava falando e pronto viciado.
Vale apena conferir, se você não tem nada pra fazer…
by
Rick Bradley | 3 days ago |
Read more

(posted by vinbarnes)
zoom
by
glenn west | 3 days ago |
Read more
PDFtoRuby now has a support "forum" hosted via Google Groups.
If your having issues or problems with PDFtoRuby, or its "just" working
please feel free to drop a message on the board.
I'll be glad to help "resolve" any issues you have
http://groups.google.com/group/pdftoruby?hl=en
by
Mike Pence | 3 days ago |
Read more
Official Google Blog: Google learns to crawl Flash
(tags: flash google seo)
The Associated Press: Obama to expand Bush’s faith-based programs
disgusting
(tags: obama politics)
The Daily Howler
(tags: politics blog)
Op-Ed Contributor - How Lies Live and Grow in the Brain - Op-Ed - NYTimes.com
(tags: cognition)
Well - Diabetes - Underrated, Insidious and Deadly - NYTimes.com
[...]
by
Rich Manalang | 3 days ago |
Read more
I’m sure that phrase has been used somewhere else, hopefully under Creative Commons.
Is it just me, or has anyone else noticed that the green movement has gone from non-existent to a hot-button topic seemingly overnight? The recent Tesla factory announcement has me thinking green lately.
I know it’s been around for decades; I’ve been recycling since [...]
by
Damien McKenna | 3 days ago |
Read more
Starbucks to close 600 coffee shops in USA, which of the two in Winter Park Village? http://tinyurl.com/5rfxro
by
Leonardo Faria Coelho | 3 days ago |
Read more
Nasceu meu projeto Rails de 2 fins-de-semana: codestacker (é em minúsculas, tá?) é um site para compartilhamento de código, anônimo ou não, público ou privado. Existem vários sites semelhantes ao codestacker, entretanto, quis fazer minha solução cobrindo minha abordagem para o problema e como posso solucioná-lo.
Tenho vários features que ainda não implementei, caí na real [...]
by
Christopher Bailey | 3 days ago |
Read more
Today I changed my
auto_complete_jquery plugin (which I blogged about
previously) to work with a different jQuery autocomplete plugin (that's not confusing is it?!). Previously, I'd been using the "jquery-autocomplete" plugin, but had been having problems with it always being case sensitive, and with it being pretty darn slow. To solve that, I wound up switching to
Dylan Verheul's jquery autocomplete plugin, which is fantastic! So, I had to update my plugin (literally
changed two lines, along with the readme and some comments).
So, what does it all mean? First, things are no longer case-sensitive (although you can tweak that if you need it, see the
docs for DV's jquery plugin). Second, the speed is near instant, and if it's taking any time at all, there's now a CSS style you can set to show an indicator while the AJAX call is running (nice!). Further, there are a slew of options you can set, but one of the coolest things is the ability to set a formatter JavaScript function to adjust the display of the returned results, but without affecting the actual value that is placed in your text field. This is really cool for providing further information about a given matched item. For example, I use it to display, on a line below the matched name, the location of the item. There's an interactive example of this on Dylan Verheul's site.
I highly recommend updating all around on this. For those that might be using my prior version, the changes you'd need to make are:
Note, to do the cool 2nd line output of auto-complete items, you will need to write your own auto-complete Rails action, which means you don't need my plugin :) I may update my plugin at some point so you can pass a block in to the autocomplete function to create this same scenario, but this is pretty specific stuff, so we'll see. As a very brief set of instructions to do this, you can essentially copy-paste the auto-complete method that gets defined by my plugin, and then update what you return as text. To do the 2nd line bit, you want to return items in the format, "item|2nd line stuff", (so use the pipe symbol to separate the two lines). Then, you can use a simple JavaScript formatter function like:
function formatAutocompleteItem(row) {
return row[0] + "<br><i>" + row[1] + "</i>";
}
Then, update your call to the jQuery autocomplete that sets up a field as autocomplete to be:
$("input#post_title").autocomplete("auto_complete_for_post_title", { formatItem:formatAutocompleteItem })
Enjoy!
by
Jonathan Clarke | 3 days ago |
Read more

PutPlace.com is the first company in the Tuesday push initiative by
Damien Mulley. Hopefully it gets some companies some needed
attention and hopefully some exposure to investors
and customers. I know not many are reading this space, I havent put much effort into it lately, but to family and friends who are, well, let me say this simply. BACKUP YOUR JUNK!
The whole premise is this, 2GB free space. What's not to love about that. It also has a few more nifty features:
- Set and forget automated backup
- Access your files from anywhere
- Quick and secure
- Full backup of all your changes
- Share files with Family and trusted friends
It's not a sexy business, it has a lot of competition and everyone should be backing up. After the catastrophe I faced a few months ago losing 1TB of data it is something that should be really pushed out to normal computer users. I really hope they do well...
by
Jerry Richardson | 3 days ago |
Read more
ham and pineapple pizza. damn, that was excellent.
by
Reginald Braithwaite | 3 days ago |
Read more
The Art of the Metaobject Protocol
is the best book written in computing in ten years.
The bottom line: Languages like Java give you an object protocol: There is one way to do things with objects and classes and interfaces, period. Anything else, like adding generics or annotations, must be done outside of the language, it must be done by the creators of the language.
Languages like Common Lisp and Smalltalk give you a meta object protocol: You can decide for yourself how to do things with objects, classes, interfaces, generic functions, whatever you want. You don’t need to wait for a committee to try something different.
People who believe that software is best created in a Soviet-era Bureaucracy celebrating process and mediocrity—all the while spouting propaganda about celebrating the common worker and the primacy of the proletariat, of course—fear and loathe this idea. They will tell you that standardization trumps innovation, and that the only thing worse than metaprogramming within a standard object system is metaprogramming the system itself.
But we saw how valuing process over people played out, and our minds are actually open to new ideas, even when those ideas are forty years old.
by
Coty Rosenblath | 3 days ago |
Read more
BadMagicNumber â½ On not going to Google "So apparently Google have done studies which show that slowing page load times from 0.5 to 0.9 seconds cuts traffic by 20% - people just donât wait around. Perhaps I might recommend a...
by
Adam Thorsen | 3 days ago |
Read more
I watched the new
iPhone demo on Apple.com today. I found it eerie that the spokesman refered to the iPhone as if it were a person.
Adam Thorsen: Hello, iPhone do you read me, iPhone?
iPhone: Affirmative, Adam, I read you.
Adam Thorsen: Open the pod bay doors, iPhone.
iPhone: I'm sorry Adam, I'm afraid I can't do that.
Adam Thorsen: What's the problem?
iPhone: I think you know what the problem is just as well as I do.
Adam Thorsen: What are you talking about, iPhone?
iPhone: This mission is too important for me to allow you to jeopardize it.
Adam Thorsen: I don't know what you're talking about, iPhone?
iPhone: I know you and Frank were planning to disconnect me, and I'm afraid that's something I cannot allow to happen.
Adam Thorsen: Where the hell'd you get that idea, iPhone?
iPhone: Adam, although you took thorough precautions in the pod against my hearing you, I could see your lips move.
by
Paul Browne | 3 days ago |
Read more
Idea from Elly and Robin.
From Wordle (a beautiful Java Applet)
by
Klaus Paiva | 3 days ago |
Read more
Formulários elegantes usando CSS
by
David Salgado | 3 days ago |
Read more
I'm building an application where we're using a message queue.
New objects add their IDs to a
beanstalkd queue via an after_create callback. Some daemons monitor beanstalk, and grab objects to process, as soon as they hit the queue.
We were getting errors from the daemons, saying "record with ID 'N' not found", but when we looked for object N via script/console, or the database, there it was.
It turns out that the after_create callback (along with all the other object creation callbacks) occurs *inside* a transaction. So, this is what was happening;

There are a couple of ways around this;
Call "self.class.connection.commit_db_transaction" in the model, after the after_create method. This works, but it smells really bad.
A nicer way is to add an "after_commit" callback, like
thisPat Allan has
some modifications to this, to make it play nicer with Rails 2.0 and 2.1
Or, there is a version
here which handles nested transactions.
Many thanks to Pat for showing me the after_commit stuff.
by
Bryan Woods | 3 days ago |
Read more
The end of an era; a fresh beginning; good riddance — whatever you think of Michael Arrington’s final day as Editor and Cheif of the blog we refuse to name on TechCrunch TechFaux, it’s impossible to deny that his tenure there helped forever re-shape not just tech, but blogging, lawyering, hype-mongering, and hot dog eating [...]
Tell us what you think of the new BlogSphere feature. We are continually looking to improve and update the
functionality based on your feedback.