Create a page like thisPowered by FeedvolleyFlag this page

<div style='margin-top: 10px;'>

<object width="560" height="349">
  <param name="movie" value="http://www.youtube.com/v/vtP-S9OS0o0?fs=1&amp;hl=en_US"></param>
  <param name="allowFullScreen" value="true"></param>
  <param name="allowscriptaccess" value="always"></param>
  <embed src="http://www.youtube.com/v/vtP-S9OS0o0?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" width="560" height="349" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>

You've just written a masterpiece of a web app. It's fun, it's viral, and it's useful. It's clearly going to be "Sliced Bread 2.0". But what comes next is a series of unforeseen headaches. You'll outgrow your shared hosting and need to get on cloud services. A late night hack session will leave you sleep deprived, and you'll accidentally drop your production database instead of your staging database. Once you serve up a handful of error pages, your praise-singing users will leave you faster than it takes to start a flamewar in #offrails. But wait! Just as Ruby helped you build your killer app, Ruby can also help you manage your infrastructure as your app grows. Read on for a list of useful gems every webapp should have.

Read more

# Node.js Jumpstart

In a nutshell, Node is a Javascript framework for building network apps. Network apps are broader in scope than webapps. They don't need to run on HTTP, thus freeing you to write lower level tools. Node doesn’t necessarily have to be part of your core app, and in many cases, it makes for a good fit for writing some of the support functions for your webapp. I'll cover the basics of getting Node setup, some event driven programming, and some miscellaneous Node goodies.

Read more

# My Web Development Toolbox, 2010 Edition

2010 was a big shift in work environment for me. I migrated from an office to a completely distributed and remote team at Outspokes and then to Intridea later in the same year. Many of my daily tools stayed the same, but there's been plenty of additions to streamline my work. Here's an overview of my most used tools for web development.

Read more

# Modular Cocoa Interfaces

While iOS projects have the advantage of multiple NIB files, this is not the default for development on OSX. When working on a Mac or iOS project with more than one person, you quickly learn that attempting to merge conflicted Interface Builder files or XCode project files can only result in tears. But just because you can't work on the same NIB doesn't mean that the productivity of the entire team should be blocked by the one person editing MainMenu.xib. Cocoa allows you to chop your UI into separate NIBs and control them with multiple NSWindowControllers. Once you separate out different windows from MainMenu, you're much less likely to conflict with your team. As an added benefit, your UI will feel snappier because NIB loading will be delayed until it's actually needed. I'll demonstrate this technique by separating the Preferences window from the main window, a common and easy case for refactoring.

Read more

Fixing Common Bundler Problems

When bundler first came out, I really wanted to like it. It promised a clean way to declare dependencies on for your application in a single place, and have that be definitive regardless of what box your app was running on. Unfortunately, reality didn't match up with promises 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.

Read more

Resque Cheatsheet

Coded and used by the Github team, Resque is a Ruby queue for processing background jobs built on top of Redis. So far, I'm really enjoying the simple setup and simple API. The documentation gives a lot of good background information, and it's been working well overall. Follow the jump for a day-to-day usage reference.

Read more

New Beginnings: Starting with Intridea

Three weeks ago, I started as a full time software developer at Intridea. It's been an absolute blast so far, but it happened so quickly that I'm still somewhat dazed at how I got here. Just two month ago, I was in Israel and Egypt visiting Wendy and working on Outspokes, and now I'm working with energetic and talented individuals; all of whom I've never seen in real life before, but many of whom I've heard of in the Ruby community.

Read more

Getting Around in MongoDB

I started working with MongoDB a few days ago. To oversimplify, think of Mongo as a really big and fast hash that gets saved to disk. It lets you query, retrieve, and manipulate data in Javascript and JSON. I had a ton of work to do, so I didn't get a chance to explore the technology as much as I would've liked. Today, after getting a solid night's sleep, I got a chance to experiment more. Read on to get some quick tips about writing Mongo queries and generating reports from the Mongo shell.

Read more

Email Delivery for Webapps

Delivering email is easy. Having that email actually get received is freaking hard. In this era rife with spammers, if you don't jump through several hoops of verifying yourself, your messages will be automatically marked as spam during transit, and never see the light of an inbox. I didn't realize how tricky this was when I first started sending out email for Outspokes, but when our account activation and notification emails were always being delivered to the spam folder, I dug deeper and learned quite a lot. Follow the jump to save your future emails.

Read more

Beerpad Hackathon: Hosting with Heroku

When I started planning out Beerpad, I wanted to focus on fun beer ideas. I'm perfectly capable of setting up an environment for a Rails application to run in, but I didn't want to waste a morning doing a bunch of chores and have nothing but a "Hello World" page to show for it. Once I had my designs, I wanted to prototype the juicy real features right away. Enter Heroku. Heroku is a service for hosting Ruby webapps. I've been interested in the service since I saw Adam Wiggins demo it at a SVC Ruby Meetup. Heroku is a one-stop serivce for starting a database-backed, Rack compatible, Ruby webapp. They use git to version control your code, Thin to serve your traffic, and Postgresql to store your data. They also have add-ons that webapps may find useful. I've been looking for an excuse to play with the service, and Beerpad fit the bill perfectly. Follow the jump for my experiences.

Read more

Reaction to 37Signal's Getting Real

The gray and wet weather outside put me in an gloomy mood, so I didn't want to write any 'unhappy' code and regret it later. Instead, I headed to Cup of Joe on the corner of Dizengoff and Gordon to read 37Signal's book 'Getting Real' while enjoying a creamy cappuccino. Follow the jump for a short book review.

Read more