Archive for the 'conference' Category

Presenting Thin at Montreal on Rails

MoRIf you’re in Montreal next Tuesday, be sure to come to the next Montreal on Rails. I’ll be presenting Thin with a fanfare, dancers and pizza.

RSVP if not already done and do it fast, places are limited.

I’ll present some new features in the upcoming Spherical Cow release and recode Thin like I did at DempCampCUSEC, but this time, with one hand tied being my back and someone yelling at me in Russian. All this in 2 minutes (I don’t know yet what I’ll do with the remaining time).

DemoCampCUSEC follow-up

Yesterday I presented Thin at DemoCampCUSEC. Things went pretty well and the other presentations were very good too.

My demo was basically re-coding a simplified version of Thin live, here’s the final result:


%w(rubygems eventmachine thin thin_parser rack).each { |f| require f }

class Connection < EventMachine::Connection
  attr_accessor :app

  def initialize
    @parser = Thin::HttpParser.new
    @data = 
    @nparsed = 0
    @env = {}
  end

  def receive_data(data)
    @data << data
    @nparsed = @parser.execute(@env, @data, @nparsed)

    process if @parser.finished?
  end

  def process
    status, headers, body = @app.call(@env)

    body_output = 
    body.each { |l| body_output << l }

    send_data "HTTP/1.1 #{status} OK\r\n" +
              headers.inject() { |h, (k,v)| h += "#k: #v\r\n" } +
              "\r\n" +
              body_output

    close_connection_after_writing
  end
end

welcome_app = proc do |env|
  [
    200,                                  # Status
    {'Content-Type' => 'text/html'},      # Headers
    [
      '<html><body>',
      '<h1>Welcome</h1>',
      '<p>Welcome to my server!</p>',            # Body
      '<p><a href="/rails">My Rails app!</a></p>',
      '</body></html>'
    ]
  ]
end

rails_app = Rack::Adapter::Rails.new(:root => /Users/marc/projects/refactormycode, :prefix => /rails)

app = Rack::URLMap.new(/ => welcome_app, /rails => rails_app)

EventMachine.run do
  EventMachine.start_server 0.0.0.0, 3000, Connection do |con|
    con.app = app
  end
end

Hope you enjoyed it!

BarCampMontreal3 report

I just came back from BarCampMontreal3. It was an amazing event! You really missed something if you didn’t came!

Here’s a remix of the notes I’ve taken from the (un)conference.

How data will save the world

Hugh McGuire delivered a great talk about two of his projects: LibriVox and DataLibre. Excellent talk, that started up the event nicely. I didn’t took notes at that time so I can’t quote quotes, you had to be there.

(Oh I think I missed a couple one here…)

RefactorMyCode

Marc-Andre Cournoyer presentation was boring… sorry about that. My computer crashed just when I plugged it on the projector. I had 5 minutes, so I improvised while waiting for the computer to reboot. But anyway, when I asked who knew about the project, a lot of people raised their hands, I was surprised!

JetFire

Looks like a new language with a syntax similar to Java and built-in workflow stuff. I didn’t really understood it. Seems like a framework for building web apps with customizable business logic.
John Hansen, from Jetfire, posted a comment pointing to this article for a short description of Jetfire.

Deploying desktop apps

Avery Pennarun showed with his banking app, how deploying can be easy with desktop app. He showed, installing and updating, all with a simple click. The cool thing is, he did all this without using InstallShield or anything. He built it himself and said it took only 300 LOC or so. Impressive! He said it’s as easy as deploying a web app. Well I not sure from the point view of the user, he still has to click somewhere and be aware of the updating process.

TimmyonTime

TimmyonTimeFrank Lamontagne and Dan Simard presented their project. TimmyonTime allows anyone to fill in timesheets and manage tasks by IM. Sadly they couldn’t get the thing to work even tough they had 3 backups solutions! Somebody shouted you should have called it Murphy, Frank replied they also tough about calling it GeorgeOnTime but it doesn’t sound so nice… They did a great improvisation anyway and also organized another presentation afterwards to show the thing.

CakeMail

CakeMail sampleFrancois Lane was next, announcing CakeMail public beta launch! The service, is for resellers only, it’s not branded. He had cool animated slides showing why they chose a cake as the logo and the name, because it’s all layers, API, something-I-forgot, plugins. It’s multilingual, has a couple of plugins for analytic, CRM and Google Maps. He also did a demo of it by sending and email to people registering to a mailing list live during the presentation, nice idea! Plus they offered cupcakes for lunch, they won me on that!

Keiky project

Evan Prodromou presented Keiki, a wiki for parents. After his success with WikiTravel and Vinisimo he was used to having free books and info. So when he and his wife got a baby he couldn’t travel that much anymore, that’s how he started Keiki.

