Aurelius Prochazka
Programmer
Pasadena CA 91106

Bio:

Way back in 1994 some friends and I in the Graduate Aeronautical Laboratories at Caltech discovered that we had a department webserver that would serve our own content at /~user_name/ URLs. We started out competing with each other for hits and instead of personal sites we put up content about our favorite musicians and airplanes. One of us was the teaching assistant for the lab and had control of the ~ta account. We re-christened the initials to stand for "The Asylum" and instead of competing, we pooled our resources to build a "crazy" place on the web where anyone could log on and contribute content. Some of the apps we created were a public bookmarks repository (precursor to del.icio.us), a public writing forum (precursor to wikis), and a web based Lite-Brite emulator and gallery (sort of a primitive, single-celled ancestor to Flickr!).

We gained a lot of attention for these sites and soon film studios and record companies were calling the lab tracking us down to hire us to build dynamic websites for them. It was certainly awkward to get phone calls from Universal Pictures while your Ph.D. thesis advisor was in the lab so we started a business and opened an office with a phone number of its very own.

We spent a few years building custom websites in Perl/CGI while getting our degrees (which we all managed to do, take that you Yahoo! millionaire Stanford dropouts!). Slowly the stress of building websites from scratch in Perl wore us out and the company disbanded. I looked back at the websites and realized that many of them were very similar, so I began offering standard web components to my clients. Meanwhile, Philip Greenspun was running Photo.net and getting many requests from people wanting the code the site ran on. Philip assembled his friends to beef up the Photo.net code and together we founded ArsDigita and open-sourced our code as ACS (ArsDigita Community System), comprised of standard web components and written mostly in Tcl. We used ACS to get exposure amongst poor developers, which led us to be found by rich companies who wanted customizations to the toolkit. Unfortunately, venture capitalists also eyed ArsDigita and once we accepted their money they also had influence; you can read about what happened after that on fuckedcompany.com.

Even with ArsDigita gone from the landscape, the toolkit lived on as "OpenACS" at openacs.org. But, as an independent contractor, could I really convince my clients that a toolkit started by a defunct company was definitely a long term solution? Also, I was pretty sick and tired of programming in Tcl, so I turned to the prettiest language I knew—Python. That pretty much meant using Zope, and at first Zope was awesome. Indeed, there are still some applications for which Zope is a great choice. But Zope has many annoyances as well, and my clients yearned for standard version control, file system access, and better relational database access.

One of my (favorite) ex-employees was now working for Caltech and one day sent me an email about some emerging frameworks she was considering instead of Zope for the next project. Django and Ruby on Rails were on her list, and after a few hours of research I knew Zope was history. Initially I leaned towards Django because it was in Python, but Ruby on Rails was a bit further along, and it had one thing that Django will never have—David Heinemeier Hansson, the creator of Rails. From my experience with ArsDigita and Philip Greenspun I knew the importance of having a compelling, intelligent, and opinionated central figure representing the framework. David, back then, and through at least the time of this writing, has prescribed the philosophy of what Rails is and what it is not.

While DHH is its "creator", Rails clearly is the product of the evolution of web application development. Here's what struck me about Rails:

  • Ruby, mostly
  • Web application development always requires some mastery of many fields. You're going to have to know at least a little about templating languages, database access, and procedural programming. But, there's no denying it takes energy to constantly switch back and forth between languages, especially when languages mix within one file. Rails minimizes this—templating language: Ruby, database access: Ruby (mostly), procedural programming: Ruby (duh).

  • Data modeling, improved
  • The old way I started a project was to brainstorm everything that might be needed and write a data model in SQL that would hold the final state of the data. Then I would have to write the code to populate the database tables and write the error detection to prevent bad data from going into the database. With Rails migrations, I can now incrementally augment the data model, and with validations I write rules that almost automatically show up in my web application as error reports. Also, migrations are database agnostic, so I don't have to write a new SQL file for the various available databases.

