Archive for May, 2008

Random Thoughts on Social Sites

Antonio Cangiano May 29th, 2008

The Internet is a great teacher on the subject of human behavior. Not the Internet per se as a medium, but the zeroes and ones that it moves across the globe. They represent both the best and the worst parts of human nature, and everything in between. It enabled me to come in contact with thousands of people that I would have never met in “real life”. A few of these people have become friends, as real as the ones that happen to live in close proximity. As I’ve invested a lot of my time on the Internet, I’ve met people that challenged my world-view, changed my mind on several philosophical matters, informed me, taught me many things, enlightened me, insulted and upset me and, at times, even infuriated me.

Come to think it, I can enjoy most of the things I hold dear today thanks to the Internet. Online, back in 2003, I found the first job that allowed me to get away from the sinking ship which is (my home country of) Italy. A lot of my technical knowledge was acquired with the aid of resources available online. Through this blog I managed to get my current job and move to Canada. I even met my lovely wife online.

Unlike newspapers or TV, the Internet is a live organism and we are single cells which are able to interact with each other. Interaction over the Internet is not as good as direct human contact, but it opens up a world of possibilities thanks to the immediacy of making contact with so many people. Letters are more personal than emails, but how many emails have you sent out this week and how many letters? Chances are that the score is a few dozen to zero.

The Internet can be silly with its funny and somewhat juvenile memes, and the anonymity that the web affords tends to alter some people’s behavior for the worst. But overall, connecting more than a billion people to each other is probably one of the greatest achievements that the human race has ever accomplished.

As a developer and technical evangelist staying on top of what’s going on in the online development and tech communities is part of the game. I try to avoid “wasting” hours of my limited free time on thousands of blogs, so social aggregators like Hacker News or (selected subreddits) of reddit.com can be helpful when it comes to highlighting just a few noteworthy articles. My participation on such sites is somewhat sporadic; I follow them on a daily basis but only occasionally post comments or make the odd humorous remark. I submit my own stories (a legit thing to do) mostly to get extra feedback on what I’ve written, but I’m essentially a lurker.

Years of participation in forums, groups, newsgroups, tech sites, social sites a la Reddit, and very recently Twitter, led me to realize a few things about what I like and don’t like in web communities, and how easy it is for them to go downhill.

When communities like Reddit form, you can usually expect above average content and insightful discussions by like-minded, highly-intelligent people. Unfortunately with the rise in popularity of these sites, they are often joined by large crowds of people who water down the initial community. As a consequence, content and discussion quality rapidly decays. It becomes mediocre, by definition. In due course the community understands that things are taking a turn for the worse; some participants may even complain, but overall the community will still act with a certain level of snobbery and elitism which would have been justified – if elitism and snobbery are ever justified – only in the early days.

The ever popular “Go back to Digg” that you see on Reddit, assumes an unintentionally hilarious connotation, given than Reddit’s contents and comments are not all that better (than Digg’s) nowadays. They are both mediocre, albeit in different ways. Digg is perhaps worse from my standpoint, because (for example) valuable programming articles are almost impossible to see on their front page. Digg is very juvenile and I only visit it occasionally. As silly as it is, Digg can bring a smile to your face because they have much less “negative” material than Reddit, which has plenty of police brutality and tin foil hat propaganda (and I say this as a liberal person). On the whole, Reddit’s comments still strike me as being more insightful than Digg’s, however valuable articles (at least valuable to me) are a minority and are considerably rare these days on either site. Call it “the mediocrity of crowds” or even their idiocy if you will.

Ad based communities have an interest in attracting a very large audience. And the vast majority of the general public is interested in learning about and discussing when Paris Hilton goes to jail, as opposed to articles on how to implement a VPN through Tun/Tap or an enlightened discussion on global economy. Attracting Average Joes, also has an economical incentive. Programmers, scientists and technical minded people are unlikely to click on ads, unless they’re really interested in the given ad. Most such people probably have AdBlock installed, too. A more general public, comprised of less computer savvy folks, usually “dumbs down” the community, but is numerically superior and also much more likely to be lured by ads or click on them by accident. Both the size and the heterogeneous nature of this group, increase the chances of including several heavy clickers, that 6% of the online population that accounts for 50% of all display ad clicks (according to a recent study).

