Last night saw another great Ruby on Rails Oceania Sydney July meetup (say that ten times quickly). We were lucky to have Brad at Job Futures pitch in with supplying the venue yet again, as well as us scoring 4 great presenters and plenty of drinks:
- Matt Allen – Rails on the Fairway
- Lachlan Hardy – Beautiful Maintainable CSS
- Patrick Crowley – Styler & Headliner
- Hoan Ton-That – facebook-rails
For those who weren’t there we managed to record the video via VNC and screen cap, and the audio thanks to a last-minute purchase by Jason Crane. Though Lachlan’s preso had problems with bandwith (note to self: VNC over wifi not good) it worked seamlessly, and I’ve sent the videos to Lachie via Auspostnet for further processing. The start of a podcast maybe? Who knows…
Marcus managed to pop his Melbourne head in for a few mintues over ichat but we couldn’t keep it up unfortunately. Have to think more about the whole webcasting thang eh.
Matt Allen – Rails on the Fairway
Matt Allen gave an intro to iseekgolf.com’s history and scaling issues, giving a bit of a history behind how it went from a large PHP app with a phpBB forum with just under 300k posts, to a Rails application and Beast. It was interesting to see all the caching on the site is done with fragment caches on the file system, using observers and cron-jobs to have everything ticking over automatically.
iseekgolf handles 200k req/s during peak on 4 mongrels for the Rails app and 4 mongrels for the beast forum, with a separate DB server.
Update: My very poor choice of wording below (“feature hungry whiners”) in describing Matt’s small aside about the change of forum software seems to have upset a lot of people. These were my words, not his. See my comments below for my take.
Matt also mentioned changing from phpBB to Beast weeded out all the feature-hungry whiners from the community who split off and created their own forum, leaving only the people with an interest in golf and helping the community in the iseekgolf forums. Possible community management stategy?
Lachlan Hardy – Beautiful Maintainable CSS
Lachlan receives the prize for the sexiest presentation of the evening. Though Lachlan is a front-end coder by day he comes with an appreciation for the Ruby aesthetic and design, showing us how to create logical, maintainable CSS just like we do with Ruby. He explained using CSS shorthand is like using select and reject
to work with collections instead of an each loop with an if statement. Sure it requires you understand the syntax, but it’s always better to master the language to create more concise and descriptive code.
Some of his general tips:
- A system or framework always trumps adhoc coding, so…
- If you don’t order your CSS property statements, then use the system of ordering them alphabetically.
- Nesting can infer hierarchy. Use this to your advantage.
- Large files need tables of content, just like large files of Ruby need structured navigation (though usually from the code itself).
- Write semantic HTML (CSS was designed for it which will help write elegant code)
Patrick Crowley – Styler & Headliner
We’re lucky enough to have Patrick Crowley in town from the San Diego Ruby Brigade, the master of Ruby Brigade video podcasts, who is staying in Sydney the two months the rest of Sydney is running to far-north Queensland to escape the cold.
Patrick demo’d two plugins which solve problems that he’s come across in almost every Rails app he’s developed; managing and organising your CSS files, and doing page titles.
The first plugin he demo’d, Styler, automagically causes a request for /articles/1/edit to turn:
<%= stylesheets %>
into:
<%= stylesheet_include_tag 'application' %>
<%= stylesheet_include_tag 'articles' %>
<%= stylesheet_include_tag 'articles_edit' %>
<%= stylesheet_include_tag 'articles/edit' %>
if the files exist in the public/stylesheets.
I have in the past found this approach really handy when working by myself or on a small team.
The second plugin was Headliner, which handles the common problem of managing page titles in your views in an elegant way.
Headliner lets define your page title to use in the <title> tag in your view, whilst also outputting it. For example:
<h2><%= t "About me" %></h2>
Would output both:
<h2>About me</h2>
as well as setting things up so in your layout file you can output that title like so:
<%= title :site => "toolmantim.com" %>
which would output, with no extra work:
<title>toolmantim.com: About me</title>
Big ups to Patrick for giving a talk whilst he’s in town and staying til the taps ran dry at the pub. Unfortunately I’ve no incriminating photos were captured (yet), unlike previous international super-star RORO guests.
Hoan Ton-That – Facebook on Rails
Hoan finished up the night with a demonstration of the facebook-rails plugin he’s written and using to power the Writeslab facebook application.
I’d previously spoken to Hoan at Railscamp about it, but was particularly keen to see a demo and hear more as I’m working on a facebook app myself.
Hoan showed some very Rails-esque facebook integration using his facebook-rails plugin, which builds upon RFacebook code to make the Rails code just damn sexy.
For example, the code to implement getting user details goes from this with RFacebook:
xml = fbsession.users_getInfo(:uids => [fbsession.session_user_id], :fields => ["first_name", "last_name"])
firstName = xml.at("first_name").inner_html
lastName = xml.at("last_name").inner_html
to, when using facebook-rails, something much sexier:
u = User.find(fbsession.session_user_id)
u.first_name
u.last_name
Want to send a notification to the user’s friends that they’ve puked on them? Of course you do.
class PukeNotificationPublisher < Facebook::NotificationPublisher
def puke(friends)
@to_ids = friends.map(&:uid) # bug in redcloth, should read &:uid
@text = "just puked on you"
end
end
Not to mention redirect_to now works as you’d expect, the urls are mapped all nicely for you and support url_for, and lots of other little goodies. Awesome work Hoan!
After the presentation’s wrapped up we headed to PJ O’Briens for some bevvies and food.
Two things I forgot to mention on the night though were those who haven’t got them should’ve picked up their railscamp tees (yeah I know, not real good now) and Dr Nic is running a Beginner Ruby on Rails Workshop alongside the Web Directions conference on September 25.
To keep up-to-date with the Sydney Rails events check out the the Rubyholic.com page along with the ical feed subscription that’s available from there.
Keep an eye out for some exciting but as-yet-unannounced Rails events coming up in Sydney over the next 3 months, and don’t worry… the recordings of last night’s presentations should be up early next week.
Archived comments
Comments were previously allowed on articles. Though no new comments are being accepted you can see the old comments below.
-
It was great event, Tim. Hope to attend more.
-
If ISG is proud of burning its longest-serving, knowledgeable and intelligent members then matters at ISG HQ are more dire than anyone could have imagined.
You only need to peruse the quality of the content on ISG compared to the offshoot forum to see that is a cold, hard fact.
-
I must be a feature hungry whiner ISG is talking about how ever I didn’t leave the site because of those reasons, I left because they stuffed the forums up and refuse to admit they make a cock up of the whole thing. I have supported ISG in the past and thought it was a great site until they treated people who made the forums a success like crap. This is merely the icing on the top pf the Crap Cake.
thegolfforum has everything ISG used to have but no longer does…. including a soul. -
If you call being able to view the last unread post in a thread a “Feature Hungry Whiner” that must be me. How basic a feature of any forum is that. Oh, and PM’s as well, rubbish is as rubbish does.
-
I think iseekgolf’s re-write has been an extremely disappointing exercise in treating posters as an irritant rather than a valuable resource. What is been seen by a programmer as a “functional technical positive” is seen by users as a “feature negative” — with no personal contact, more difficult use, impossible searching and a hard-to-reference posting history.
I’m just astounded Matt thinks the community has been “weeded out” for the better. If anything it’s the opposite — some of the best and most information rich posters that made the site interesting to log in to have just deserted the ship. Where is the logic in abandoning your customers, some of whom have made thousands of useful posts, because you refuse to make the site more functional and easier-to-use for them?
I was a “moderate” iseekgolf user who made a point of considerate, rational posts (I could tolerate a bit of bogan or boys-will-be-boys humour!). But to me iseekgolf is now dead. It receives a fraction of the posts it used to and some boards have nothing for hours or days. Guess that makes it easier to manage, or a “community management strategy”. Other companies would call it losing customers.
-
Those smart arse golf architecture blokes ruined my dad’s reputation. Of course they were only telling the truth but that’s not the point!
-
I miss the old iseekgolf.com forums, and especially that hot babe forum member called Scorpiochick. That image of her from Henrys avatar has helped me get through many a cold night here in Adelaide I can assure you. And where did the PM’s go?
-
I’ve obviously managed to spark up some emotion from those involved.
The words “feature-hungry whiners” were definitely something that I made up and I don’t believe Matt used any such lingo. He was talking more in generalities about the pros and cons of moving from phpBB to Beast. It really was just an aside from Matt and there was never any overarching plan to upset people and have them leave. I just thought it was an interesting side effect.
Sorry if I’ve offended anybody or misrepresented ISG or Matt.
Any specific feedback about ISG/TGF’s features etc is probably best in the ISG/TGF forums.
-
Tim, regardless of whether there was an “overarching plan to upset people and have them leave”, that is exactly what happened.
Anyone who thinks that the new forum is an improvement must be on drugs. The people who left aren’t feature-hungry whiners, rather they were frustrated that features they’d come to rely upon (such as PM’s) were no longer available. When they pointed this out, they were treated with derision.
-
botomfeeder: I understand your frustration at ISG over the stripping down of the forum, and I also understand that ISG had to make a compromise which has streamlined their operations and improved other areas of the business. Maybe there is/was a win-win option. You’ll have to work with them on that one.
-
We tried to work with them and gave them every chance. The problem was that they were far too thin-skinned and continued to try to fob off the forum populace with complete garbage. Every time they were “busted” they cracked the sads and modded/deleted every post that they didn’t like regardless of its validity or otherwise. Virtually every bit of feedback was treated with derision and forum members were treated as halfwits. This despite the fact that a number of long-term forum members were very experienced in both upgrades and code-cutting.
-
Have to agree with the Judge.
It went from an informative forum site with social banter of all levels to now just a pure golf only site.
The posters who added the social side where the ones who built the soul of the place and made me want to come back and read more
That social side was driven by PM’s, people having a thick skin, etc
All gone to TGF now.
To be honest, I believe both sites are not even close to how ISG used to be.
-
This seems like a great discussion to have somewhere else. :)
-
That link didn’t work for me.
-
Hi Tim, appreciate your comments. Does Rails allow for private messaging and a search function when used for forum software? Would you agree it isn’t unreasonable to expect these sort of functions from a modern day forum? Cheers, Jim.
-
Jim: Rails is a generic web application framework which you can build anything with. Beast is a forum software package written with Rails. Adding PM to Beast requires modifying or extending it, which brings trade-offs around upgrade cycles, stability and maintenance. Whether or not these trade-offs stack up for ISG and its users I can’t say.
-
I’m too old to know much about fancy computer speak, but one thing’s for certain – ISG was an infinitely better site in it’s old form. It’s decline in post quality following an alleged ‘upgrade’ should serve as a case study for the forum software industry – don’t ‘fix’ what isn’t broken.
-
I read with much interest this community management strategy. I tried it, and it not work as good as it did for you iseekgolf.