Oh, and there are many more things I have learned about Rails that I love, but frankly, you don't need a long list of great things about Rails to know it's for you. In fact, if you need a long list, then maybe you're not convinced. It's like when I bought my 2001 Nissan Frontier truck: it could carry my dog, it was fast, and it looks like a spaceship—sold!

With Ruby on Rails I can offer a client a site that is completely customized for their needs while still being fun for me to program in. Everyone is happy!


52 RailsSpace friends
Agbaber_thumbnail Andrew Baber
Default_thumbnail Andreas Roedl
Default_thumbnail Andrew Cornett
Cati_thumbnail Cati Vaucelle
Cdmwebs_thumbnail Chris Moore
Codye_thumbnail Cody Engel
Dah12004_thumbnail David Bower
Default_thumbnail Danger Angell
Deps_thumbnail Peter Sundling
Default_thumbnail Doug Word
Elihu_thumbnail Noah Spahn
Erik_thumbnail Erik Wrenholt
Esca_thumbnail KEEBS LEEBS
Fabioespindula_thumbnail Fabio Espindula
Geraldb_thumbnail Gerald Bauer
Default_thumbnail Gertrude
Hansi_thumbnail Daniel Distler
Default_thumbnail Henry Stapp
Hvenkata_thumbnail Hariharan Venkata
Imhotep_thumbnail Asar Imhotep
Default_thumbnail Imran Anwar
Default_thumbnail Jason Berry
Jbaty_thumbnail jonathan baty
John_thumbnail John Thomas
Jonson_thumbnail Jon Agnes
Juliasweden_thumbnail julia
Kidguko_thumbnail Joshua Collins
Kobrakai75_thumbnail Craig Rackham
Kwevans_thumbnail Kevin Evans
Looking_sideways_thumbnail Kevin Ansfield
Madmonkey_thumbnail Andrew Stannard
Default_thumbnail Mark Hammond
Martin101_thumbnail Martin Danko
Mdpane_thumbnail Matthew Daniel
Michael_thumbnail Michael Hartl
Mimmo_thumbnail Domenico Marini
Mmangino_thumbnail Mike Mangino
Default_thumbnail murphy
Muttonbone_thumbnail Scott MacDonald
Nateklaiber_thumbnail Nate Klaiber
Neronfx_thumbnail Rob Charlwood
Default_thumbnail Vitor Deltoro
Default_thumbnail Pradeep Ramakrishnan
Raphaelk_thumbnail Raphael Karunditu
Raru_thumbnail Raru P
Raulparolari_thumbnail Raul Parolari
Richard_thumbnail Richard Hansen
Tefflox_thumbnail Jesse Crockett
Default_thumbnail Mike Kasper
Trevor_thumbnail Trevor Shaffer
Default_thumbnail Charles Harvey
Winterheat_thumbnail Kenneth Kin Lum

Blog:

1 blog post

My profile's first blog post

Clearly Michael and I will be using the main RailsSpace blog for our blog entries.

Posted 11 months ago

Cati_thumbnail Cati Vaucelle commented 11 months ago:

Very engaging career! You basically were pioneer to many existing social networks ...


Default_thumbnail Vitor Deltoro commented 11 months ago:

Hey Aure, I think your work is great. You and Mike have disrupted the websphere in a positive way. Now only people with content can have social networking sites that tick! Thank you!


Agbaber_thumbnail Andrew Baber commented 11 months ago:

Just finished the book -- playing around with the source code now.

Thanks, and keep up the good work!


Aure_thumbnail Aurelius Prochazka commented 11 months ago:

Vitor, thanks, I like to disrupt whatever I can :) and Andrew, congratulations on finishing up the book - no small task!


Jonson_thumbnail Jon Agnes commented 11 months ago:

Hi Aure, enjoying the book, and it's a big help in jump starting my Rails mojo. Thanks! Been back to Albany lately?


Aure_thumbnail Aurelius Prochazka commented 11 months ago:

Thanks Jon, no I haven't been to Albany/Troy/RPI for a while.


