Page 2 of 2

Previous page

Notes for KWLUG January 2016: Mageia & Taxes

Marc Paré presented on the Mageia linux distribution and talk about doing Canadian taxes using Linux and Wine. These are some of my notes from the night:

Special mention: I was really impressed with Marc's organization. He started a Mageia install, then flipped to a finished install, then showed off some tax preparation, and finally returned to the first machine after the install had finished. Very smooth.


  • Mageia is a community distribution forked from Mandriva
    • seems to be a similar relationship as between RedHat and CentOS
  • mentioned Rosa, which is also derived from Mandriva
  • Mandriva had a difficult time when Ubuntu come out and never really recovered
  • Mandriva devs moved on to establish Mageia, as a community driven distribution
  • Marc participated in the founding help writing their mission statement, and continues to help out with QA
  • various architectures are supported
  • although, they will be scaling back this support a bit for the next release
  • Marc does tech support for about 40 people, who wanted to leave the Windows and he has successfully used Mageia for them
  • he uses separate root and home partitions
    • keeps the OS in one place
    • makes it easy to format and re-install root, without loosing home data
    • has found it easier to recovered the data in home this way
  • uses TeamViewer to remotely access his clients machines
  • installs the default KDE and LXDE as a fall back
  • version 6 of Mageia is supposed to be release in 2 months
  • MCC(Mageia Control Centre) has been very successful for Marc's clients
  • MCC makes it straight forward to add remote repositories after doing an install from CD
    • core and non-free are auto-selected
    • tainted repos are for packages that could have legal issues (mostly from a French point of view, as that is where the majority of Mageia's developers are located)
  • some of the package that Marc installs during an install
    • mplayer
    • wine
    • flash
    • faad
    • comes from the tainted repository
    • livdvdcss2
    • used to be installed by default but recently moved into tainted
  • Marc mentioned an issue about people accidentally moving or re-configuring this, which can cause confusion
    • I wonder if KDE can have its configuration locked down
  • Marc suggested leaving network update of packages until after the initial install is finished

Tax Filing on Linux

  • Marc is the UFile in Wine maintainer, and is currently working on some issues in the 2015 release
  • Ufile has been friendly to Marc's Wine related requests in the past, but have seemed less interested recently. Perhaps related to their push to the web, instead of the desktop client?
  • it has been necessary to install Microsoft fonts so that everything will be displayed correctly
  • CRA has a legal limit of 20 returns for a non-professional
  • apparently Canada has a 90% tax payment compliance rate, Australia in comparison has 60%
  • Wine packages are updated pretty quickly for various distributions, so fixes will show up pretty quickly

Some comments from the audience

  • StudioTax is a free tax package, mentioned from the audience
    • Marc mentioned that it is maintained by some ex-CRA employees located in Ottawa
    • also appears to be supported in Wine but does not seem to have a current maintainer
  • ProFile which is an example of software for Canadian tax professionals

Notes for KWLUG December 2015: GNUSocial

Bob Jonkman presented on GNUSocial at the KWLUG on December 7 2015 meeting. These are some of my notes from the night, mostly on topic:

  • during the intro Jeff mentioned that Let's Encrypt has gone into beta and he installed it on some of his own servers
  • GNUSocial is implementing various OStatus protocols
  • is there a GNUSocial docker image?
  • can WebFinger or OpenId be implemented on a static web site?
  • various options for publishing avatar images
  • Evan Podromo the creator of, which became StatusNet, which has now been folded into GNUSocial
    • he also started the service
    • what is he working on at the moment? is company E14N is still operating
  • Bob showed off the poll type post in GNUSocial, had anyone defined a poll microformat for IndieWeb?
  • Bob was asking about whether there was any interested in setting up a GnuSocial server for KWLUG
    • what would we do with it, and how many of use would participate?
    • would CCJClearLine be willing to host this, in addition to the regular website?
    • would one of the one-time cost CloudAtCost servers work for this?
  • there are other clients which can communicate with GNUSocial 2 were mentioned:

OPTIONS HTTP Method in Ruby on Rails

The HTTP protocol includes the OPTIONS method, which does not seem to be widely used, but along with the Access-Control-Allow-Methods can allow a HATEOS API to hint what capabilities are currently available. A client using this API can now choose what to present to the user based upon which HTTP methods which are available and building create or update forms based upon the templates.

Additionally, according to the HTTP spec the OPTIONS calls must not be cached. Hence the content of the API could be cacheable while still allowing access controls to be indicated in the uncacheable OPTIONS headers and documents.

OPTIONS is not a method that Ruby on Rails supports by default but it can be made to work with appropriate routes and appropriate Controller class.


Api::Application.routes.draw do
  resource :resources
  match '/resources'     => 'resource#collection_options', via: [:options]
  match '/resources/:id' => 'resource#options', via: [:options]


class ResourcesController
  # Collection endpoints #######################################################
  before_filter :only => [:index, :collection_options] do
    headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'

  def index; end

  def collection_options
    render(json: {
      creation_field_with_options: [
        {val: 'value1', label: 'Value Number One'},
        {val: 'value2', label: 'Value Number Two'},

  # Resource endpoints #########################################################
  before_filter :except => [:index, :collection_options] do
    headers['Access-Control-Allow-Methods'] = 'GET, PUT, DELETE, OPTIONS'

  def show; end
  def delete; end
  def update; end

  def options
    render(json: {
      update_field_with_options: [
        {val: 'value1', label: 'Value Number One'},
        {val: 'value2', label: 'Value Number Two'},

You can check the output of your endpoints with the following commands:

curl -v --request OPTIONS http://localhost:3000/resources
curl -v --request OPTIONS http://localhost:3000/resources/1111

in which should should see the allowed method heads and the JSON documents describing the allowed field data.


Second Post

...and its still neglected.

But for now I have an update to my resume and made a small improvement in style. I have also added a wiki section, where I am hoping to start putting some of my notes and research that can be public. But we'll start with some recipes.

I still have not put in the time to get ikiwiki really doing what I want. Either I need to dig in to it, or seriously consider another website platform. Jekyll or Octopress might be interesting possibilities.

We'll leave that for another time.

First Post

Time to start my long neglected web presence.

My name is Andrew Sullivan Cant. I am a software developer living and working in Kitchener-Waterloo.

I am an avid user of free and open source software and involved with various Free/Open software groups in area. This website is going to be a place to tie together my various points of presence on the web, and to start publishing some of the things that I am experimenting with.

Experiment #1: I am publishing this homepage using the ikiwiki wiki compiler. From ikiwiki's website:

Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website. Ikiwiki stores pages and history in a revision control system such as Subversion or Git. There are many other features, including support for blogging, as well as a large array of plugins.

I am still learning ikiwiki's features and how to arrange things to my liking. So expect changes for the moment.

Finally, the site also gives me a place to put my resume. If you are an employer in the KW area looking for a programmer who likes to solve problems by integrating and extending open source software please contact me at