Posts tagged with: "ruby"
DynamoDB for the Uninitiated
I've never read Amazon's Dynamo paper. I've also never had the opportunity to work with Cassandra or SimpleDB, but when Amazon announced DynamoDB I thought it was time to take a little bit of time to learn what it was just in case it was super-useful. I thought I'd share a few of my findings.
Disclaimer: I'm completely new to this style of NoSQL system and may well in fact be misusing it in places. Feel free to give me some free education if I'm doing something horrendous below.
Hunting Down Execution Order Test Failures
Unit tests should pass when run in random order. But for an existing legacy
project, certain tests might depend on the execution order. One test might run
perfectly fine by itself, but fail miserably when run after another test.
Rather than running different combinations manually, RSpec 2.8 has the option
to run specs in random order with the --order random flag. But even with
this, it can be hard to determine which specific test is causing the
dependency. For example:
City Programmer, Country Programmer - Building Rural User Groups
Metro areas generally have really active user groups where Rails_Awesome_Lord presents regularly, famous hackers drop in to give presentations, and the Rails Elite throw smashing parties and drinkups after each meeting. But not all developers live in (or near) metro areas and can partake in such festivities. If you're among the rural band of outlaw programmers, this post is for you.
Implementing DRY Magic Methods in Ruby
As a new developer to Ruby you might wonder how certain methods seem to be magically available without being strictly defined. Rails's dynamic finders (e.g. find_by_name) are one example of this kind of magic. It's very simple to implement magic such as this in Ruby, but it's also easy to implement things in a way that doesn't entirely mesh with standard Ruby object expectations.
Michael Bleigh on Rails 3 at Ruby Midwest
Intridea Partner and open source crusader, Michael Bleigh, will be back in his hometown of Kansas City this week, presenting "Rails is the new Rails" at Ruby Midwest.
The sweeping changes brought on by Rails 3 and 3.1 haven’t just made our existing development patterns easier, they have opened up the ability for us to build new patterns that accomplish more in a more beautiful and efficient way. In this session you will see how thinking about new features in a different light can lead to real innovation for your development practices. Examples include baking routing constraints into your models, application composition with Rack, truly modular design with the asset pipeline, and more.
One Time, At RailsCamp
Last month Intridea sponsored RailsCamp New England - a Rails retreat in the western mountains of Maine. Adam and I attended the event for the second time (this was the fourth U.S. Rails Camp, and the second one in Maine) along with 38 other Ruby and Rails developers. On a rainy Friday evening we all settled in the cozy Maine house for a long weekend of geekery.
Hire a Guard for Your Project
Of all of the new tools that I've picked up using for development in the past six months, there is one that has come to stand above the others for its nearly universal utility. That tool is Guard.
Guard is a RubyGem but don't let that fool you into thinking it's only
useful for Ruby projects. Guard is essentially an autotest for
everything. It provides a general purpose set of tools for watching
when files are changed in your project and taking action based on it.
You can use it to do just about anything, but common uses will include:
Ruby Thankful
A lot has been made in the talkosphere recently about the brewing "multi-Ruby version manager" war, namely RVM vs newcomer rbenv. I'm not here to discuss the relative merits of either software solution, mostly because I take things pretty simple and straightforward in command-line world and I've never run into problems with RVM. What I do think this little fracas displays, though, is a common thread in the Ruby community of having big, blown-up controversies when new things come along. In some ways, I think that such drama is one of the unique features of the Ruby community that make it so vibrant. It's also a feature of the community that can lead to community casualties.
Web Application Development and The First Mover Advantage
In the second post in the series on “Why Your Company Needs a Rails Shop”, we’re talking about the “first-mover advantage" and how outsourcing your development to a Rails company can get your product to market quicker.
What’s The Big Idea?
You’ve got a great idea. You know it’s great because you’ve done objective market research, talked to your target customers and made an effort to understand your competition. Now you need to get your product some legs of its own. Getting your product to market as soon as possible can be critical to the success of your initiative. The web is rich with the innovations of passionate people; the landscape is competitive. You have no time to spare.
Setting Up a Ruby Development Machine From Scratch With OS X Lion
Every so often I like to completely wipe out my computer and start it over from scratch. This isn't because I particularly enjoy the pain of setting up a system from scratch, but it does come with some advantages. I took it upon myself to perform this task when I upgraded to OS X Lion and thought it would also be a great chance to write one of those "how to get a Ruby development machine going from scratch" posts since that's what I'd be doing anyway. So here's the process of how I got my machine set back up to work the way I want it to on Apple's latest.
GemNotifier Goes Open Source
In April, I announced GemNotifier, a new Intridea SparkTime project. GemNotifier is a web app I created to send notifications to users when the gems they subscribe to are updated.
Today, I'm excited to announce that we are open sourcing GemNotifier. At Intridea, we have a long history of support for open source development, and we make every effort to open source tools and projects that can be of use to the greater development community.
RailsConf To Go: OmniAuth from the Ground Up
I had the opportunity to speak at RailsConf 2011 about OmniAuth, outlining some of the reasoning behind it as well as some current and upcoming features of Intridea's own "authenticate with anything" middleware. While the session wasn't video recorded, a little trick I've picked up is to run a screencasting program in the background while I present to generate a "poor man's Confreaks" version of the talk. Well, that's exactly what I've done for OmniAuth: From the Ground Up!
Introducing GemNotifier.org - A Simple Tool for Rubyists
Today I'm introducing GemNotifier.org, a web app I built to deliver timely notifications about your favorite gem updates. It's a SparkTime project at Intridea and it's something I've been working on for the last month.
Development for Designers
Fun with Ruby: Get All Nancy Drew on Chrome
I use the Chrome history tab when I forget about
something I've looked up in the past. I initially thought that the data would
be stored in a CSV or XML file and thought I could do some string munging for
kicks and giggles. To my delight, when I looked in the "Application Support"
directory for Chrome, I found several data-rich sqlite databases ready for
mining. With a few Ruby tricks, I found some cool data. All the code this article
covers is available on the chrome_spy project.
Summarize - A Ruby C Binding for Open Text Summarizer
Soon to be powering parts of tldr.it, the Summarize gem is a Ruby C binding to the Open Text Summarizer library and makes summarizing any chunk of text a simple task.
Build A Mac Application From Scratch Using MacRuby and Hotcocoa
Pay no attention to the code behind the curtain: the tech behind tldr.it
Learn all about the tech behind tldr.it, Intridea's Jeremy McAnally's application in the running in the Rails Rumble.
The Rails Rumble: An Intridean Tradition
This weekend was the fourth annual Rails Rumble event; a software contest among Rails developers, in which smalls teams of coders bring an app to life in just 48 hours. In the week following the Rumble, the apps are judged by an expert panel of judges, winners are selected, and honor is won.
Intridea is no stranger to the Rumble. We've sponsored the event for the last three years, and we've had teams participating since the event was jump-started in 2007. Intrideans have created some interesting applications, like Run1Mile, Lyricist, Love+Loathe, Thingivore, Celebrity Passage, and Smacksale - a deal aggregator that's still collecting data and publishing the hottest sales, even today!
Fledgling Ruby Developer Discovers Community Among Mountain Rubyists
What better place to mine for skills in Ruby development than at the foothills of the Rocky Mountains? I couldn’t think of any better place to experience my first Ruby conference than at Mountain.rb. I went to Boulder, Colorado where I was greeted by towering mountains and listened to genius people advocating the language that I have been honeymooning with.
Ruby Intrigue at Lone Star Ruby Conf
At this year's Lone Star Ruby Conference, Intrideans Brendan, Pradeep, and Adam presented a full-day training, "Ruby Intrigue", in which they walked through the construction of three separate applications: a web crawler, an Asteroids clone, and an SMS server.
RubyWorld Conf 2010
Fixing Common Bundler Problems
When bundler first came out, I really wanted to like it. It promised a clean way to declare dependencies for your application in a single and definitive place, regardless of what kind of box your app was running on. Unfortunately, bundler has not lived up to the hype, and I've had plenty of headaches from bundler problems. Read on for a list of tips I've pulled together to save you some headache.
Intridea at Lonestar Ruby Conference
Stop The Hate: Obj-C Deserves Your Love
My first foray into Objective-C was, for lack of a better description, a sink-or-swim situation. Our lead iPhone developer had just been laid off and the boss was in my office the next day asking me how quickly I could "get up to speed". "You know Ruby", he said, "How difficult could it be?" It was time to get some books.
OpenSocial, Buzz and the Tao of Releasing an API
Michael Arrington announced OpenSocial on TechCrunch two days before its official release. Prior to that, there were whispers everywhere about Google’s new social platform, but not many seemed to know what exactly was about to go down. Needless to say, this is good buzz. Two days before ‘launch’ the overwhelming mood among web developers, especially us who dwell in the realms of social networking, was one of intense (even feverish at some points) anticipation. What unfolded over the next few days, combined with what we observed of Facebook’s API venture, provides us a set of best practices that we can apply to an API release.
Improved BetterNestedSet Plugin
On a recent project when I was using the BetterNestedSet plugin to manage a large hierarchal set of data, I encountered a problem that required me to find all of the items in a nested set that had children and those that didn't. In nested set terms I wanted: all 'parent' nodes and all 'leaf' nodes that exist within the 'tree'.
If you want to do this through the current BetterNestedSet interface you might be tempted to do something like this:
1-888-968-IDEA (4332)