OctConf 2012

From Octave
Jump to navigation Jump to search

OctConf 2012 brought together users and developers for five days in July in the French Canadian summer.

Please email Jordi (jordigh@octave.org) if you think you could attend. Also write your name below in the Participants section if you think of attending with high probability.

Info icon.svg
in order to give you wireless access during the conference, our host university requires your name and address 3 weeks in advance to the conference date. Email this information to Jordi so he can make arrangements.
OctConf 2012 poster


Montréal, Québec, Canada[edit]

Montréal is lively city with English and French widely spoken plus many other minority languages. Most business can be conducted in either language. It has four large universities, two Anglophones, McGill, Concordia; and two Francophones: Université du Québec à Montréal (UQAM), and Université de Montréal. The Centre de Recherches Mathématiques (CRM) is a mathematical centre that brings together researchers from all four universities and many others from Montréal and Canada.

The Montréal summer can be quite hot and humid with some chance of rain. The city has a very serviceable public transportation network of buses and underground trains (metro), so it is convenient to get around without renting a car.


The CRM will be offering its Université de Montréal facilities for the conference. There is a metro station named after the eponymous university that reaches it.

The CRM is located on the 5th floor of the Pavillon Andre-Aisenstadt on the campus of the Universite de Montreal. See building #20 on the campus map.

The meeting will be held in room 5340 (5th floor, Andre-Aisenstadt building). Registration will take place on Monday morning, July 16, from 08:30 to 09:00, in room 5345. Information will then be available daily in room 5345, from 9:00 to 11:30 and from 14:00 to 16:00.

Coffee breaks will be served in room 4361 (4th floor, Andre-Aisenstadt building).

How to get there[edit]

The reference street address is:

Centre de recherches mathématiques
Université de Montréal
Pavillon André-Aisenstadt
2920 Chemin de la tour, room 5357
Montréal (Québec)
H3T 1J4

Take your flight to the Montréal-Pierre Elliott Trudeau International Airport.

From the airport, you can either take a cab to any location in the city, which is 40 CAD, or you can take the public 747 express bus, which is 3 CAD. It will take you to the Lionel-Groulx metro station, from which you can continue your travel with the same ticket (it's valid for 2 hours). The metro system is relatively simple to navigate, and bus schedules are posted online and near metro stations.

Starting on Monday, you can get a weekly bus and metro pass for 23.50 CAD. This is highly recommended, as it gives you access to all of the public transportation network within the island of Montréal.


There are several hotels and cheaper lodging in Montréal. Additionally, the universities McGill University, Université de Montréal) offer dormitory-style lodgings. The CRM also has more suggestions. Participiants need to make their own lodging arrangements.


July 16-20, 2012. First two days are intended for newbies and casual users, who may possibly be interested in getting involved in development. Next three days are for code sprints and development. Participants are encouraged to attend for all five days, but may choose only the first two or last three as convenient.


Monday Tuesday Wednesday Thursday Friday
08:30 Coffee & croissants Coffee & croissants Coffee & croissants Coffee & croissants Coffee & croissants
09:00 Talk — What is Octave? (Jordi) Talk — Octave's source layout (Jordi) Talk — State of the Octave (jwe) Open presentations Presentation — Cell arrays (Daniel)
10:00 Coffee break Coffee break Coffee break Coffee break Coffee break
10:30 Tour de table and installations Talk Talk — Cell arrays (Daniel) Talk Talk
11:30 Tutorial 1: Working the REPL Tutorial 3: Writing oct files Talk — Octave and JIT compiling (Max) Talk — The Octave GUI (Jacob) Talk — Least squares spectral analysis (Ben)
12:30 Lunch Lunch Lunch Lunch Lunch
14:30 Tutorial 2: m-scripts and vectorisation Tutorial 4: Working with dev tools Exercises and code sprints Exercises and code sprints Exercises and code sprints
15:30 Coffee break Coffee break Coffee break Coffee break Coffee break
16:00 Code sprints Code sprints Code sprints Code sprints Code sprints
17:00 Status reports Status reports Status reports Status reports Status reports
18:00 Social event

Some specifics:


Introductions, "What is Octave?" talk for a general audience (advertise this a lot in the local scientific computing and engineering communities). Helping with Octave installations, presentations about basic Octave use.


More advanced Octave use, including calling Octave from C++ code. Minimum C++ knowledge necessary expounded. How to work with development tools (reading the Octave source code, using Mercurial, bug and patch trackers, mailing lists, IRC).

Social event during evening.


State-of-the-Octave address. Identify problems to work on, pair off and start working on those problems. Code sprints.


Reports of results of the previous day. Tech talks if necessary. More code sprints.


Reports. Last code sprint. Farewells.

Suggestions for Sessions[edit]

Code sprints and informal discussion will happen every day. The following are topics of interest for these sessions.

Avoiding Maintainer Burnout[edit]

Or, if we can't find ways to avoid burnout, can we find ways to ensure that no maintainer tasks are the responsibility of a single individual. That way, there is someone available to handle the task even if a maintainer drops out of sight from the project.

Socializing Octave[edit]

To increase the visibility of GNU/Octave to a wider audience, we could create profiles in several social networks. There are ones based on proprietary software (G+, twitter, facebook) and others free, like identi.ca. We should discuss the perspectives of using them. Perhaps we could invite Evan Prodromou to the discussion. He lives in Montreal.

Clean up Bugs[edit]

Code sprint to clean up the bug tracker. This would include identifying and closing duplicates, as well as re-qualifying "bugs" that represent feature requests, and closing reports that aren't actually bugs.

Cross-platform FLTK Bugs[edit]

Developers using Linux, MacOS, and Windows cooperate to fix FLTK bugs. This represents an important effort toward changing the default graphics toolkit from gnuplot to FLTK. See bugs #31518, #31976, #32134, #32276, #34720.

Code Sprint for the Wiki[edit]

Define an effective organizational structure for the new wiki, and clean up the existing content.

Matlab compatibility[edit]

Comparison of functionality between Octave and Matlab (what is the same, what is close, what is either different or significantly slower).

Here are some major features and classes of functions that are present in core Matlab but not Octave. Some are currently under development in Octave, but most are not (at least that I know of)

  • Classdef classes (handle and value)
  • Packages (+dir names in the load path)
  • containers.Map class (handle class)
  • InputParser class (handle class)
  • MException objects (handle class)
  • cdflib interface (package)
  • netcdf interface (package)
  • hdf (4 and 5) functions (packages)
  • Camera viewpoint functions
  • Volume visualization
  • Foreign function interface
  • Java interface
  • COM and Active X
  • .NET
  • Serial port device functions


Availability and operability of profiling tools for Octave.


Availability and operability of GUI interfaces to Octave.

64-bit indexing[edit]

64-bit indexing for extremely large arrays.

Related to this topic, support for large files.

Octave and Octave-Forge[edit]

Discussion of what belongs in Octave Core and what is a package or toolbox. Discussion about minimum functionality for Octave Core.

Parallel computing with Octave[edit]

Tools available, techniques for parallelisation.

Octave distribution[edit]

Making Octave updates trivial for maintenance in large scale computing infrastructures. Octave binary for OS X. What should be included in an all-in-one installer? What versions of OS-X can/should be "supported"? Octave binary for Windows. What should be included in an all-in-one installer? What versions of Windows can/should be "supported".

We have a good relationship with Debian and Fedora maintainers. Not so much other GNU/Linux distriubtions. Can we improve our relationships with others? How?



There is limited funding to cover the travel expenses of selected participants.

Pictures from The Conference[edit]

Here are some pictures from OctConf 2012