CenterNetworks Interview

Posted by Kevin M. Finn on March 15, 2007Comments (1)
News

A couple of months ago the guys over at Thought & Theory recommended that I check out CenterNetworks, a "new" Internet blog with a focus on helping people create better web apps. After a quick look through the home page I grabbed the feed and have been hooked ever since. I've exchanged quite a few emails with Allen, the CenterNetworks Editor and all around great guy, and today he posted an interview we did together. We're really happy with the way it came out and appreciate the efforts of Allen and his team. Check it out if you have the time, and grab the CenterNetworks feed while you're at it; you won't be disappointed.

Setting Request Attributes Within Integration Tests

Posted by Tom Rossi on December 22, 2006Comments (0)
Misc

Okay, so for some reason I can't post with Google Groups to the Ruby on Rails forum, so I'll just post here on our blog. This is something that took me a little while to dig up and could save some poor Rails programmer some time. Many times in our functional controllers we will need to set attributes of the request before testing. This is done pretty simply as follows:
# Within a functional test
@request.cookies['my_cool_variable'] = CGI::Cookie.new('my_cool_variable', 'coolness')
@request.host = 'www.my_url.com'

get :index assert_response :success
But how do you set request variables with an integration test? Integration tests are much more powerful than functional tests because they allow you to not only test multiple controllers, but you can create any number of sessions. In all the excitement, there is plenty of documentation on how to set the request attributes for multiple sessions, but not when you want to just test one session. The missing piece is the @integration_session object. This is the default session object that all of your test methods operate on when you do your get or post etc.
# Within an integration test
@integration_session = open_session  # This is only necessary if the object is not yet instantiated
@integration_session.cookies['my_cool_variable'] = CGI::Cookie.new('my_cool_variable', 'coolness')
@integration_session.host = 'www.my_url.com'

get '/controller/index' assert_response :success
Why would you do this? Only for simple integration tests where you will not have multiple sessions and you want to make all of your calls to your test methods directly without referencing a specific session.

Connecting to a Microsoft SQL Server from a Rails Application

Posted by Tom Rossi on October 13, 2006Comments (3)
Ruby on Rails

This is just a quick note for those of you that have a Ruby on Rails application that you are connecting up to Microsoft SQL server for your database. Hopefully this can save you some time!

As a note, some of you may be asking WHY? Why would you want to connect to Microsoft SQL when MySQL does the job just fine? Well, at the Molehill we are working on migrating one of our old Microsoft .NET applications to the Ruby on Rails framework and mapping to the legacy database during the migration is a great way to expose some functionality in the meantime.

Download the latest DBI

Rails has a database independent interface that can be downloaded from RubyForge. It can be a little confusing and if you don't have an application to uncompress a tar.gz file, you can download it here from our site. The file you are looking for is ADO.rb. This file should be placed in the following directory:

/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/

Depending on the version of Ruby you have installed, the 1.8 may be different. Also, the ADO folder may not already exist so you may need to create it.

Create your database.yml

Now you will modify your adapter in your database.yml file to be sqlserver. Here is an example:

development:
  adapter: sqlserver
  database: dbmydatabase
  host: sqlserver.domain.com
  username: user
  password: secret

Thats it! Now ActiveRecord will be able to access your tables on your MS SQL server!

Tick is open for business!

Posted by Kevin M. Finn on October 4, 2006Comments (1)
News

Tick, the easiest way to track your time and hit your budgets, has officially launched. We've made hundreds of adjustments and added quite a few new features over the past couple of weeks. If you haven't checked out Tick recently, there's never been a better time to take a fresh look.

Dozens of updates including:

  1. Mac OS X Dashboard Widget Timer
  2. Import tasks from other Tick projects
  3. 256-Bit SSL for Medium and Large Business Accounts
  4. Subscribe to your open projects via RSS
  5. Print styles for reports, project and timecard screens
  6. Support for Basecamp accounts that use SSL
  7. Better support for international characters

We would like to send out a very big thank you to the thousands of preview release users that contributed over the past couple of months. Your feedback, suggestions & help squashing bugs has been a tremendous help. We couldn't have gotten here without you.

Building web applications for others

Posted by Kevin M. Finn on August 21, 2006Comments (5)
Business, Thinking

We've had quite a few inquires lately from people who have an idea for a web application and are looking for someone to build it. While it's flattering to be considered, we're not taking on any outside projects right now so we've had to pass. A few of the emails did however get me thinking about the whole proposition and I'm not sure I'm 100% comfortable with what's going on.

First a little background info

The web is buzzing right now with stories telling us how easy and cheap it is to start an online business. For the most part I agree. Most of the major barriers of entry are gone and online marketing is relatively cheap and extremely effective. My concern is that a lot of inquires we have received were from people who admittedly had little or no experience with the web and/or building web applications. That in and of itself isn't so scary; as a custom developer I worked with people like this for years. But in most cases, the projects were built for internal use, not to be sold or used as stand alone products. What's concerning is that developers are now, more than ever, being asked to build online businesses and products with high hopes of an overnight success or getting bought out by Yahoo or Google.

I feel a parallel coming on

It reminds me a bit of what's happened in the real estate market over the past couple of years. Interest rates dropped, employment rates were on the rise, and home sales started going through the roof. Those who were in the industry, and understood the market, made some smart moves and began to cash in. At the same time a new wave of bright-eyed investors started buying up investment properties hoping to flip them for some quick cash. I'm sure quite a few people made it out unscathed and some even made a great deal of money. On the flip side, I'm just as sure that there are even more people who got burned, lost money, or are desperately trying to unload a house they can't afford now that interest rates are on the rise and home sales are slumping. Even some of the big boys are hurting.

What to make of this?

So the more of these emails I get, the more my concerns are growing. Is it possible for a successful web product to be conceptualized by a non-technical person and then built and maintained by an outsourced team? What is the developers’ role when faced with a proposition like this? Where should the line be drawn between developer and business consultant?

A quick case study

When I review the questions posed above, I can't help but think of Ryan Carson. He outsourced the vast majority of DropSend and has undoubtedly been successful. In all farness though, I'm not sure that his situation wasn't a little different. He set out to build a company, not just a product and not with the hopes of flipping. He was committed to building a team and had two full-time employees. Additionally it seems like he had experience in the web industry, although I'm not sure how much... Either way, his products are great and I think we all have a lot to learn from him. Maybe he'll jump in here and share some thoughts?

Some related links

The Figures Behind DropSend (part one) - Via Signal vs. Noise
The Figures Behind DropSend (part two) - Via Signal vs. Noise
BuildV1.com - Connecting entrepreneurs in need of help.
My Dream App - A contest where the winning idea gets built.

I look forward to hearing your thoughts.