Posted by John Lockwood on June 6th, 2010
“When people are free to do as they please, the usually imitate each other.”
– Eric Hoffer
Last time I wrote about finding my life’s purpose, and since then I’ve spent more time reading el señor optimista, Anthony Robbins, and working through some of his exercises. As with many self-help books, there comes a point where you list your goals, and the author starts with great ideas like making millions and flying private jets. By this point, I usually feel compelled to write something in the millions, but I must say, I’ve had difficulty in the past tying this goal to my values, since I don’t think that wealth per se is really high on my list.
Listing values, of course, is yet another Tony Robbins exercise, along with going on a mental diet. Yes, I am currently on one, on day two, thanks.
I haven’t listed my values yet. I think it might be helpful to do so in the context of first writing about…
The Missing Exercise
Maybe this exercise is missing from Tony Robbins’ book, or maybe I skipped over it, but because I consider myself to be in the design phase of my life and my future business, I am going to list some role models for my business. These are possible prototypes, or approaches to designing a set of business goals that are consistent with my values. I should point out that though it’s missing in my reading to date, the exercise is implicit in Tony’s ongoing study of successful people.
So here without further ado are several role models I am looking at, for one reason or another. I suspect the goal that I fashion once the design phase is finished and I move on to implementation will be a mixture of one or more of these approaches:
- Tony Robbins
Well, if it’s not obvious already, this Tony Robbins is having an impact on me. Yes, I know, he does fire walking at his seminars. Nobody’s perfect.
- 37 Signals
Legend (or their book) has it that these eight or so developers have generated a huge amount of cash for themselves, some $24.00 per month of which came from my real estate business, Elite Properties. The model here is to write several simple but elegant Application Service Provider applications in Ruby on Rails. Great model. Great language. What a hoot.
- Application Service Providers in General
It’s unfortunate that Microsoft’s Active Server Pages has the same acronym as Application Service Providers, because as role models go, ASP is not one of them. ASP is just some technology that one may or may not highlight on a resume. In this article, ASP stands for Application Service Providers (which are genuinely exciting as a business model) not Active Server Pages (which at best are interesting).
- Top Producer and SettlementRoom
Top Producer began as a desktop application (or perhaps pre-desktop), devoted to helping Realtors® manage their business. Their application itself was uselessly ponderous as of the last time I tried it, which often happens with fat clients hastily ported to the web. As far as I know Settlement began as an ASP providing escrow management. One idea on which I worked part time for several weeks was an application which split the difference between these two real estate applications, while trying to emulate the simplicity of 37 Signals apps.
- ICanLocalize.com
These folks provide general localization and translation services, a model which appeals to my new-found passion for languages. They combine this with web site design and development in Drupal and Wordpress. How cool is that? For you, maybe not at all. For me, ¡es muy chevere!
- Hulihan Applications
I just found this site today, and was impressed by the owner’s approach of creating several lightweight Common License applications, apparently to serve as the loss leader to his web development and design business. This is another Ruby on Rails shop, but the service oriented, open source approach here is very, very different from that of 37 Signals. The choices the author made for applications was also of interest, as was seeing them in use on his site and thinking about how one might design something similar.
- Ronin Tech Collective
I wrote about this employee owned software company back in November. An employee owned company is great if you place a high value on contributing to the success of others within your organization, or if you watch too many Michael Moore movies.
Questions for the Future
- Who are the Warriors? There must be some word!
- What do my choices of attractive companies tell me about my values? What can I learn by listing my favorites?
- How can I use this to design a more exciting plan?
- Can any shorter term goals be generated from these exercises?
Posted in John Lockwood, Ruby on Rails | Add a comment »
Posted by John Lockwood on September 2nd, 2009
Late born head case that I am, I vibrate between programming languages like a sort of high tech lady’s toy.
Analyze that.
Thus it is that I wrote an article recently comparing ASP.NET and Ruby on Rails. In that article I mentioned Microsoft’s pathetic support for the Model View Controller pattern. This was based on work I’d done an eon ago in programming time, 2006 or 2007 or so. With that I was able to declare:
This may have changed since I last looked at it, but on my last ASP.NET contract they had an MVC implementation that completely broke browser navigation and was a nightmare to code to.
Well I don’t have all the details yet, but I’m happy to report that since that glib dismissal Microsoft has had Ruby in its sights in a big way, and has further refined something they were no doubt working on when I made that dated statement. (You know what print journalists bag on us bloggers for – we’re light on our fact checking). Enter Microsoft MVC complete with a 15 minute podcast by Stephen Walther. Look familiar? It should. Of course this is straight out of the Ruby on Rails 15 minute podcast, which in turn was lifted whole cloth from the pioneering work of Cobol on Cogs.
Cobol on Cogs was obviously a parody of Ruby on Rails, and I’m sure there are Ruby programmers who probably consider ASP.NET MVC to be in the same category, though interestingly enough, the official rails blog mentions Cobol on Cogs but not ASP.NET MVC. Much of what you can find there are bashes of ASP.NET (like this and this) that were absolutely legitimate in 2005 but might be getting a bit obsolete by 2010.
I’m going to take a look at ASP.NET MVC, and in case I end up hating it, let me be the first to call it this: Cobol on Cogs 2.0.
Meantime I certainly wouldn’t count out Microsoft’s ability to steal someone else’s ideas, market them, and provide me with a job in the process. C Sharp, after all, is “Java run through a thesaurus”, and Redmond has the law suits to prove it. I suspect we’re in the next phase of this, and I find it exciting.
So I’m going to spend another hour or two on the coolest programming web site ever, which incidentally is written in ASP.NET MVC.
Posted in ASP.NET, Ruby on Rails | Add a comment »
Posted by John Lockwood on June 27th, 2009
At the risk of showing how (not) far I am along the learning curve given my Month of Sundays Rails project, here’s a great beginner sort of rails tip I found on how to load fixtures into the console.
The meat of it is this, which I like because it simultaneously shows you how to set up your environment correctly for the console, and for rake. Not a bad little tutorial for two lines worth of stuff:
rake db:fixtures:load RAILS_ENV=test
script/console test
Posted in Ruby on Rails | Add a comment »
Posted by John Lockwood on April 19th, 2009
My friend and college housemate Daniel Steinberg stopped by recently and caught me red-handed in yet another heinous act of last week’s marketing. By “last week’s marketing”, I mean that I should know better than to say this site is about a specific platform / language/ technology. This is generally the wrong approach for a computer-linguistic gadabout to take. John Lockwood putting up a web site about a programming language is like Madonna putting up a web site about her one true love. The next words out of her mouth are bound to be: “Woops, no I mean my other one true love.”
So with those other strange bedfellows out of the way, we now turn our attention to a comparison of ASP.NET and Ruby on Rails from my point of view as a fellow without a firm entrenchment in either technology. This isn’t meant to start or feed a language war because, as I say, I’m not passionately committed to either technology. I do think that both environments offer a lot that’s good, and both have more than enough things that bug the heck out of me. So this article quite simply is my list of what I like and don’t like about each environment.
What I Like About Ruby on Rails
What I Don’t Like About Ruby on Rails
- Smugness and Sleight of Hand
Rails is an utterly cool framework, but that doesn’t mean that there aren’t parts of it that aren’t either smoke and mirrors or mere social gushiness. For example, if you have a phrase that goes Don’t Repeat Yourself with the clever acronym of “DRY”, then you probably shouldn’t say it over and over and over and over and over again. Honestly. Shut up already. Even Assembly Language had macros. We get it. Give it a REST already. Oh, and speaking of REST, remember your other catch phrase, You Ain’t Going to Need It? Well, guess what: you still have sessions, and so regarding REST, you ain’t.
- What, No Windows?
Apparently Rails runs a lot better on Linux than it does on Windows. I say apparently because I haven’t bitten the bullet yet to set up an Ubuntu partition, but it seems to be the gist of the literature. I have no reason to doubt it given that as of a couple of weeks ago my no-model unit test framework (which at the time barely beat “Hello World” in terms of complexity) took 13 seconds to load and run.
- You Call This Documentation?
Unlike the Prototype documentation (which as I said, is beautiful), the documentation for Rails falls into two categories, as near as I can tell:
- Web pages that link to things that aren’t there any more, as though the framework were trying to bury the competition beneath the sheer weight of 404 errors.
- Function documentation that looks something like this:my_rails_function(object, gizmo, options = {}, html_options = {} )
object: some well defined object that the documentation describes in depth
gizmo: some gizmo that’s also pretty well defined but fairly self evident
blah blah blah lorem ipsit dolor yada yada.
Where’s the discussion of “options” and “html_options”, you ask? If you’re lucky, they’re somewhere else on the same page, twenty lines down or under the discussion of some related function. More likely they’re in the source. Apparently if you’re a Rails programmer, a side benefit of saying Don’t Repeat Yourself over and over is having function parameters handled only in the source and not in the documentation.
So much for the pros and cons of Rails. Let’s see if we can come up with some similar virtues and trash talk for Microsoft’s ASP.NET.
What I Like About ASP.NET
What I Don’t Like About ASP.NET
- High Cost of Ownership
I mentioned jobs before, but in some respects this is a moot point or at least not the only point, since what I have discovered about myself long ago is that the guy I really like working and writing code for is me. SQLServer and .NET hosting simply don’t have the same sorts of economies as the LAMP world, and I’m sure Rails is on a path to being that cost effective even if it’s not quite there yet. Thus, to me much of the debate breaks down into a personal decision between entrepreneur versus employee.
- Vendor Lock
As slow as Rails is on Windows, as far as I know the only implementation to date of LINQ to SQL (which one might nickname “ActiveRecord for Microsfoties”) is against SQL Server. Yes, it’s cool that LINQ works with native objects, XML, and SQL, but to date I haven’t yet needed to do a right outer join of my Employees table and my HttpRequest object, and I don’t anticipate that changing.
- Their Model View Controller Support is a Disaster
This may have changed since I last looked at it, but on my last ASP.NET contract they had an MVC implementation that completely broke browser navigation and was a nightmare to code to. I’m not an MVC snob, so I’m quite happy with some pages and code behind talking to a well defined model interface if that’s how you want to do things. However I do think that if you’re going to use the MVC pattern (or any other design pattern), it should work better than the absence of it does. Rails forces MVC on you, but it works just fine. MVC is an optional nightmare in ASP.NET, unless your manager is of that all too common variety that prefers buzzwords over common sense — in which case it becomes a required nightmare.
Thank you for hanging in there for this completely idiosyncratic view of some of the pros and cons of Ruby on Rails versus ASP.NET. I’ve barely scratched the surface, I’m sure, but when it comes to language wars, that’s probably all one should do. In my opinion, programming always represents a certain dynamic tension between “How cool is that?” and “Who’s cutting me a check this week?” Go out and code something, folks. What if they gave a language war and nobody came?
Posted in ASP.NET, Ruby on Rails | 4 Comments »