FOSSLC is a non-profit organization that specializes in technology and know-how to record conferences with excellent quality. Click on the icons below to view great videos from communities we are actively involved with:



Content related to the Ruby programming language.

Test Driven Development web development with postgres or mysql.

in How To, SC2011, MySQL, PostgreSQL, Python, Ruby
Michael Richardson

Test Driven Development is about writing the test cases first, and then writing the code.  To use this method, a programmer needs to actually be able to quickly write test cases.

Web site development falls into two flavours: legacy development is where your only tool for testing is a browser, and modern development using some kind of systematic unit testing such as occurs with Django or Ruby on Rails.   Rewriting an application into a modern framework is not always an option, and one can be stuck with an older language with poor support, or an older application with no framework.

Even with frameworks, it is often difficult to test web services applications where there are multiple web servers necessary.

This talk presents some fast ways to get testing up and running, and to separate oneself from endlessly reconfiguring the database servers on your development platform.



Data Literacy

in Entrepreneurship, Open Data, SC2010, Ruby, Web Programming


Ottawa, ON
79° 14' 29.6232" N, 16° 31' 24.3768" E

The Open Data movement is picking up steam in a big way. Some government or NGO seems to announce plans for full transparency every week. Then you've got a guy like Rob McEwen creating billions of dollars of wealth when he decided to open source his gold mining company's geological data. Still, data today is like the web was in 1995... all over the place. We need a data commons: a place for people to discover, consume, contribute, discuss and purchase data. This talk discusses how such an infrastructure could work, and how we must bring tools for working with data to non-technical individuals.

Pete Forde

PostgreSQL as a secret weapon for high-performance Ruby on Rails applications

in PGCon, PGCon2010, Programming, PostgreSQL, Ruby


Ottawa, ON
45° 24' 41.6592" N, 75° 41' 53.4984" W

This session will cover lessons learned about Ruby on Rails development using PostgreSQL. From the database-centric view the session will explain Rails best practices, taking advantage of RoR strong points, dealing with its weak points, PostgreSQL strong and weak points, and using advanced SQL features in web applications. The session will demonstrate how PostgreSQL is used to speedup Rails code, making slow things in your web application fast and impossible things - possible. The session will also discuss the peculiarities of complex enterprise apps and show that PostgreSQL is an ideal open source match for their development.

Topics covered will include:

Our experience with Ruby on Rails and PostgreSQL combo:

    * performance characteristics of Ruby applications
    * Rails advantages
    * PostgreSQL advantages

How to optimize Rails with PostgreSQL:

    * doing as much as possible in SQL
    * preloading attributes and associations
    * using Postgres' arrays for even faster preloading
    * generating and executing SQL queries instead of manipulating data with ORM

How to optimize Rails application by moving logic to the PostgreSQL database:

    * efficient trees
    * efficient pagination
    * efficient access control system with roles and privileges
    * efficient data analysis and aggregation

How to deal with PostgreSQL limitations:

    * optimizer forcing subselects for the whole result set despite limit/offset
    * optimizer not being able to estimate the resulting set size of the generate_series() function call
    * "in" in where conditions forcing joins
    * need for pushing down conditions in certain cases
    * avoiding on-disk sorts
    * selecting records holding group-wise maximum without windowing functions (pre 8.4)
    * using "not exists" as a cure to bad performance of "not in" conditions

How to make your database faster:

    * improving shared database performance under severe memory restrictions
    * realistic explain analyze
    * Postgres-specific performance tips

How to keep your database and application robust:

    * getting the right compromise between ORM and the database
    * best practices for database schema development and maintaining data integrity
    * performance testing and benchmarking
    * performance monitoring

Gleb Arshinov
Oleksandr Dymo
28 Mar

Top 25 worst programming mistakes

in Education, gcc, Programming, Java, Python, Ruby, Web Programming

Recently I blogged about some great research pertaining to teaching programming. It was particularly interesting since it indicated that the most common way of teaching programming today was likely wrong. Another good article crossed my desk recently that was worth sharing.