Archive for the 'General' Category

Moving on from inursite

Monday, December 1st, 2008

Starting today, I’m going to be stopping work in The site will continue running, but I may have to scale things back a bit to make it more affordable to operate.

I started to scratch an itch. After its initial launch I realized that there was a latent demand for something like it, but not quite exactly like it. I spent quite awhile trying to figure out what that should be.

I talked to a lot of people about it, I spent a couple of months working on nothing but inursite (with no client work, that meant burning through savings) with the idea that if I can find something that could take off and become a sustainable business within a few months, I’d pursue it.

Along the way I figured out what inursite should be (at least, I have a working hypothesis). The problem is that my hypothesis doesn’t fit into the one-man-bootstrapping model I’m currently working with. I don’t want to give up the model (though I also don’t think working on projects alone is ideal for me).

I promised myself if I couldn’t get it to take off within a few months, I’d move on to another project and give that a try. So, that’s what I’m going to do, albeit 3 months later than the self-imposed deadline I’d created for myself.

Anyway, I already have a new project in the works. You’ll hopefully hear more about it soon.

Election Thoughts

Wednesday, November 5th, 2008

A collection of random comments from last night.

  • By far, the best moment of the night was when someone (who would remember) said: “this feels like Kennedy”. It seems all of the “we’re making history” sentiment is not imaginary.
  • I didn’t think I’d ever see masses of people on the streets of San Francisco chanting “USA! USA! USA!”. You see, the left coast liberal elite loves America too, we just sometimes can’t get excited about it.
  • McCain’s concession speech reenforced by belief that he’s a good man, who I happen to disagree with on many points, but still a good man. Unfortunately, campaigns exist to win, and will work to win at all costs.
  • Obama’s acceptance speech reenforced my belief that his even-temperament is his best quality. Can you imagine how different the last eight years would have been if we’d had an executive leader who made decisions with full information, made them methodically, and didn’t allow his emotions to dictate policy?
  • In case you still wonder whether third party candidates can affect elections, Missouri is still too close to call today, and the gap between Obama and McCain is smaller than the number of votes received by the fifth place candidate. Currently: McCain: 1,442,613; Obama: 1,436,745; Nader: 17,769; Barr: 11,355; Baldwin: 8,181. Source (as of November 5, 2008, 2:53 PM PST)

Rack::Cache is a good idea

Monday, October 27th, 2008

Fellow Ryan, Mr. Tomayko has recently released a new project, Rack::Cache that I think is a great idea for ruby web developers.

This problem has actually been bothering me for awhile, too, but I could never articulate it well enough or think of a useful solution to it.

The problem is that if the application is small and new, its rarely worth the effort to deploy an caching http proxy, yet you can still get significant benefit from something that caches entire resource (an entire page, rather than just the data that goes into rendering that page). As a result, Rails allows you to use a page cache, which writes the files to a filesystem and lets a dedicated web server serve them, without consulting your web application.

This system works fine if your cache policy is simple enough to manage it explicitly, your application has access to the same filesystem as your web server and you’re only running a few servers. Also, it can be tricky to get your web server configuration right on this front.

Once your application gets larger and more complex, it makes sense to use an http reverse proxy cache like squid or varnish, but transitioning from rails-style page caching to HTTP caching is non-trivial. You have to change your deployment and your application in significant ways. Not fun.

With Rack::Cache you only have to change your deployment. You can even do it incrementally. You could start by using Rack::Cache to cache in the heap, later switch to the filesystem and finally to memcache. When that reaches its scalability limits you can add squid or varnhish in front of your application, then remove Rack::Cache. Deployments that involve only one major change at each step are much easier to get right than trying to make several big changes in a single operation.

inursite pro launch

Wednesday, August 6th, 2008

Tomorrow I’ll be attending the Start Conference, which marks a self-imposed deadline for launching my current project.

Awhile back I launched a new project, It was a very simplistic implementation of a simple idea, which has proven to be quite popular. Today its becoming something more.

I’m releasing a major upgrade today. Until today, would only check specific pages for HTML validation errors. The new version will crawl an entire site (up to 100 pages a day*) and give you reports about the results. It will validate any HTML, CSS, RSS and Atom it finds. I hope that despite this added functionality it still simple and easy to use.

The new service is available via subscription only, at $5/month for up to 5 sites**.

If this sounds appealing to you, then head over and sign up then upgrade to a pro account. If you have any problems, please post a note on the Get Satisfaction page for inursite.

* only pages that have actually changed since the last crawl and checked and counted against the limit
** More paid plans are in the works.

shameless self-promotion

my methods

Wednesday, April 2nd, 2008

A useful ruby snippet that Cameron. and I came up with last night:

class Object
  def self.my_methods
    methods - (superclass ? superclass.methods : [])
  def my_methods
    methods - (self.class.superclass ? : [])

This is useful for finding out what methods an object has, without including all the methods inherited from super classes.