Lunch

Lunch was free! Sandwich, vegetables and salads. Dessert was offered by CakeMail, as mentioned before.
I had great talks with Denis Canuel, Mehdi Akiki about Blitzweekend and with Duncan More about CakeMail and multilingual issues in software.

Startup Kung-Fu

Sylvain Carl
gave plenty of tips on how to start a startup in Montreal. 40 meetings rule, 40 meetings before anything happens, shit that’s a lot! One of his lesson was : Knowing what will be your features is not that important… Knowing what’s gonna happen next is more. Location doesn’t matter, it is possible Montreal, he met more then 10 VCs here he claimed.

TikiWiki

Marc Laport is a project manager of TikiWiki a wiki engine that is very active, top 20 most active project on SourceForge! Lots of documentation, he showed a 950 pages manual. Some features that make it different from MediaWiki and all are: builtin multilingual, better permissions, custom theme.

YulNews

Denis Canuel started with a quote claiming everyone is a journalist. He talked about his upcoming social news site. He gave a couple of hints on what will be the features by saying how timelines could be useful to display what happened around an event. But sadly he presented no demo, saying it was too alpha yet but still asked people to register for alpha on the site.

StickyCal

Erik Wright and David Lemieux presented StickyCal.
Learn about events before they happen, like music shows for example. It’s simple to setup, put an script tag on your page and you’re done. No authentication required and let your friends know you’re attending an event. It keeps the user on the band’s page. But again, no demo…

Notes on HTTP

Pierre Phaneuf was next presenting his guide on making your website faster with caching using Modified-Date or ETags, compression and a couple of others. One memorable quote:

The faster way to handle a request : don’t handle it!

I wish this came before I had to optimize RefactorMyCode. But he forgot to mention YSlow!

MercuryGrove

Scott Annan showed MercuryGrove. Basecamp-like web app. Really looks like Basecamp + Highrise + Backpack.
Not enough time and the app was too slow.

Coradiant

Quick talk. Big company. They install a box on your web server and you get detailed real-time stats of the visits on your site.

Raising angel financing

Austin Hill was next with a talk on how to raise angel financing. Raising is like dating. You need to build a relationship first, not like getting a girl in bar. Look for second time entrepreneur, look for sold cie in your field., target groups of angels. Convertible dept is the preferred way. There was lots of interesting questions after the presentation: What is an angel investor? anyone who invest in private cie, lawyers, 2nd time entrepreneur. 3-6 month to put and angel round. Don’t commit to long term things

I left, before the end, sorry for all the other presenters.

Upcoming BarCamp and Montreal on Rails

BarCampNext BarCampMontreal is this weekend, November 3rd, I’ll be giving a short presentation on RefactorMyCode.com. I’ll also be giving away a free special and unique gift to celebrate RmC success and announcing a new secret feature, be there!

Montreal on Rails is next week, November 6th, I won’t be giving a presentation on anything, but lots of interesting people will.

There’s also a conference on castle system in Christianity, November 5th, in Madurai, India.

See you there!

Update: I can’t make it to India for the 5th, sorry!

Montreal On Rails 3 tomorrow

Montreal on Rails 2Have you ever dreamed about being amongst the best developers in town ? Well, here’s your chance : Montreal on Rails is tomorrow! With 3 of the best Rails hacker in the world (of Montreal at least) presenting!

It’s in our StandoutOffice (suite 615). Register in the following 15 minutes and get the chance to sit on my chair, for FREE*!

* Conditions may apply. Participants will be required to have their hand clean, be freshly shaved and have a decent haircut.

Montreal on Rails 2

ImageMontreal on Rails was yesterday. It was the place to be for Rails and even web people in general. 3 great presentations with really useful stuff, you can actually use. How’s that ?

Ext on Rails

Chris ScottChris Scott showed the Ext Javascript framework. Lots of cool stuff, really crowd pleaser and exciting. Fancy javascript dialog closing the gap between desktop and web apps. But man does the code reminds me of Swing. Bad, bad, bad memories! Chris strangely claimed that Ext was better then Prototype and that Prototype was the past… I think this is like comparing tomatoes and cream cheese and salmon bagel. Prototype is what Javascript should have been from the start, it’s a framework to write beautiful Javascript code that looks almost like Ruby. Form the demo and by looking at the doc, Ext is a UI toolkit framework. It sure has all the cool stuff Prototype and Scriptaculous has, but I didn’t like the API. With hash arguments like script, callback I sure miss the expressive evalScript and onXXX. Ext looked really verbose on many levels, from event management to layout setuping. Small details you tell me, but “This is all your app is: a collection of tiny details.”. Even though my reluctance here, that was an amazing presentation, though provoking! Nice work Chris!