I no longer bother submitting my articles to Digg, because both the traffic levels and feedback that I receive are useless. I still submit to Reddit, for the simple fact that they were able to create small communities within the general community, where I find programming.reddit.com a still relatively interesting place to hang out, despite their bias against Ruby and (particularly) Rails. The system of subreddits is, in my opinion, flawed. For example, Ruby articles belong to both the Programming and Ruby subreddits, therefore a folksonomic approach via tags would have worked much better than a taxonomic one. If they weren’t too fond of tags, they could at least have used Programming.Reddit as a meta subreddit that properly pulls contents from children subreddits like Ruby.Reddit, Python.Reddit, Java.Reddit, etcetera. On Reddit, I also noticed that top-notch content often gets downmodded by bots or by small networks of “spammers”, so it is harder for legitimate content to emerge.

If you want another example of a different kind of site that went downhill for the sake of popularity, think about TechCrunch. It moved from being an interesting site that discussed (in a lighthearted manner) technical topics and startups, to a gossip site for tech people, that’s just barely better than ValleyWag. Yes, Twitter has been embarrassingly slow and unreliable over the past two weeks, but was it really necessary to create a huge polemic around the fictitious news that it was Rails’ fault and that Twitter was about to abandon the framework? That brought a huge deal of traffic to TechCrunch, and that’s what matters to them. It doesn’t matter that it gave away the fact that they don’t understand anything about technology or scalability issues, when they blame Rails for the fact that Twitter’s MySQL database keeps crashing. Twitter needs to pull itself together, that’s for sure, but spreading FUD creates the sort of agenda that no quality site should support.

Another problem that plagues social news sites and web communities in general, is that people hide themselves behind their anonymity and are not accountable for their actions. As a result, their comments towards perfect strangers are often unnecessarily mean. These comments would most likely never be said if the two parties were talking face to face. I can’t even recount how many times I’ve posted well composed articles or comments, only to see responses like “idiot”, “moron” or similar insults. Guess what, I don’t need to frequent unwelcoming places in real life, and I don’t feel the need to do so online either. A community in which a member can offend another for no good reason, without the proper response (in defense of the first party) by other members or a moderator, is a lousy place to hang out at, and will alienate well intended participants. This doesn’t mean that controversy or contrasting opinions should be removed, I’m only referring to insults and blatant disrespect towards fellow site members.

I like how Hacker News set themselves apart from the beginning. Frivolous stories, inappropriate comments and spam are killed/removed. As long as the moderators of the community have a good sense of (consistent) judgment and clear rules, I’m extremely in favor of moderation. It is a sad reality, but moderation along with fomentation of the right culture and attitude are probably the best working solution, short of charging a membership fee. That’s the reason why amongst Reddit, Digg and Hacker News, I now favor the third one despite its clear bias towards entrepreneurial material and the fact that, if Paul Graham isn’t careful, his community’s merits are likely to fade away as well.

Ruby on Rails for Microsoft Developers

Antonio Cangiano May 28th, 2008

Last Friday I sent the first chapter of my book to the Development Editor. It’s only one chapter, which is about 30 pages or so of text and figures. I foresee and fully expect that the real challenges are still to come; yet a great deal of work already went into this first stepping stone and I feel very satisfied by the initial results.

While I briefly mentioned, on Twitter and here, that I was going to write a Rails book, I never provided any details given that the book was still being discussed and the contract had yet to be finalized. Now I can finally provide you with a bit more information. The book will be Ruby on Rails for Microsoft Developers and it will be published in December 2008 by Wrox (in their Professional Series).

