Jan
16
2008
5
comments

Montreal On Rails, January Edition

Last night I presented git at Montreal On Rails and I think it went pretty well. I might have forgotten a few things I wanted to say, but I got quite enough question about other aspects of git to fill an hour, aspects that I didn’t expect to be able to squeeze in. Although git is a very different beast than subversion, I feel like most people understood what it is all about. We have some very smart people here in Montreal, and it sure does not look like a ghetto. ;)

Now let me remind you of your homework for the week (it leads toward the path to git enlightenment):

  • Listen to Linus Torvalds git talk at google. It really helps understanding the design of git.
  • Install git.
  • If you are currently using svn, see my guide on how to start using git while keeping a central svn repository.
  • Explore parallel universes with branches. Develop a new feature in a branch. Try out a plugin in a branch. Have a branch with rails edge. Do some crazy experimental refactoring in a branch, including renaming files (yes! git will correctly merge).
  • Play with git. Set up local “remote” repository to experience what distributed version control is all about. Try out strange branching scenario just to see how git will handle it.
  • Read the documentation. See if you can find how to: commit only part of file, send your last 3 commit to another branch, change your last commit (there are 2 ways actually).

I got carried away there. Git rocks.

Written by jfcouture in: git, montreal, social |
Dec
06
2007
3
comments

Montreal On Rails, Deployment Edition

Deployment, deployment, deployment. Ok not three, but just two awesome presentations on deployment.

Carl Mercier, Rails Deployment Option

Carl compared the different hosting solutions available for Rails. You want to avoid shared hosting and start with a Virtual Private Server(VPS) so you get enough RAM to run a couple of mongrels. Carl has had good experiences with Slicehost. A dedicated server is the next step if you need more power, but you might want to skip it and go directly to the next option.

Amazon EC2. The game changer. Take all the advantages of server virtualization and add on demand power when you need to scale. Check out EC2 on Rails. It contains a complete image already setup for rails. Also check out Rightscale. They have a nice dashboard to help you manage your instances.

Mehdi Adda, Setting Up Your Server

Mehdi showed how to setup mongrel+nginx+seesaw+monit. Mongrel acts as the app server. Nginx is a lightweight and fast web server. Seesaw allows you to restart your mongrel cluster with no down time and always only one version of your app running. Monit supervises your processes and can kill them if they have a problem, restart them if they crash or send you a warning email if you’re running out of disk space.

Check out Mehdi’s slides. They are very thorough on the steps to setup each part. You can get the slides on the Montreal On Rails website.

Next edition

The next is scheduled for the middle of January. I’m wondering if people would be interested in a presentation on git. It is not strictly rails related, but should be of interest to all rails developer. I’ve been using it for almost three months and it rocks. In fact, I’m going to make a prediction: 80% of all rails developer will switch to git before the end of 2008.

Written by jfcouture in: Rails, montreal, social |
Nov
07
2007
0
comments

Montreal On Rails, 4th Edition Report

Yet another great Montreal On Rails last night, again at the Standout Jobs office.

JRuby on and off Rails, by Mathieu Martin

JRuby is an interesting project in many regards. Whether you already have a huge investments in Java, need one of its many libraries, want a faster VM (not for long), prefer to write a performance sensitive part of your app in Java over C, JRuby has something for you.

It can be tough to follow the development of JRuby and Mathieu did a great job of bringing everyone up to speed on the current state of JRuby and where it’s going. I learned that even C libraries will soon be usable (they just need a small wrapper.)

There remains some small compatibility issues between JRuby and the official ruby, so you need to test your app to see if everything is working for you.

The only thing that bugs me is when I hear that deployment is easier. I don’t think copying a war file is easier than running cap deploy. Yes you have to make your cap recipe and configure your server, but I hear that this is still easier than installing something like Tomcat.

acts_as_state_machine, Alain Pilon