Authentication with Rails

Chris LamotheChris Lamothe then coded live in front of us a Rails app from scratch using Acts as authenticated plugin. Chris said he’s not a Rails expert, even a beginner, so I think this is an exploit to be able to code a live app in front of a crowd like this. He covered pretty much all you need to know about this and after his talk we all had a brief discussion on other alternative plugins: Restful Auth and Salted password generator. A nice presentation for people starting with Rails, plugins and authentication.

Client side debugging with Firefox

Terje TjervaagTerje Tjervaag was last with a series of tips on how to debug your Javascript. He started off with a really brilliant quote: “Debugging your javascript should be the last thing you do”. Wow! He advocated unit testing and validating your code before even thinking about debugging. How brilliant and such a nice introduction. I never though about js debugging this way. How come you don’t have a blog Terje ? Living in 1994 ? Come on!
He presented tools like Firebug, HTML Validator, YSlow and Web Developer toolbar. He showed how to used them next, hacking some css and js live in Firebug console.
After his talk he proposed that we (Montreal on Railers) do a RRobots tournament, everyone jumped of joy!

LatersAfter all this, some people, including Carl, Mat, Camillo, Mathieu, JF, Francois and me got together and grabbed a bite somewhere (I don’t remember where, I was drunk) we had mind blasting discussions and time passed faster then your last vacation.

If you didn’t come because there was no place left, you’ll be happy to know that the next Montreal on Rails is gonna be at our StandoutOffice (if everything goes well on that side). If you come, not only will you be among the most talent web developers in Montreal, you’ll also see where I work ! Oh, how exciting ! Maybe I’ll even let you sit on my chair, but don’t you touch my beautiful thin Apple keyboard or I’ll hit you on the head with my Mighty Mouse!

Thanks to all the people who make this happen!

Update: Heri wrote a better report then mine, (he was not drunk).

DemoCampMontreal4 Follow-up

Once again DemoCampMontreal was fun, entertaining, energizing, cool, refreshing, techy, geeky, branché, nice, brilliant, awesome, instructive, pleasant, crowded, webish, tendance, crowded and tonight.

BrainCuts

First presentation was by a company called Categorical Design Solutions. I’m sorry to say things started pretty bad when they showed slides claiming they’re creating the web 3.0… Plus on their site there’s a web 2.0 sticker!!! OMG11!!^^lolZ! (Web 2.0 is for social web apps BTW). Then they presented a web app allowing exploration of the “semantic web” in a Explorer style UI, although we didn’t saw where that data came from. Then, they demoed an app built on top of it looked like an old 3D Desktop attempt by Microsoft I remember seeing. Maybe I missed something ’cause I was really confused (and shocked by the web 3.0 thing) after all this!

PodBean

logoNext was David Xu of Podbean a Podcast hosting, Social Subscribing site. It make brain-dead easy for people to create and publish a Podcast, even a paying one. He showed lots of stuff! I think part of it is a Worpress plugin… He’s currently studying at Mc Gill and building this part time, impressive. It seems to have lot of content already, I don’t know since when it exists, forgot to ask him.

ClixConnect

ClixConnectThen, Mitch Cohen presented ClixConnect. He’ve talked to me about it before but I was really happy to see it live with explanations. It’s a chat service that can be added to a company web site to support visitors. It’s like phone support but with a chat pop-up window. Supposedly support personnel have a super secret and cool UI to work with effectively. I’m not sure pop-up is a good thing, but like he said, this is not for everyone and you can pop the chat window by clicking a button instead.

IronRuby and Ruby autocompletion

IronRubyJosh of YashLabs took us through the heart of IronRuby and showed how he fixed a major bug in it! John Lam even replied to his blog post saying this was a bit embarrassing to him… He then showed how he implemented autocompletion for Ruby on E the text editor. Fairly interesting!

url_pipe

Daniel closed the event with url_pipe. A (soon to be) open-source and geekier version of Yahoo! Pipes. He demoed a grep, contains and geocode RSS filters that output another RSS feed that can be then passed into other webservices (such as Google Maps) or used in other filters. Although filter chaining didn’t work when he presented it, he said it will be like a command line on the web with something like this:
geocode http://.../myfeed.rss | grep -expression cool.

I met a couple of new people and talked with lots of interesting people, hope to see you there next time!

How was Montreal on Rails ?

Me pretending I know what I'm talking aboutMontreal on Rails was a big success yesterday. I think my presentation went well too, I got lots of good feedback, thank you all! You can get the famous slides here, the code here and the plugin here.