Kobrakai75_thumbnail Craig Rackham commented 11 months ago:

Great stuff guys, with your help I can finally take my idea to new level! :)


Samurails_thumbnail ramiro k commented 10 months ago:

hi aurelius, when are you going to put online the zipped version of the book source code in an easy to deploy package? should not be that difficult is it?


Looking_sideways_thumbnail Kevin Ansfield commented 10 months ago:

There seems to be a bit of a logic error in the age calculation method in the spec model.

As it stands in the book the following example fails...

code.

if today.month >= birthdate.month and today.day >= birthdate.day

example.


birthday = 22/04/84
today    = 04/08/07
today.month >= birthday.month = true
today.day >= birthday.day = false

Here, because the test on the day being greater fails, the code moves onto the routine for calculating a birthday that has not yet come around this year despite the fact that it has.

Replacing the if/else block with the following seems to work:

(today.year - birthdate.year) + ((today.month - birthdate.month) + ((today.day - birthdate.day) < 0 ? -1 : 0) < 0 ? -1 : 0)

Thanks to Jeff Rafters blog here for the above code, further explanation is available there along with some other examples.


Tefflox_thumbnail Jesse Crockett commented 10 months ago:

ha --

i'm searching for "love" in the directory.

you come up second, maybe alphabetically.

i'll go check.

i like this place.

but where are all the females?


Tefflox_thumbnail Jesse Crockett commented 10 months ago:

I think you are related to Veanna.

Tell me ur not.


Winterheat_thumbnail Kenneth Kin Lum commented 10 months ago:

Hey Aure, what's up


Tefflox_thumbnail Jesse Crockett commented 9 months ago:

I keep searching for things like "love" and "being" and "passion" --- you're coming up roses!


Tefflox_thumbnail Jesse Crockett commented 9 months ago:

I should put Crazy Asylum on my profile, too, in case anyone is looking for someone besides you, in this regard.

~~Summer is ready, when you are~~

-Kim Deal


Tefflox_thumbnail Jesse Crockett commented 9 months ago:

Sux! I worked hard to work "Loved" into my profile, and still only you and Mike show up in the community search for "love". Hm.


Dah12004_thumbnail David Bower commented 9 months ago:

I'm trying to make a change to the double blind email. what would it take to have users msg each other but keeping msg. within the system using a database to store sent and received msg. Am I crazy or is this doable?


Johnny_thumbnail Johnny Noname commented 8 months ago:

Hello, I wold like to know the same thing...can you please pass along an answer if you get one.

Thanks


Tefflox_thumbnail Jesse Crockett commented 8 months ago:

Let me know when yr free time comes around next year --- so I can pester you. By that time I may have contract work with nolej.net doing nifty string manip's, and I'm feeling much better now that I'm a sysadmin at the local hospital. I actually have interesting ideation, when I'm on earth.


Default_thumbnail Bill Barnard commented 7 months ago:

I like the book. It's a well thought out experience for a Rails learner. I like the way you guys introduced some subtle things in a very natural way.

I'm also posting this so I can see whether I'm authorized to delete it when I'm not the blog owner.


Default_thumbnail Mark Hammond commented 5 months ago:

anyone know what IE7 moves the new comment field over to the right of the page and not inside of the new comment section like with firefox?


Supertunaman_thumbnail Tuna commented 5 months ago:

Lovin' the book! RailsSpace is going to be the engine for TeensOnLinux.org. :)


Kidguko_thumbnail Joshua Collins commented 3 months ago:

Nice, very nice...


Fabioespindula_thumbnail Fabio Espindula commented 2 months ago:

Hey How are you?

I really like this book!

I hope I can do a social network like that with this book! =D

Congrat...


Default_thumbnail Gertrude commented about 1 month ago:

Hey Aure, you look really hot =)


Default_thumbnail Gertrude commented about 1 month ago:

I noticed something missing in the book resources section, the code for _friends.rhtml (listing 14.13) is not there. Could you guyz put it up please? Thanks a lot.