acts_as_state_machine is a great little plugin that more people should know about. Finite state machines are very useful to model lots of thing. The plugin provides a way to define states, events that change the state and actions when that happens. FSM are simple to understand and simple to verify their correctness.

Comatose, Sylvain Carle

Comatose is another nifty plugin that gives you basic Content Management System(CMS) functionality (create, edit pages and history of modifications). Sylvain Carle explained how to use it and how easily they integrated it for the Praized Media website and in another of their projects in two days.

Written by jfcouture in: Rails, montreal, social |
Oct
03
2007
1
comments

Montreal On Rails 3rd Edition Report

Last night’s Montreal on Rails was once again a fun event with three great presentations. Standout Jobs hosted the event in their new offices (quite nice btw).

Gary Haran on Prototype

Gary gave a very interesting tutorial on the basics of using the Prototype javascript framework. I learned quite a few things. Prototype’s doc seems to have really improved in the last year and I should probably learn it, instead of living in fear of writing javascript. Someone mentioned that prototype modifies directly some standard classes and can break other libraries. It’s something you should be aware of.

I would like to see a followup to this presentation, with more advanced prototype stuff and a how to properly write a class.

Francois Beausoleil on Piston

Francois is the author of Piston and presented it in a very succinct way. It’s a tool to help you manage your svn:externals (you probably have a few in your plugin directory). I like it: simple tool that solves a very real problem (breaking your deployment because a remote repository is down).

James Golick on make_resourceful and shoulda

James presented two useful plugins. make_resourceful is like dynamic scaffold for restful controllers on crack. It has a whole bunch of callbacks and things to override to easily customize parts of the controller. shoulda provides lots of test helpers, helpers for validation, model association and restful controllers. That last one is a really nice complement to make_resourceful.

Conclusion

Montreal on Rails is a great initiative. It’s great for the presentation, the networking and it’s gonna help the raise the level of expertise of everyone involved. I heard lots of people talking how they started using things they heard about in past presentations. There’s so many plugin out there today (there’s almost too many) that every edition should have a 15 mins presentation where someone presents 2-3 plugins. See you all next time!

Written by jfcouture in: Rails, montreal, social |
Sep
05
2007
6
comments

Montreal On Rails Second Edition Report

Last night was the second edition of Montreal On Rails, with 50% more stuff! (3 presentations instead of 2) My thoughts on the presentation:

First up was Chris Scott, who presented the extjs Javascript framework. Notes to future presenters: please make sure you take 15 seconds to explain what the framework is and why I should care at the start. Don’t wait 5 minutes where you’re setting up your example to finally drop a ‘btw, extjs is a widget framework’. The presentation started slowly with basic stuff and moved on to bigger and better things at the end. I was really impressed by the layout management possibilities that extjs offers.

There was a lively discussion after the presentation comparing extjs to Protoype. Someone pointed out the obvious that prototype isn’t a widget library, but extjs seems to also cover a lot of what the prototype/scriptaculous combo can do.

I’m not a fan of javascript widgets library. I just don’t think it’s a good idea to want to emulate all desktop application functionalities in a web application. Working with the constraints of the web browser forces you to look for simpler alternatives.

Second presentation was by Chris Lamothe who did a demo on how to add user authentication to your rails application using acts_as_authenticated. It was geared toward newbies. He also briefly mentioned a plugin I didn’t know about, role_requirement, that adds basic role based security to acts_as_authenticated.

“Client-side debugging in Firefox” was the title of the last presentation, by Terje Tjervaag. Actually, he quickly presented a couple of Firefox plugin like Web Developer Toolbar, Firebug and YSlow. If you don’t know about these plugins, download them now! There’s no way I’m going back to using Firefox without Firebug (except for the increased slowness and memory usage). It allows you to poke at and modify anything in your web page, live. Terje seems really knowledgeable about testing the view/javascript/browser issues of an application and I hope he can do a more advanced presentation someday explaining how he does it. Right now, my automated testing stops at the models and controllers.