Carl presentation on HAML was uber cool, I’ll give it a shot soon no doubt, the outputted HTML is so sexy. Thanks Carl for showing this!

I met many new cool people too, Alain, Mathieu, David, Francois, Josh and many more. The usual suspects were there too, James, Daniel, Gary, Fred, Heri, J-F, Fred B. ! I hope you all enjoyed this event as much as I did! Look out for the next one next month. Or see you next week at the Entrepreneur Breakfast.

A big thanks to Carl and Mat for organizing this and letting me shamelessly plug my blog, projects and standoutjobs.com in my presentation, you’re the best!

Any feedback on my presentation is greatly appreciated, or if you have any suggestion or comment about the event, please post them on the event blog, Mat is looking for some feedback.

Update
Heri has some photos and Josh has some videos.

Montreal on Rails tomorrow

The most amazing event to ever occur in the Montreal Rails community’s history is about to happen tomorrow!

And I think there’s ONE place left (maybe more on eBay, haven’t checked)!

http://upcoming.yahoo.com/event/219916/

Where were you Tuesday, August 7, 2007 ?

Also checkout this cool video of Fred interviewing superstars at Silicon Valley!


(via soj blog)

Wow! I got the same t-shirt, feels like I was there too!

MontrealDemoCamp3 follow up

Yesterday I went to MontrealDemoCamp3 with Daniel and Gary. As usual the room was full and the demos were amazing!

Vinismo

Nicolas Ritoux and Evan Prodromou were first and presenting their project Vinismo. It’s a wiki about wines. Already in french and english. They’ve put lots of content in the wiki: the rules, community page, help pages, etc. and left the fun part, filling the wine description page, to the users. It was built on the MediaWiki engine, upgraded with some plugins to allow OpenId authentication and semantic markup on wine description pages.

They clearly won the public, especially when they announced they brought 6 12 (surprising, I’ve only seen 6 of them… thx Even) bottles of wines to celebrate their launch!

WorkCruncher

Heri was next, with WorkCruncher. It’s a todo list manager merged with Twitter style sharing features. But the main “feature” that caused lots of controversy was that WorkCruncher deletes all your items at the end of the day. So you start each day with an empty list. I’m really not convinced this is a good thing, as a fan of David Allen GTD, your list should be there to free your mind. But Heri says he’ve been using it for some time and it truly boosted is productivity.

A private beta if going on, register at http://workcruncher.net/.

Defensio

Finally! I got the see Defensio in action! Carl Mercier and Mat Balez were presenting their WordPress plugin and comparing it to Akismet. It sorts spam by Spaminess, so it’s faster to find false positives (good comments marked as spam). They showed some stats from Ben’s blog which I don’t remember and have no idea what’s the average efficiency of a spam filter, but it was like 98.9% 99.5% (even higher then I tought, thx Carl).

But! The greatest surprise to me was that, the WordPress plugin is built on top of a clear and simple API. Which is by far better then Akismet’s. You have choice over XML and YAML for the output format and it’s free for small project. So blog comment spam is only their initial target. I can’t wait to see with what they come up next: Facebook wall spam filter? Twitter spam filter? Rails plugin acts_as_defensio (oh that would be cool!) ?

Building a counter-clock

Simon Law was next with a live performance.
He tried disassembling a clock to make it go backward. Simon explained some details on how tipical today clocks are built compared to earlier, more expensive clocks. It didn’t worked, well almost. He fixed it during the following presentation and it worked. It was a breath of fresh air from the typical style of presentation. It was, like he called it, an artistic performance. Really great and entertaining!

Private flight planner

Jerome Paradis followed. He presented a project aggregating private flights data onto Google Maps. You could see the travel paths of each flights, planned ones in blue and live ones in green. He got the data out of emails… that’s right emails! Seems that people using this have a strict jargon when writing them, so he’s able to parse all this and end up with some useful results. They’re planning to make this a public service soon. As of now, this is strictly restricted to rich people using private jets. In which case, Jerome said, this service can help them share flights with other business people, save money and make some more by meeting other rich people. Great, where do I start ?

Also, I had the great pleasure to talk with Martin Dufort from Kakiloc, Mitch Cohen from ClixConnect, Mark Schanzleh and Amélie Racine from StayNomad, Philippe K. Chrun from MyCarpoolStation, Alexander Fedorowicz from Oracle and several other ones.

If you missed this one, be sure to put DemoCampMontreal4 on your agenda right now! Daniel will be presenting, you do not wanna miss that.

Next Page »


RefactorMyCode.comrefactorer Recommend Me

Top Clicks

  • None
Top Blogues page counter Add to Technorati Favorites

Blog Stats

  • 84,420 hits