I’m always motivated by a sense of purpose, and wouldn’t be able to find it if the book were to be yet another generic Rails one. I’m ecstatic about this project, because I feel that it’s a book that matters. If I do a good job, this title will be more than a Rails guide for .NET programmers, it will be an immersion course into the Rails community and culture for those developers who come from a very different background and have, more often than not, different opinions and viewpoints on development. I’m writing it because I feel it’s a book that needs to be written.

Being a book by Wrox, you’ll also get to see my chubby face on the cover, a very strong argument against the otherwise nice personal touch that Wrox covers convey. ;-) Given that self-portraits are discouraged, I’m open to suggestions and recommendations for a good professional portrait photographer in Toronto or the GTA. More than a photographer, I’d need a miracle worker. But oh well, I started a proper diet nevertheless, even if it won’t have done any good by the time my picture is taken in June. :-)

Frivolous matters aside, so far the journey that just began has been great and characterized by the distinctive feeling of working with a team of real professionals who’re eager to help. I’ll keep you posted as I progress through this marathon.

This Week in Ruby (May 20, 2008)

Antonio Cangiano May 20th, 2008

This is the 8th episode of This Week in Ruby, please consider subscribing to my feed so as to not miss any weekly installments.

Ruby

Yehuda Katz released a couple of “gems” this week: Thor improves Ruby’s support for scripting, and it was created while he was working on a Textmate gem for handling bundles.

You may have heard about the book: The Ruby Programming Language. I found this review to be an interesting read if you are considering purchasing it.

Struggling with regular expressions in Ruby? Now you can use Rubular, an excellent way of editing and testing Regular Expressions in Ruby, so that “you don’t have a new problem”.

If you are one of the developers who prefers Flex to Ajax, then you need to check out Ruboss, a new framework aimed at simplifying the creation of Flex powered Rails applications. The co-author of the framework is also the author of Flexible Rails, a well written book that I’m trying (slowly) to read, even if at this stage I don’t plan to use Flex.

DataMapper continues to gain momentum in the Ruby community, particularly for its usage with alternative frameworks. An article titled Thoughts on DataMapper provides a lot of insight into this enterprise level ORM.

Rails

The big news this week is that Rails is finally on Rubinius. This follows a previous announcement in which the Rubinius team managed to get Merb up and running. Once long ago, at the time of my first shootout when Rubinius was a very young project and performed poorly, I had an email exchange with Evan Phoenix and I told him, “I secretly think that your project may become the most interesting implementation of Ruby.”. I stick to that conviction. As long as they manage to improve performance to the point of being as fast as Ruby 1.9, they have a shot at becoming the most popular Ruby VM. The company that made this possible is Engine Yard, and you may be interested in checking out this interview with their CEO, Lance Walley.

WindCityRails is a one-day (September 20, 2008) not-for-profit conference. There are only 150 places available and these will sell out really fast. Book your sit now, it’s only $99 for a day of fun and coding.

Other remarkable articles from this week were: Chunky Iterator: So You Don’t Have to Load All Your AR Objects at Once, Do we really need Controller and View tests?, Guide to Unobtrusive JavaScript and SWFUpload, Paperclip and Ruby on Rails.

Not exactly published last week, but still worth mentioning is this series of Notes from the Advanced Rails Studio (part 1, 2 and 3).

mod_rails

Dreamhost is now officially on Passenger; this is a major score for the guys at Phusion. They also have a challenge up with t-shirts offered as a prize, for those who can identify the various deployment configurations compared in two speed and memory charts, while testing the blog engine Typo 5.0.3.

This week Geoffrey Grosenbach shared his point of view regarding mod_rails in Ask Your Doctor About mod_rails, while the second part of Ubuntu 8.04 Rails Server Using Passenger went up.

It could be said that the Phusion guys are very good at creating hype for their products, but — for now I can’t say more than that — they seem to deliver.

« Prev - Next »