Suggestions for next presenters: although it’s nice to show live how to do things, you don’t have to type everything in front of the audience, especially when we can see the complete examples commented just below what you’re typing. It’s OK to copy paste. You can also have a basic rails application already setup with what you need. This would help speed up presentations next time.

I hope I don’t sound too critical of the speakers. They did a really good job and I realize that speaking in front of people is not easy. I wouldn’t have done better myself.

The best part of the night was after the meeting, as we went to McClean’s for burger and beer. I had an awesome discussion with Marc-André Cournoyer (read his report), Carl Mercier and Francois Beausoleil (who will be doing a presentation on piston next time). We exchanged war stories and talked about every subject concerning rails from deployment to testing to plugins we use. I hope we can do the same next time!

Note: The next meeting will apparently be at the StandoutJobs office. I bet this is just a ploy by Fred to make sure every rails programmers in Montreal wants to work for them. ;)

Written by jfcouture in: Rails, montreal, social |
Aug
29
2007
2
comments

Montreal Web Development Book Club, August Edition

Last monday was the third edition of the book club. We grew to a party of five this time. Heri talked about Building Scalable Websites, a book by Cal Henderson, lead developer of flickr. Even though Heri recommends the book, he didn’t seem very passionate talking about it. He says it covers a lot ground, but there is only one chapter that talks specifically about flickr. It led to a discussion about denormalization. People thought that few knew about it, or that they weren’t pragmatic enough about it.

Chris Lamothe then presented Textmate: Power Editing for the Mac. He liked it a lot as it allowed him to really understand the power of Textmate. I’m halfway through the book and like it, but I’m surprised that about two thirds of the book are consecrated to building your own automations. I was expecting more on the editing side.

Next book was Scrum and Xp From the Trenches, which is available as a free pdf. Fred Brunel and I had a very lengthy discussion about process in general. It’s been a while since I talked about process, which used to be one of my favorite subject. I feel I’ve read enough about Agile in general (I think I’m post-agile now), but the book seems short and contains actual experiences instead of just principles and practices, so I might take a look at it.

Other reports

  • Heri’s report
  • Fred Brunel’s review of Scrum & XP from the Trenches
Written by jfcouture in: Book, montreal, social |
Aug
18
2007
2
comments

DemoCampMontreal4 Report

Last night I attended my first DemoCamp. It’s an event where people get 15 minutes to demo one of their project.

BrainCuts

Francois Magnan from Categorical Design Studios started the night and seemed really nervous and didn’t talk very loud. He spent five minutes talking about the semantic web just to get to say that his product uses OWL for an ontology. I guess this is good thing? Did it allowed you to do any thing cool, or something that would be very tough without OWL? (I’m sorry. I never saw anything really useful with semantic web technologies (or they have huge implementation problem) and am always fascinated why some people need to mention they used one, yet can’t explain any clear advantages.)

The presentation was hard to follow so here is what I think I understood: Braincuts is a scenario editor that allows you to mix video, images and sound. It can be used for e-learning.

I saw glimpses of a really cool UI, very impressive stuff done entirely using web standard technologies, but I’m not sure what all this tech is used for.

PodBean

David Xu presented PodBean, a side project while he finishes his studies at McGill. For a side project, it is very impressive. I think the best way to describe PodBean is wordpress.com for podcasts (it actuallly seems to be built on wordpress). If podcasting interests you, check it out.

ClixConnect

Mitch Cohen presented ClixConnect, which offers live chat (support / sales) 24/7 for any website. They target SME which can’t afford to have the staff for this. I think it’s an interesting business model. It’s not for everyone, but things seems to be going well for them (they just launched in april).

Josh Nursing

One of the presentation spot was left open this afternoon, so Josh Nursing put something together real quick, and it showed. Half of the presentation was about a bug he found in IronRuby, and the other half about some king of autocompletion for e (a text editor). I’m sorry, but I was bored to tears. Each could have been shown in under a minute, yet he found ways to keep rambling. I guess this depends on the technical level of the audience.

