http://www.planetrubyonrails.com/ - Feb 9, 2012 1:09:49 AM - Dec 1, 2004 7:26:52 AM
Posted about 14 hours back atPosted about 19 hours back atPosted 2 days back atPosted 3 days back atPosted 3 days back at
Posted about 9 hours back atPosted about 13 hours back atPosted about 13 hours back atPosted about 19 hours back at Railscasts
#322 RABL
RABL - Ruby API Builder Language - provides a DSL for generating JSON or XML responses in a Ruby application. Learn how to share and configure complex JSON data in this episode.
Brainstorming doesn't work
Posted 1 day back at The Chris O Show - HomeThe Jan 30 edition of the New Yorker has a fantastic article by Jonah Lehrer about brainstorming. Read it here: GroupThink by Jonah Lehrer (subscription required).
The conclusion of the article is quite surprising. Studies show that groups using brainstorming techniques churn out fewer ideas than if the individual participants had written down a list of ideas on their own. Also, the ideas that were generated were poorer quality than the individual efforts.
The ineffectiveness of brainstorming stems from the very thing that we thought made it important – not critiquing other’s ideas.
From the article:
“Debate and criticism do not inhibit ideas but, rather, stimulate them relative to every other condition,”
Lehrer explains that the key to a productive group thinking session is to encourage debate and dissent. When someone says something that you don’t agree with it gets the brain working, and forces you to question your assumptions. Rather than spit out any random thing, you actually have to think!
So, let’s put this into practice! But how do you have a reasoned debate session that doesn’t erupt into a heated argument?
1. Appoint an adjudicator
Make sure someone is in control. Their job is to keep everyone on topic and to ensure that everyone gets a fair say.
2. Critique the idea not the person
Instead of saying ‘You are wrong’ say ‘I disagree with you’. The key is to focus on what people are saying.
Also avoid inflammatory phrases. As soon as you say “That’s a stupid” it sounds like you’re saying “You are stupid.” This naturally causes people to get defensive and guarded. If the idea is stupid, explain ‘why’ it’s stupid.
12 Angry Men - the best way to come to an agreement?3. Listen
Reasoned debate requires one person speaking at a time while the group listens. Put your pride aside and listen to what people have to say. Don’t interrupt when someone’s saying something that sounds dumb, instead make notes on a piece of paper so you can plan your response. Let them have your say, and when they’re done let ‘em have it.
4. Stay on target
Make sure there’s a focus for what you’re trying to discuss. A great way to encourage this is to phrase the problem like a question and have it written down in big letters for all to see. If the adjudicator is spotting someone going off target they can then swing them back to the topic by asking “How does this solve x?”
5. Have a time limit
Debates can get tiresome – especially if you’re not sure how much longer you have to go! Make your group thinking sessions last no longer than 25 minutes. Any shorter and you don’t have enough time for a proper debate, any longer and people lose interest and their brains get fried.
Posted 1 day back atPosted 3 days back atPosted 3 days back at
Your next great teammate
Posted about 3 hours back atEvery company we speak with could use a great web designer or developer on their team. We think we know where to find such mysterious figures.
What does a great teammate look like?
Imagine a programmer next to you, noise-canceling headphones on, punishing his keyboard with forceful blows, punctuating each change by slamming the heels of his hands against his desk. While tests run, jolly meme photos float into Campfire.
Imagine this person writing test-first code that is pushed to production each day. Imagine them refactoring ruthlessly and making other team members stronger through feature branch code reviews.
37signals doesn’t have to imagine. Nick Quaranto now works with them.
Nick was an apprentice at thoughtbot. We cannot claim responsibility for his motivation, problem solving abilities, or other Nick-isms, but his time with us was not an aberration.
There are plenty of great designers and developers worldwide
75% of the new team members we hired last year started as apprentices.
Last year, we met Prem Sichanugrist, a lifelong Thailand resident. You’ll find him currently ranked #32 for most commits to Rails
Galen Frechette creates useful and beautiful stuff like thisAlex Godin was in Techstars New York before he could legally buy a pack of smokes. Gabe Berke-Williams is becoming a prolific (and often funny) open source contributor.
All are former thoughtbot apprentices.
Running an apprenticeship program isn’t easy
We’ve now run an internal apprentice program for about two years. We’ve also run design and development workshops for years.
Like many things, these are easy to start but difficult to regularly do well. Apprentices will temporarily slow their mentors down. Questions will arise.
How much time should be spent pairing? Attending workshops? Reading the Pickaxe or watching Peepcodes? Reading incoming code reviews from a variety of projects?
We’re getting good at many of these subtle details. As a fairly efficient design-and-code consultancy, we’re the right team to try to push the limits.
apprentice.io
We’re now opening up our apprenticeship program externally for any company that would like to sponsor apprentices. We’re calling this new program apprentice.io.
When you sign up on the website as an employer you get immediate access to the bios of all of the current apprentices and the others from all over the world that we already have scheduled for this year.
As an employer, you contact and interact with the apprentices directly. Over time we’ll grow the apprentice.io platform to provide mentor-to-employer updates on the progress of apprentices, and more.
For little more than you may already pay job boards and a lot less than you might pay recruiters, this money now goes to train people.
We think that’s a powerful idea: what if instead of recruiting, you educate?
If you’re a designer or developer interested in apprenticing, please apply.
If you just want to talk about this, please email me at apply@apprentice.io or call me at (877) 976-2687 x113.
Posted about 7 hours back atPosted about 7 hours back atPosted about 22 hours back atPosted 1 day back at GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS - HomePosted 1 day back at
MapReduce Patterns, Algorithms, and Use Cases
Posted about 2 hours back atIn his new article “MapReduce Patterns, Algorithms, and Use Cases”, Ilya Katsov gives a systematic view of the different MapReduce patterns, algorithms and techniques that can be found on the web or in scientific articles along with several practical use case studies. By Boris Lublinsky
NoSQL Adoption Is on the Rise, a New Survey Suggests
Posted about 2 hours back atA new Couchbase survey indicates that the adoption rate of NoSQL solutions by enterprises is rising. Will this be the year of NoSQL as some suggest, and what are the main adoption forces at work? By Abel Avram
Posted about 16 hours back atPosted about 24 hours back atPosted about 24 hours back atPosted 2 days back atPosted 2 days back at InfoQ Personalized Feed for unregistered user - Register to upgrade!
Posted about 11 hours back atPosted about 19 hours back atPosted about 19 hours back atPosted about 21 hours back atPosted about 22 hours back atPosted 2 days back atPosted 2 days back atPosted 2 days back atPosted 2 days back atPosted 2 days back atPosted 4 days back at
Posted about 6 hours back atPosted about 13 hours back atPosted about 13 hours back atPosted about 15 hours back atPosted about 17 hours back atPosted about 20 hours back at
net-http-persistent 2.5
Posted about 2 hours back atManages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8. It’s thread-safe too!
Using persistent HTTP connections can dramatically increase the speed of HTTP. Creating a new HTTP connection for every request involves an extra TCP round-trip and causes TCP congestion avoidance negotiation to start over.
Net::HTTP supports persistent connections with some API methods but does not handle reconnection gracefully. Net::HTTP::Persistent supports reconnection and retry according to RFC 2616.
2.5 / 2012-02-07
Minor enhancements
The proxy may be changed at any time.
The allowed SSL version may now be set via #ssl_version. Issue #16 by astera
Added Net::HTTP::Persistent#override_headers which allows overriding
Net::HTTP default headers like User-Agent. See Net::HTTP::Persistent@Headers for details. Issue #17 by andkerosine
The ruby 1.8 speed monkeypatch now handles EAGAIN for windows users. Issue #12 by Alwyn Schoeman
Fixed POST example in README. Submitted by injekt.
Fixed various bugs in the shutdown of connections especially cross-thread (which you shouldn’t be doing anyways).
Posted about 9 hours back atPosted about 9 hours back atPosted about 12 hours back atPosted about 16 hours back at
Airbrake acquired by Exceptional
Posted about 5 hours back atEarlier this year, Airbrake was acquired by the team at Exceptional, inc. We’re extremely excited about this move and we’d like to explain why.
A brief history
We created Hoptoad in the fall of 2007 and launched it publicly in spring of 2008. We had been tracking our errors previously with an email notifier that flooded our inboxes with repeat errors, many generated by search engines requesting weird URLs.
In 2011, we renamed the product Airbrake.
Over the years, Airbrake handled billions of error reports for thousands of web applications from all over the world. We kept the product focused on grouping similar errors, notifying developers once per error, and displaying the backtrace and session information to help debug the issue.
A serious commitment
As the product grew, we spent a lot of time addressing scaling issues and very little time working toward our vision of a product that integrated more completely with developer tools.
Last year, we were approached by the Exceptional team and their Chief Strategic Officer, Jonathan Siegel (who has created or invested in - RightSignature, Intercom, and Iron.io). Exceptional had a team ready to work toward the same vision we had for Airbrake.
The future
After getting to know the Exceptional team, we felt their serious financial and team commitment had the best chance to turn our shared vision into reality. We agreed to sell Airbrake to Exceptional.
The new team has been handling all support issues and feature work for several months now. We’re very pleased with their work so far.
We continue to provide web design and development consulting and are developing Trajectory, Copycopter, and apprentice.io to help solve problems for web design and development teams.
Thank you
If you’ve been an Airbrake customer, thank you! It’s been a great experience for us and you continue to be in good hands with the new team.
You can read more about the acquisition at TechCrunch and the Airbrake blog.
QCon London One Month Away (March 5-9, 2012); Martin Fowler Keynote Confirmed
Posted about 5 hours back atThe 6th annual QCon London (March 5-9, 2012) is taking place in just 4 weeks, with the last early bird discount quickly approaching. ThoughtWorks' Martin Fowler and Rebecca Parsons have been confirmed to present the Day 1 keynote. QCon London will host more than 80 speakers, 5 concurrent tracks, and many breaks, parties, and opportunities for networking. By Nitin Bharti
Posted about 7 hours back atPosted about 8 hours back atPosted about 11 hours back atPosted 1 day back at GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS - HomePosted 1 day back at InfoQ Personalized Feed for unregistered user - Register to upgrade!
Posted about 1 hour back at Ruby5
Episode #244 - February 7, 2012
Mechanize gets a Highscore while his Sidekiq fumbles trying to Manage his Bootstraps on this episode of Ruby5.
Listen to this episode on Ruby5
This episode is sponsored by Top Ruby Jobs
If you're looking for a Ruby job or for top Ruby talent, then you should check out Top Ruby Jobs. Top Ruby Jobs is a website dedicated to the best jobs available in the Ruby community.PWS, a ruby-powered command line password manager
Jan Lelis recently released PWS, a command line driven password manager. It's written in just over 200 lines of code and utilizes an AES256 encrypted file-store to keep your passwords safe.Mechanize version 2.1.1 has been released
Last week, Mechanize version 2.1.1 was released. This release adds several minor enhancements and bug fixes, some of which include better handling of idle request timeouts, SSL certificate verification, the ability to stream files directly to your disk for large downloads, and it even adds support for the HTML5 keygen form element.Highscore finds your keywords for you
Dominik Lieber built and released a Ruby library called Highscore that extracts keywords from a string. Not only that, but it takes those keywords and ranks them by length, capitalization, frequency count, and more. The weights are customizable and it even supports a blacklist to avoid noise words.A Responsive Sinatra Bootstrap using Bootstrap
Sinatra haml bootstap fluid is a new Sinatra Bootstrap which bundles Twitter's Bootstrap with HAML so that you can avoid the setup process for a small application.Sidekiq has been released
Mike Perham has just released Sidekiq, a concurrent message processing library which uses a message format that is compatible with Resque. In some cases, this will allow your Resque-backed job runners to be much more resource efficient, and may even require you to run less hardware behind the scenes.Hybrid SQL-NoSQL Databases Are Gaining Ground
Posted about 3 hours back atHybrid SQL-NoSQL database solutions combine the advantage of being compatible with many SQL applications and providing the scalability of NoSQL ones. Xeround offers such a solution as a service in the cloud, including a free edition. Other solutions: Database.com with ODBC/JDBC drivers, NuoDB, Clustrix, and VoltDB. By Abel Avram
Article: Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives, Second Edition by Nick Rozanski and Eoin Woods
Posted about 6 hours back atNick Rozanski and Eoin Woods have continued their journey of building a comprehensive handbook on Systems Software architecture with the publication of the second edition of Software Systems Architecture. InfoQ spoke to the authors on a couple of new topics, the System Context viewpoint and Agile, that are covered in the latest edition. By Jeevak Kasarkod
Posted about 20 hours back atPosted 1 day back atPosted 1 day back atPosted 1 day back atPosted 1 day back atPosted 1 day back atPosted 4 days back at
Posted about 16 hours back atPosted about 19 hours back atPosted about 21 hours back atPosted about 22 hours back atPosted about 22 hours back atPosted about 22 hours back atPosted 4 days back atPosted 4 days back atPosted 4 days back at