Latest News >> 2008-11-13

Well, DHH seems to be caught in a lie in his latest blog post on Rails myths so I feel I should correct it. An outright lie that Mongrel caused his 400 restarts/day problem. However, David must have forgotten that I have a full log of the chat where he admitted it, so let’s get into some nice clean truth for a change.

2008-11-11

I’m quickly coming to the end of my first semester in music school and am considering taking a consulting gig for the two month break we have. Not really sure what’s available these days, as I actually haven’t touched a computer for the entire semester.

2008-10-30

In this world there are these weird little dickheads who think that they have some kind of magical powers manipulating others to do their bidding. They spend their days making people around them dance like marionettes in a sick little play that only they find funny. The sad truth about manipulators is their machinations are only powerful and effective in their own mind.

2008-10-28

UPDATE: Read my follow-up post to this where I explain Matt is alright.

March 29: Release 0.6.5 (Mergerific Indexer Release)

Please take the time to download the release or single ‘fcst’ script and hook me up with some feedback at zedshaw AT zedshaw DOT com. Read the README file for information on installing, getting started, current features, and other information.

What Is FastCST?

FastCST (Fast Change Set Tool) is an experimental revision control tool I’ve been toying with for a while. After working on the project in C and getting bored, I decided to switch to Ruby. Right now the Ruby version has more changeset features, but doesn’t support any of the original revision control or encryption features yet. The FastCST motto is: “Distribute like an anarchist, but accept like a fascist.”

Big Features

The three main features of FastCST are simply:

  • Fast as hell and simple to use. FastCST tries to make it as easy as possible to keep revisions of your stuff, share them with others, and with a minimum of hassle.
  • An extensible platform. I hate development tools which don’t let me extend their basic functionality. FastCST supports a simple method of making your own commands in Ruby that involves nothing more than dropping them in the right directory. I actually use this feature like crazy and love it the most.
  • A “modern” system that uses changesets over file revisions and distributed operation rather than centralized control. As long as you have an e-mail account you can use FastCST. For larger distribution you only need an FTP server and/or an HTTP server or use the built in “serve” command to serve your stuff up directly. All changesets are universally unique and have tons of meta-data so you can reject anything you don’t before you try it. Merging is done by comparing a merged changeset against the current directory contents, rather than trying to merge it with another changeset.

FastCST has most of the big features implemented and some that you won’t find in other systems (for better or worse). Right now the merge command is only partially functioning, and will balk at any merge that has a conflict. Conflict resolution is being worked on right now.

Downloading and Installing

Feel free to download the 0.6.5 release it and to read the RDoc Ruby documentation.

There is also a single ‘fcst’ script you can download which is created with tar2rubyscript so you can run it without installing anything other than Ruby 1.8. There are two builds: one I did on ArchLinux and another I did on Debian. Try each one and see if they work for you. The Debian one is a bit of a pain since you have to install a bunch of required packages.

Read the README file for information on installing, getting started, current features, and other information.

Documentation

I’ve spent a good portion of my time on this release writing documentation for people to get started. It is not complete, but it should help others figure out how to use FastCST and hopefully get them interested in it.

Historical Reference

I originally wrote FastCST in C and developed a large amount of documentation for that version. You can access the historical version if you’re interested in my original thinking and designs.