url_pipe

Daniel Haran finished the night with url_pipe. The idea is to bring the power of the unix command line to the web. A simple example he showed involved running a news feed to a geocode service and then displaying the results in Google Maps. He also showed a filter where you draw a shape on google maps so you could see only what’s happening in that region.

The final objective is to be able to have a command line where you could chain all these commands together. Yahoo! Pipes does something similar, albeit in a less powerful and graphical way. Daniel mentioned another use case for this utility: finding an apartment. You could search an rss feed for only 4 and a half apartments, geocode them, and then make sure they are situated in the areas you wanted on google maps. Now that’s cool!

Written by jfcouture in: montreal, social |
Aug
08
2007
2
comments

Montreal On Rails First Edition Report

Tuesday night saw the birth of the Montreal On Rails user group in a small room on the Mcgill campus. It was a lot of fun.

The first presentation was by Marc-André Cournoyer, Standout Jobs Ruby Guru, entitled “How to make your tests faster”.
Marc-André started with a very funny introduction. I don’t know how to describe his intro. He should turn it in a video for all to see. First part was a demonstration of caching results from external apis (he used twitter as an example) to a file to make tests go really fast on your development machine. You then add a flag so the build machine uses the actual api. You get the best of both worlds: fast tests when developping, but you also validate that the api didn’t change. I just started a project monday that is gonna connect to 3 apis, so the presentation was very timely.

The second part was about a plugin he is developping called InactiveRecord to stub out the access to the database for your test. You can find the slides to his presentation along with the code here.

Second presentation was from Carl Mercier of Karabunga. It was a small tutorial on HAML, a templating engine for Rails. You can play online with HAML here. The latest version released a couple of weeks ago seems to have fixed a lot of performance problem (30% slower than rhtml instead of 1000% slower). I will have to give it another try soon, along with sass, which is haml for css.

Suggestions for improvements:

  • Bigger room for more people, but also more open space to make it easier to socialize, and a room where donuts are allowed ;)
  • Wiki on montrealonrails.com so people can post suggestions for topics that would interest them for presentations
  • Maybe we can have a round of quick presentation (2-5 mins) if let’s say you want to present a small plugin or a ruby trick. This could help orient discussions after the main presentation. It would also allow more people to talk and present themselves, in a less intimidating way than a full blown presentation.
  • Maybe someone is crazy enough to want to videotape the presentations?

I can’t wait for the next edition!

Written by jfcouture in: Rails, montreal, social |
Aug
05
2007
1
comments

Montreal Web Development Book Club, July Edition

Last monday was the second edition of the book club. Once again there were a lot of great discussions on a wide range of subjects. I had the chance to catch up with an ex colleague, Mathieu Jacques, developper extraordinaire at Dakis Decision Systems. Heri and Patrick Tanguay completed the foursome.

Heri wrote a very comprehensive report if you want more details on the books discussed. The next edition will be on 27th of August, 7pm, at Laika. If you enjoy discussing around a beer, please come!

Written by jfcouture in: Book, montreal, social |
Jul
11
2007
0
comments

Montreal Tech Entrepreneur Breakfast Meet-up, July Edition

Yesterday morning, I attended my first MTEBM at Bistro etc. I’ve always been a bit shy, but it was surprisingly easy (even for me) to start talking. I met some very nice people and the energy level was high.

Mark Schanzleh and his partner Amélie Racine talked about staynomad, their travel startup. Mark is very passionate and he probably could have talked about his project all morning long. I had a very interesting (and mostly technical) talk with Marc-André Cournoyer and Pierre Phaneuf. On my way back, I had the chance to discuss with Mathieu Balez. He’s a smart guy and I can’t wait to see what new project he is working on. He is also starting a Montreal on Rails community, with the first meeting around August 7.

You can read Marc-André’s and Heri’s report with some photos.

Written by jfcouture in: entrepreneur, montreal, social |

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes